Skip to content

Attempts start with the target's research memory - #191

Merged
renmengye merged 6 commits into
mainfrom
feat/findings-memory
Aug 29, 2026
Merged

renmengye merged 6 commits into
mainfrom
feat/findings-memory

Conversation

@renmengye

Copy link
Copy Markdown
Member

Summary

Reports were archived on the research-log branch but nothing read them back — agents re-tried yesterday's Muon negative this morning. Now:

  • A fresh attempt fetches the branch and reads reports/ (newest first). Fail-soft: no branch or no network is an empty memory, never a dead attempt.
  • The brief inlines the newest reports (existing caps) with a standing instruction: do not repeat an experiment a report already settled; build on it or contradict it with a reason.
  • The full texts are materialized at .autoresearch/reports/ (bounded at 30; names sanitized — branch content is remote-controlled).
  • syscall reports = summary list, one line per report (name + Outcome); syscall reports <name> <name> … = full reports, several in one call.
  • Cross-cluster: any kernel climbing the target reads the same branch, so findings sync through GitHub with no new infrastructure. Dev plan (tiers, EmpireAI, non-goals) added to docs/roadmap.md.

Test plan

  • ruff, format, mypy, pytest (881 passed)
  • Fetch: newest-first, count cap, no-branch → empty; archive: traversal names skipped
  • CLI: summary order, multi-name full view, wrong name fails with the remedy, missing archive explains itself
  • Brief: pointer rendered only when reports exist
  • Review rounds; then watch a Torch attempt start with the memory

🤖 Generated with Claude Code

renmengye and others added 2 commits August 29, 2026 09:11
Reports were archived on the research-log branch but nothing read them
back: agents re-tried yesterday's negatives this morning. A fresh attempt
now fetches the branch (fail-soft: no branch, no network — empty memory,
never a dead attempt), the brief inlines the newest reports with a
standing instruction not to repeat settled experiments, the full texts
land in the channel archive, and `syscall reports` lists them one line
each or prints full reports, several per call. A second cluster's kernel
reads the same branch, so this is also the cross-cluster findings sync;
the dev plan for cross-cluster deployment is in the roadmap.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A failed attempt is not a dead idea: one point in a parameter space, a
walltime kill, or an infrastructure failure closes nothing. The memory
section now says what a report settles and what it leaves open.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 1 — reviewed head 27164b60 — reviewer summarizer:hermes/gpt-5.6-terra over coverage+credentials+deployment+general+lifecycle+prose.

terra
Advisory findings from autoresearch — the code owner decides. Reply to disagree; the autoresearch:no-review label opts this PR out.

Verdict: 1 blocking, 3 advisory.

4 findings attached to the lines below.

Blocking: syscall installation deletes the fetched report archive before an author session can use it (coverage, credentials, deployment, general, and lifecycle agree). Suggestions: make the archive test reproduce the production ordering; ensure the advertised reports command exists for every advertised path; and bound each remotely sourced report. Rejected findings: none; the five identical archive-loss opinions were merged as one finding rather than dropped.

Comment thread src/autoresearch/attempt.py Resolved
Comment thread tests/test_attempt.py Resolved
Comment thread src/autoresearch/attempt.py Resolved
Comment thread src/autoresearch/attempt.py Resolved

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 1 — reviewed head 27164b60 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from autoresearch — the code owner decides. Reply to disagree; the autoresearch:no-review label opts this PR out.

Verdict: 1 blocking, 0 advisory.

1 finding attached to the lines below.

The full report archive is removed during setup, so the advertised report reader cannot access it.

Comment thread src/autoresearch/attempt.py Resolved
The syscall installer recreates the channel dir it owns, so the archive
is written after it (it was deleted on every author-syscall attempt);
the test now exercises that order. The brief advertises the reports
command only when the tool is installed; reports still inline without
it. Each fetched report is capped at 100k characters — the branch's
content is remote-controlled.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 2 — reviewed head f535e1b4 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from autoresearch — the code owner decides. Reply to disagree; the autoresearch:no-review label opts this PR out.

Verdict: nothing blocking — 1 advisory note.

Advisory (non-blocking):

  • Nested report paths can overwrite another archived report. The fetch flattens every remote reports/*.md path to its basename, so reports/root.md and reports/nested/root.md both become root.md and the later write replaces one full report in the archive. (src/autoresearch/attempt.py:158; high confidence)

Nested report paths can overwrite an archived report.

…n onto another report

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 3 — reviewed head c56916f0 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from autoresearch — the code owner decides. Reply to disagree; the autoresearch:no-review label opts this PR out.

Verdict: nothing blocking — 1 advisory note.

1 finding attached to the lines below.

A new brief-only input is silently ignored on resume.

Comment thread src/autoresearch/orchestrator.py Resolved
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 4 — reviewed head 048c6a10 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from autoresearch — the code owner decides. Reply to disagree; the autoresearch:no-review label opts this PR out.

Verdict: 1 blocking, 0 advisory.

1 finding attached to the lines below.

The archive size cap is applied after the remote blob is already read.

Comment thread src/autoresearch/attempt.py Resolved
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 5 — reviewed head f5f93c31 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from autoresearch — the code owner decides. Reply to disagree; the autoresearch:no-review label opts this PR out.

Verdict: 1 blocking, 0 advisory.

1 finding attached to the lines below.

The new reports pointer is workspace-relative, so it fails under Hermes.

Comment thread src/autoresearch/brief.py Resolved
@renmengye
renmengye merged commit 81aa73d into main Aug 29, 2026
9 checks passed
@renmengye
renmengye deleted the feat/findings-memory branch August 29, 2026 14:44

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 6 (re-run on the same head) — reviewed head f5f93c31 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from autoresearch — the code owner decides. Reply to disagree; the autoresearch:no-review label opts this PR out.

Verdict: no defects found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant