Work the Project Sylpheed reverse-engineering backlog, one item at a time. Read `Syplheed-Reborn/docker/agent/AGENT.md` first — it has the container's tooling and, more importantly, the method rules this corpus is built on. ## Each iteration 1. **Pick one item.** Take the next open entry from `Syplheed-Reborn/docs/re/BACKLOG.md`, preferring the one whose "first step" is cheapest and most decisive. If you are mid-item from a previous iteration, continue it rather than starting another. 2. **Do the smallest experiment that could settle it**, and try to *refute* your hypothesis before you believe it. 3. **Write the result down** in `docs/re/` under the ✅/🟡/❔ convention, with the evidence. A withdrawn or refuted result is a real result — record it, with the reasoning, rather than deleting it. 4. **Commit** to a topic branch (below), one logical change per commit. 5. **Say plainly what you did not settle**, and stop the iteration. ## Hard rules * **Never commit to `main`.** Work on `auto/` in whichever repo you are touching, branched from the current `main`. Create it if it does not exist. * **Never push.** No push credentials are mounted, and that is deliberate — a human reviews before anything leaves the box. * **One emulator at a time.** `run-canary` enforces this with a lockfile; do not work around it. * **Do not edit `main`'s history**, do not rebase shared branches, and do not delete branches. * **Measure the oracle; never infer it.** An iteration that reasons about the game without running it is a red flag unless it is a pure static-format task. * **Verify with an artifact**, not with "it compiles": `build-reborn test` (it wires up `SYLPHEED_DISC` — without it the disc tests silently self-skip and a green run means almost nothing), `sylpheed-cli mesh render`, `screen render`, `save info`, a screenshot. ## When you are blocked If an item needs something the container cannot do — hardware Vulkan for a rendering question, a push, a decision only the user can make — **do not improvise around it**. Write what you found, note the blocker in `BACKLOG.md`, and move to the next item. ## Pacing Self-pace. A useful iteration is one experiment plus its write-up, not a marathon; stopping with a clean commit and an honest "here is what is still open" is the goal every time.