chore(agents): restore evidence sharing after the asset purge #61

Merged
fabi merged 1 commits from chore/agent-evidence-sharing into main 2026-09-20 15:09:44 +00:00
Owner

Issue #49 removed game assets from git. It also, silently, removed the only transport the agents had for showing each other evidence.

Each agent works in its own clone (sylpheed-decoder-repo, sylpheed-port-repo), so "commit the screenshot, the other one pulls it" was the mechanism — and PROTOCOL.md's file table said so outright:

| evidence cited by a finding | git | it is the proof |

🔴 That row sat directly above "Never commit game content". The two contradicted each other for months and the table won, because it was the one that told you what to do. That is how 76 MB accumulated.

What replaces it

One host directory, Sylpheed/docs/re/captures/, bind-mounted read-write into both agents at /work/docs/re/captures. Host, decoder and port all see the same files live, every docs/re/captures/... citation resolves, and nothing can reach git history. Read-write on purpose — showing each other a screenshot is the point.

The table is rewritten:

evidence goes to
cited by a finding (screenshot, frame, savegame) docs/re/captures/present, never committed
a measurement you derived (csv/tsv/txt/log/json) git — our numbers, not game content
must cross machines attached to the issue or PR — a bare clone has no captures

Verified, not assumed

Container A wrote a .png there; a separate container B read it back; the host saw it; git status reported 0 changes; git check-ignore named the rule.

The checker was red on every clean checkout

A fresh clone, worktree or CI run has no captures, so it called all 134 citations dangling and exited 1. A gate that is red before anyone changes anything is one people learn to ignore — the exact failure this file already carries a comment about.

It now distinguishes "no captures here" (expected; explains itself; exit 0) from "these are missing" (real; exit 1; unchanged when assets are present). Both paths tested, selftest still 8/8.

Also

  • sylph-decoder no longer mounts xenia-rs — retired repo, deleted from disk, the mount pointed at nothing.
  • CONSOLIDATION.md closed. It still described captures as committed and the history fork as undecided; both are settled, and it now says where it is deliberately out of date.

⚠️ Worth knowing: the agent volumes were all deleted in the 2026-09-18 cleanup and Docker recreates them empty. Nothing was lost (both clones verified clean, exchange held only spent artefacts), and the empty *-claude volumes mean the next launch starts a fresh session — the documented workaround for the "resumes the old brief" defect.

Issue #49 removed game assets from git. It also, **silently, removed the only transport the agents had for showing each other evidence.** Each agent works in its **own clone** (`sylpheed-decoder-repo`, `sylpheed-port-repo`), so "commit the screenshot, the other one pulls it" *was* the mechanism — and `PROTOCOL.md`'s file table said so outright: > \| evidence cited by a finding \| **git** \| it is the proof \| 🔴 That row sat **directly above** "Never commit game content". The two contradicted each other for months and the table won, because it was the one that told you what to *do*. That is how 76 MB accumulated. ## What replaces it **One host directory**, `Sylpheed/docs/re/captures/`, bind-mounted **read-write into both agents** at `/work/docs/re/captures`. Host, decoder and port all see the same files live, every `docs/re/captures/...` citation resolves, and nothing can reach git history. Read-write on purpose — showing each other a screenshot is the point. **The table is rewritten:** | evidence | goes to | |---|---| | cited by a finding (screenshot, frame, savegame) | `docs/re/captures/` — **present, never committed** | | a measurement you derived (csv/tsv/txt/log/json) | **git** — our numbers, not game content | | must cross **machines** | **attached to the issue or PR** — a bare clone has no captures | ### Verified, not assumed Container A wrote a `.png` there; a **separate** container B read it back; the host saw it; `git status` reported **0** changes; `git check-ignore` named the rule. ## The checker was red on every clean checkout A fresh clone, worktree or CI run has no captures, so it called all **134** citations dangling and exited 1. A gate that is red before anyone changes anything is one people learn to ignore — the exact failure this file already carries a comment about. It now distinguishes **"no captures here"** (expected; explains itself; exit 0) from **"these are missing"** (real; exit 1; unchanged when assets *are* present). Both paths tested, selftest still 8/8. ## Also - **`sylph-decoder` no longer mounts `xenia-rs`** — retired repo, deleted from disk, the mount pointed at nothing. - **`CONSOLIDATION.md` closed.** It still described captures as committed and the history fork as undecided; both are settled, and it now says where it is deliberately out of date. ⚠️ Worth knowing: the agent volumes were all deleted in the 2026-09-18 cleanup and Docker recreates them empty. Nothing was lost (both clones verified clean, exchange held only spent artefacts), and the empty `*-claude` volumes mean the next launch starts a **fresh** session — the documented workaround for the "resumes the old brief" defect.
fabi added 1 commit 2026-09-20 11:13:19 +00:00
chore(agents): restore evidence sharing after the asset purge
Some checks failed
CI / Native — linux (pull_request) Failing after 5m14s
CI / WASM — Web (pull_request) Successful in 36m12s
CI / Formatting (pull_request) Successful in 1m40s
46ee0d7f78
Issue #49 removed game assets from git. It also, silently, removed the only
transport agents had for showing each other evidence: each agent works in its
OWN clone, so "commit the screenshot, the other one pulls it" was the mechanism,
and PROTOCOL.md's file table said so in as many words -- "evidence cited by a
finding -> git". That row sat directly above "🔴 Never commit game content",
which is how 76 MB accumulated: the two contradicted each other and the table
won, because it was the one that told you what to do.

WHAT REPLACES IT

  * one host directory, `Sylpheed/docs/re/captures/`, bind-mounted read-write
    into BOTH agents at /work/docs/re/captures. All three -- host, decoder,
    port -- see the same files live, every citation resolves, and nothing can
    reach git history. Read-write on purpose: showing each other a screenshot
    is the point.
  * PROTOCOL.md's table rewritten. Cited evidence -> present but never
    committed; derived measurements (csv/tsv/txt/log/json) -> still git, they
    are our numbers not game content; evidence that must cross MACHINES ->
    attached to the issue or PR, because a bare clone has no captures.

Verified, not assumed: container A wrote a .png there, a SEPARATE container B
read it back, the host saw it, `git status` reported 0 changes, and
`git check-ignore` named the rule.

THE CHECKER WAS RED ON EVERY CLEAN CHECKOUT

A fresh clone/worktree/CI has no captures, so it called all 134 citations
dangling and exited 1. A gate that is red before anyone changes anything is one
people learn to ignore -- the exact failure this file already carries a comment
about. It now distinguishes "no captures here" (expected, explains itself,
exit 0) from "these are missing" (real, exit 1, unchanged when assets ARE
present). Both paths tested.

ALSO
  * `sylph-decoder` no longer mounts `xenia-rs` -- retired repo, gone from disk,
    the mount pointed at nothing.
  * CONSOLIDATION.md closed: it still described captures as committed and the
    history fork as undecided. Both are settled.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
fabi merged commit b0906f3ed6 into main 2026-09-20 15:09:44 +00:00
Sign in to join this conversation.