chore(tools): adopt the PPC manual and a canary launcher that works anywhere #34

Merged
fabi merged 1 commits from chore/adopt-orphan-assets into main 2026-09-15 19:46:48 +00:00
Owner

CONSOLIDATION.md Phase 6. Two things that lived untracked in the project root — on one disk, backed up by nothing.

tools/ppc-manual/     393 files, 3.7 MB — 455 instructions, 350 family pages,
                      598 mnemonics resolvable through index.json, + the generator
tools/run-canary.sh   the oracle launcher

🔴 The launcher is rewritten, not copied — it was broken twice over

  • it pointed at xenia-rs/sylpheed.iso, a symlink. Wine cannot resolve one and reports path invalid, which reads as a corrupt image rather than a path problem — that has cost a session before. It now points at the real file and warns if handed a symlink.
  • it hardcoded one machine's absolute paths and named xenia-rs, which this consolidation retires. Now derived from the script's own location, with SYLPH_CANARY_BIN / SYLPH_ISO overrides and an existence check on each.

The standing constraints are in its header where someone will actually read them: one emulator at a time, Canary runs muted, and never judge a crash or a hang from a Bash-launched run.

⚠️ The manual's generator has a stale input

generator/generate_manual.py reads xenia-canary/tools/ppc-instructions.xml and the xenia-rs source tree. That decoder now lives in this repo as crates/sylpheed-ppc (#32), so the generator must be repointed before it is run again. Recorded in the README rather than left to be discovered — the manual's content is checked in and nothing regenerates it implicitly.

Landed in the Canary fork, not here

docs/CROSS_BUILD_SETUP.md — the project root held a 59 KB version of a guide this repo tracked as a 6.8 KB stub. Committed to sylpheed-re as 99cc72662, with a note that its "audit oracle for the Rust port" framing predates retiring xenia-rs.

Still yours to decide

ai-agent-*.md ×4 (56 KB of tooling research), scratch/xbg7/extract.py (a clean-room XBG7 scanner superseded by sylpheed_formats::mesh), and _voice_span.rs (a 46-line untracked probe in the stale worktree). Keep or drop — I have left all three alone.

CONSOLIDATION.md **Phase 6**. Two things that lived untracked in the project root — on one disk, backed up by nothing. ``` tools/ppc-manual/ 393 files, 3.7 MB — 455 instructions, 350 family pages, 598 mnemonics resolvable through index.json, + the generator tools/run-canary.sh the oracle launcher ``` ### 🔴 The launcher is rewritten, not copied — it was broken twice over * it pointed at `xenia-rs/sylpheed.iso`, a **symlink**. Wine cannot resolve one and reports `path invalid`, which reads as a corrupt image rather than a path problem — that has cost a session before. It now points at the real file and **warns if handed a symlink**. * it hardcoded one machine's absolute paths and named `xenia-rs`, which this consolidation retires. Now derived from the script's own location, with `SYLPH_CANARY_BIN` / `SYLPH_ISO` overrides and an existence check on each. The standing constraints are in its header where someone will actually read them: one emulator at a time, Canary runs **muted**, and never judge a crash or a hang from a Bash-launched run. ### ⚠️ The manual's generator has a stale input `generator/generate_manual.py` reads `xenia-canary/tools/ppc-instructions.xml` **and the `xenia-rs` source tree**. That decoder now lives in this repo as `crates/sylpheed-ppc` (#32), so the generator must be repointed before it is run again. Recorded in the README rather than left to be discovered — the manual's content is checked in and nothing regenerates it implicitly. ### Landed in the Canary fork, not here `docs/CROSS_BUILD_SETUP.md` — the project root held a **59 KB** version of a guide this repo tracked as a **6.8 KB stub**. Committed to `sylpheed-re` as `99cc72662`, with a note that its "audit oracle for the Rust port" framing predates retiring xenia-rs. ### Still yours to decide `ai-agent-*.md` ×4 (56 KB of tooling research), `scratch/xbg7/extract.py` (a clean-room XBG7 scanner superseded by `sylpheed_formats::mesh`), and `_voice_span.rs` (a 46-line untracked probe in the stale worktree). Keep or drop — I have left all three alone.
fabi added 1 commit 2026-09-13 19:18:52 +00:00
chore(tools): adopt the PPC manual and a canary launcher that works anywhere
All checks were successful
CI / Native — linux (pull_request) Successful in 37m56s
CI / WASM — Web (pull_request) Successful in 28m5s
CI / Formatting (pull_request) Successful in 59s
6bdbf89ebc
CONSOLIDATION.md Phase 6. Both lived untracked in the project root -- on one
disk, backed up by nothing.

  tools/ppc-manual/   393 files, 3.7 MB. 455 instructions, 350 family pages,
                      598 mnemonics resolvable through index.json, plus the
                      generator that produced them.
  tools/run-canary.sh the oracle launcher.

🔴 THE LAUNCHER WAS BROKEN IN TWO WAYS AND IS REWRITTEN, not copied:

  * it pointed at `xenia-rs/sylpheed.iso`, a SYMLINK. Wine cannot resolve one
    and says "path invalid", which reads as a corrupt image rather than a path
    problem -- it has cost a session before. It now points at the real file and
    warns if handed a symlink.
  * it hardcoded one machine's absolute paths, and named `xenia-rs`, which this
    consolidation retires. Now derived from the script's own location, with
    SYLPH_CANARY_BIN / SYLPH_ISO overrides and a check that each exists.

The standing constraints are in its header where someone will read them: one
emulator at a time, Canary runs MUTED, and never judge a crash or a hang from
a Bash-launched run -- a SIGKILL that looked like the binary was the editor's
process supervisor.

⚠️ The manual's GENERATOR reads the xenia-rs source tree, which is going away.
Its decoder now lives here as crates/sylpheed-ppc, so the generator must be
repointed before it is run again. Recorded in the README rather than left for
someone to discover; the manual's content is checked in and regenerates from
nothing implicitly.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
fabi merged commit a17ca3ff4e into main 2026-09-15 19:46:48 +00:00
Sign in to join this conversation.