docs(agents): the plan to consolidate six repositories into two #29
Reference in New Issue
Block a user
Delete Branch "plan/consolidation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The ordered plan for the two-repo end state, with a gate after each phase.
docs/agents/CONSOLIDATION.md— 8 phases, and a ledger of what was run rather than reasoned.What the verification changed
Three findings a plan built on the obvious reading would have destroyed:
xenia-canaryhas two dirty files —file_input_driver.h(--pad_file_repeat) andxenia_main.cc— plus 4 unpushed commits onsylpheed-reand a branch,audit-handle-lifecycle-probes, contained in no remote. That patch is the instrument behind the repeat rate shipped in #27. Phase 0 exists for it, before anything else moves.4B/ui-perf,4C/jit,4D/parallel,4E/native-threads). Dropping the emulator is a decision; dropping work that was never pushed is a different act, done by accident. Phase 1 pushes them so that retiring them is honest.master, which last moved 2026-06-15. It's oniterate-4A/apu-xma-stage1, +22 commits, 2026-09-10.What was verified safe
mainagent-backups/(687 MB) redundantgit bundle list-heads, 23 refspi/*redundantgit patch-id --stablemainOn dropping
docs/re/captures/The measurement contradicted the premise. 193 of 257 files are cited by a page or opened by a tool, and two are fixtures
cargo testopens (title-screen-oracle.png,stage02-live-unit-definitions-deep.txt). 64 are orphans.So Phase 4 does the thing that was actually missing:
docs/port/*.mdhas had a citation check since day one anddocs/re/*.mdnever has. It already has 10 dangling citations, including whole directories. The check gets built, the citations get fixed, and only then are orphans dropped — otherwise the deletion silently ratifies every omission.And deleting reclaims nothing: the 118 MB is history, and the build depends on this repo by tag (
formats-pin-2026-09-01, pinned inCargo.lock). That's Phase 5's explicit fork, not a default.Three things left for you in the doc
Retention (all six repos are public, and 118 MB of game screenshots sit in one), the history-rewrite fork, and whether
ai-agent-*.md/scratch//_voice_span.rsare worth keeping.⚠️ Most paths in this doc don't resolve here yet — deliberately. They name the files being moved in, and each unresolved one is work outstanding. Said so at the top so a future citation check reads correctly.
PHASE 0 -- the single-copy work is secured. Canary 8e63a9542 commits the --pad_file_repeat instrument that had been uncommitted while the numbers it produced were already shipping in the port; sylpheed-re and audit-handle-lifecycle-probes pushed; all 14 local branches reachable. Two corrections found by running it: * There is no DirectXShaderCompiler gitlink drift. `git submodule status` shows no '+'. The ' m' is NESTED submodule dirt (DXC's own SPIRV-Headers and SPIRV-Tools), which is upstream's business. * The gate itself was wrong. It compared branches to remotes BY SHA and called seven safe branches unpushed -- a branch that is an ANCESTOR of a pushed branch is already preserved. It now tests reachability, which is what it meant. A check that goes red for something unactionable is the failure this repo keeps naming, and this page shipped one. PHASE 1 -- the four retiring xenia-rs branches pushed (32/52/56/59 commits). The loop is clean everywhere except pi/clippy, pi/clippy-clean and pi/reauth3, unreachable by ancestry and redundant by patch-id: the one case where the answer lives outside the gate. PHASE 2 GATE -- run, and it corrected this page in two directions. extract (xex2tractor, no -r) IDENTICAL to the project .pe extract -r (xex2tractor) differs -- 1,903 bytes over 273 runs extract (xenia-rs, iterate-4A) IDENTICAL, and .xex.json too Right: the .pe is an xex2tractor extract. Wrong: it was made WITHOUT -r. So the dependency this gate existed to protect does not exist -- the tool Phase 3 keeps already reproduces the file. -r drops from 'must port' to optional, with a warning that it must never become the .pe, since it writes into the image and would invalidate every byte-offset citation in docs/re/. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>Paused at six of eight phases. Everything is committed and pushed; nothing is left in a working tree. This comment is the handoff.
Done
8e63a9542,sylpheed-re+audit-handle-lifecycle-probespushed4B/4C/4D/4Epushed — 32/52/56/59 commits99cc72662Open
Phase 5 — archive the four repos. Re-run containment at that moment, archive read-only, and 🔴 do not delete any repository — archiving is reversible, deletion is not, and that is a separate decision. Nothing outside git needs migrating: issues, PRs, releases and wikis are zero in all four, verified.
Phase 7 — the drops. All verified, none done, because they are deletions on the human's disk:
agent-backups/687 MB (23 refs verified present here),Sylpheed/target32 GB,stock-oracle/34 MB, rootcanary_*.log15 MB, xenia-rsaudit-runs/57 MB, and the threepi/*branches whose four patches are onmainby patch-id.The history-rewrite fork is still open and still recommended against: the 118 MB is in history, and
crates/sylpheed-export/Cargo.tomldepends on this repo by tag.⚠️ Merge order
#32 contains #30 and #31 — its
build.rsneeds #30's export table. Merge those two first, or merge #32 and close them.⏳ One result outstanding: the workspace
cargo testcount for #32.check,clippy,fmt,wasmare all 0; the test leg was interrupted twice by branch switches and never reported cleanly.docker/ci/run cargo test --workspace.🔴 Four claims in this document were wrong, and are corrected in it
extract -ris not how the.pewas made and nothing depends on it.mis nested submodule dirt.The pattern matters more than the corrections: every claim that was reasoned turned out wrong, and every one that was run held. Phase 2's gate refuted its own premise, Phase 3's proved two alarming −1.8 M row deltas were an improvement, and Phase 4's check caught a deletion I had just made. The page now says to re-run the gates rather than trust the numbers recorded in it.