Files
BFM-decomp/decomp-architect/templates
Drew T 4c1d5d9f7c docs(phase-33.5): task 12 — kit part 3: decomp-architect/SETUP.md (Step 0 contract with the write-scope guardrails; Step 1 the PA-2.0 pin, the ladder-in-constitution check, the §E precondition, Path A only, the Phase-0.5 phase file; Step 2 the interview + the answers: file contract; Step 3 the firewall with the planted-fixture negative control and the check-ignore probes; Step 4 layout; Step 5 bootstrap + the checkpoint commit; Step 6 the flywheel documents that outlive the package; Step 7 the registry seed inserted before §E′ with the renumber fallback; Step 8 the overlays by marker + config templates instead of a live settings/mcp merge + the skeletons; Step 9 the memory seed; Step 10 the leftover-placeholder audit, the sorted install manifest, PhaseEnd_Phase0.5, the close commit, the five-part final message, hard stop; install manifest; troubleshooting); class 7 of the firewall gains /.claude-state/transcripts/ (a decomp's transcripts quote the target) and the scratch block re-includes .run/README.md — wiki fence + template re-extracted (75 lines identical); pa-overlays Block 7 → config/decomp-hooks.snippet.json + config/mcp.json.template (no comment keys in JSON); PLACEHOLDERS "Filled" wording aligned with the steps; verify: kit_lint OK over 44 files, doc_links --strict rc 0, 19/19 PA installer mechanisms with counterparts, 12/12 markers present in their templates, all placeholders named, every Step reference resolves; log + checkpoint (NEXT = task 13, the dry-run, xHigh)
2026-09-07 19:42:41 -06:00
..
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
docs(phase-33.5): task 12 — kit part 3: decomp-architect/SETUP.md (Step 0 contract with the write-scope guardrails; Step 1 the PA-2.0 pin, the ladder-in-constitution check, the §E precondition, Path A only, the Phase-0.5 phase file; Step 2 the interview + the answers: file contract; Step 3 the firewall with the planted-fixture negative control and the check-ignore probes; Step 4 layout; Step 5 bootstrap + the checkpoint commit; Step 6 the flywheel documents that outlive the package; Step 7 the registry seed inserted before §E′ with the renumber fallback; Step 8 the overlays by marker + config templates instead of a live settings/mcp merge + the skeletons; Step 9 the memory seed; Step 10 the leftover-placeholder audit, the sorted install manifest, PhaseEnd_Phase0.5, the close commit, the five-part final message, hard stop; install manifest; troubleshooting); class 7 of the firewall gains /.claude-state/transcripts/ (a decomp's transcripts quote the target) and the scratch block re-includes .run/README.md — wiki fence + template re-extracted (75 lines identical); pa-overlays Block 7 → config/decomp-hooks.snippet.json + config/mcp.json.template (no comment keys in JSON); PLACEHOLDERS "Filled" wording aligned with the steps; verify: kit_lint OK over 44 files, doc_links --strict rc 0, 19/19 PA installer mechanisms with counterparts, 12/12 markers present in their templates, all placeholders named, every Step reference resolves; log + checkpoint (NEXT = task 13, the dry-run, xHigh)
2026-09-07 19:42:41 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00
docs(phase-33.5): task 12 — kit part 3: decomp-architect/SETUP.md (Step 0 contract with the write-scope guardrails; Step 1 the PA-2.0 pin, the ladder-in-constitution check, the §E precondition, Path A only, the Phase-0.5 phase file; Step 2 the interview + the answers: file contract; Step 3 the firewall with the planted-fixture negative control and the check-ignore probes; Step 4 layout; Step 5 bootstrap + the checkpoint commit; Step 6 the flywheel documents that outlive the package; Step 7 the registry seed inserted before §E′ with the renumber fallback; Step 8 the overlays by marker + config templates instead of a live settings/mcp merge + the skeletons; Step 9 the memory seed; Step 10 the leftover-placeholder audit, the sorted install manifest, PhaseEnd_Phase0.5, the close commit, the five-part final message, hard stop; install manifest; troubleshooting); class 7 of the firewall gains /.claude-state/transcripts/ (a decomp's transcripts quote the target) and the scratch block re-includes .run/README.md — wiki fence + template re-extracted (75 lines identical); pa-overlays Block 7 → config/decomp-hooks.snippet.json + config/mcp.json.template (no comment keys in JSON); PLACEHOLDERS "Filled" wording aligned with the steps; verify: kit_lint OK over 44 files, doc_links --strict rc 0, 19/19 PA installer mechanisms with counterparts, 12/12 markers present in their templates, all placeholders named, every Step reference resolves; log + checkpoint (NEXT = task 13, the dry-run, xHigh)
2026-09-07 19:42:41 -06:00
docs(phase-33.5): task 12 — kit part 3: decomp-architect/SETUP.md (Step 0 contract with the write-scope guardrails; Step 1 the PA-2.0 pin, the ladder-in-constitution check, the §E precondition, Path A only, the Phase-0.5 phase file; Step 2 the interview + the answers: file contract; Step 3 the firewall with the planted-fixture negative control and the check-ignore probes; Step 4 layout; Step 5 bootstrap + the checkpoint commit; Step 6 the flywheel documents that outlive the package; Step 7 the registry seed inserted before §E′ with the renumber fallback; Step 8 the overlays by marker + config templates instead of a live settings/mcp merge + the skeletons; Step 9 the memory seed; Step 10 the leftover-placeholder audit, the sorted install manifest, PhaseEnd_Phase0.5, the close commit, the five-part final message, hard stop; install manifest; troubleshooting); class 7 of the firewall gains /.claude-state/transcripts/ (a decomp's transcripts quote the target) and the scratch block re-includes .run/README.md — wiki fence + template re-extracted (75 lines identical); pa-overlays Block 7 → config/decomp-hooks.snippet.json + config/mcp.json.template (no comment keys in JSON); PLACEHOLDERS "Filled" wording aligned with the steps; verify: kit_lint OK over 44 files, doc_links --strict rc 0, 19/19 PA installer mechanisms with counterparts, 12/12 markers present in their templates, all placeholders named, every Step reference resolves; log + checkpoint (NEXT = task 13, the dry-run, xHigh)
2026-09-07 19:42:41 -06:00
2026-09-07 19:22:51 -06:00
2026-09-07 19:22:51 -06:00

{{PROJECT_NAME}}

A matching decompilation of {{GAME_TITLE}} ({{PLATFORM}}, {{GAME_SERIAL}}): C source that, compiled with the original era's toolchain and linked in the original order, reproduces every shipped binary byte for byte, verified by a hash check inside every build.

{{PROJECT_GOALS}}

Status

Progress numbers are generated by tools/progress.py and appear here once Phase 5 wires it (TODO(phase-5)).

Building from your own copy of the game

This repository contains no byte of the game: no executable, no disc or cartridge data, no disassembly listing, no memory image, no vendor SDK. To build, you need your own legally obtained copy.

  1. TODO(phase-1): stage your dump under disks/ (ignored by git) and run the extractor; it verifies your extraction against the committed manifest of hashes.
  2. TODO(phase-3): make build reproduces each binary and checks its hash; the clean fleet verification is in docs/ops-setup.md.
  3. TODO(phase-9): the fresh-clone proof — a stranger with their own copy can extract, build and verify from this README alone.

The no-ROM policy

Nothing derived from the game enters git — from the first commit, whether the repository is public or private. The .gitignore is the firewall; tools/audit_public.py (its sources in config/firewall.txt) is the gate, run in CI on every push; a pasted listing of the target's instructions counts too. See docs/wiki/The-ROM-firewall.md (TODO: created when the wiki is set up) and src/NOTICE.md.

How this project is made

{{AI_DISCLOSURE}}

The standard it holds itself to: a function is "matched" only when the whole binary still hashes with it compiled from source; names and types are evidence-based, never guessed (an address-named placeholder is honest); every outward message to another project is written by a person; the project makes no automated requests to community services. The record — the phase syntheses, the decision log, the cookbook of byte-proven idioms — is what makes the work auditable.

Repository visibility

{{PUBLIC_OR_PRIVATE}}

Acknowledgements

Prior community work this project builds on or was checked against: {{COMMUNITY_WORK}}. The governance and method come from ProjectArchitect 2.0 and the decomp-architect kit distilled from a finished matching decompilation.

License

The project's own work — the tooling, the build system, the documentation — is licensed under {{LICENSE_CHOICE}} (LICENSE). No license is asserted over the reimplemented sources under src/ (src/NOTICE.md). Third-party components keep their own licenses (THIRD_PARTY.md). {{GAME_TITLE}} is the property of its rights holder.

Contributing

See CONTRIBUTING.md: bring your own copy of the game, never commit anything derived from it, and read the AI-use conduct section before your first pull request.