mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 14:02:04 -04:00
8594081d86
- run 5 under BRIEF-run5.md (the D6 guardrails restated): ProjectArchitect 2.0 §1–§9 then the kit Steps 0–10, unattended from answers.md; 4 trailer-free commits; stopped_at null; manifest 57 == 57 (docs/inherited-record.md included); G 67; seeds 34/34; check-ignore 9/9 + 5/5; placeholder audit clean; the audit exits 0 in the throwaway; PhaseEnd_Phase0.5 + the archived log; tree clean; settings/statusline/memory/ghidra/dumps/~/.claude guardrails unchanged - the agent's notes, acted on: the installer named pa-overlays.md without its templates/ folder at Steps 6 and 8 → `$KIT/templates/…`; its own write-scope slip (two staging files under /tmp, deleted) recorded; the manifest rule's silence on a file the installer creates and deletes itself noted - the judge: my run-5 BEFORE snapshot stripped the first porcelain line's status space and so failed to exclude a deletion under the dry-run's own directory (the false flag of the first judge pass — re-filtered, not re-snapshotted); the judge's reader crashed on an empty dirty set (a one-token line) → tolerated; run-4 evidence kept under the .run4 suffix - wiki page (five dry-runs, the run-5 row), Home/Tools/README/SETUP rows: five runs
4.3 KiB
4.3 KiB
Tools from this project
Things built for the decompilation that stand on their own and may be useful to other projects. Each links to its documentation in the repository; the two with standalone homes are noted.
| Tool | What it does | Where |
|---|---|---|
| xsig | Relocation-masked function signatures: the same function at two link addresses gets the same signature, so shared code is found across overlays and across games. Stdlib only, MIT, tested with a game-free fixture. Its worked example: against Xenogears, Vagrant Story and Tomba it found 103 shared functions, all PsyQ library code — so its real use is spotting library functions and shared overlay code. | standalone repo github.com/Druthulu/xsig; in-tree tools/xsig/ |
| The permuter driver | An unattended way to run simonlindholm's decomp-permuter inside a byte-gated pipeline: a restart loop from the best candidate with guards (abort on a refused cycle, re-hide register pins each cycle, never bank a winner without the gate) and a relocation-masked scorer that reaches zero only when the object is link-identical. The upstream permuter stays a pinned, unmodified submodule; the driver swaps one class on top. Offered upstream and declined — the stock scorer's wildcard is intentional for interactive use — so the only copy lives here. | docs/permuter-ils.md, tools/permuter/ |
| The gcc 2.7.2 codegen map | What the pinned compiler does to your C, pass by pass (cse, loop, combine, reload, the scheduler, the MIPS back end), each claim tagged with the source tree it was read from and byte-proven on this game. The thing that turned "compiler walls" into matches. | docs/gcc-2.7.2-map/ |
| The decomp.me replica | Rebuilds decomp.me's own PS1 gcc2.7.2-psx toolchain locally from its published recipe and runs a function through it, comparing the words to the target — a preset or a scratch is proven before it exists, and a disagreement between decomp.me and a local build names its producer. |
tools/decompme_replica.sh, docs/decompme-preset.md |
| The drafter write-up | How a small local model was fine-tuned to draft matches under the byte gate, every measurement in order, the portable lessons, and what it was worth. The paired dataset is game-derived and not published. | docs/matching-drafter-pipeline.md |
| How to AI-decomp | The whole method as thirteen chapters, for anyone doing this with an agent. | Index |
| The day-one decomp kit | The order of work this project would use if it started again, packaged as a Phase-0.5 overlay on ProjectArchitect 2.0: the firewall from commit one, the rules distilled from the failures, the phase ladder with a machine-checkable milestone per phase, the conduct rules, the readability standard at draft time — and the three dictionaries: this project's tools verbatim, keyed by the need each answers; its cookbook, symptom index and codegen map behind a front page that says what transfers to another compiler; and its record — the how-to, the decision log, the accelerators, the retrospective, the playbook and every PhaseEnd — verbatim, with a coverage check that every rule and every accelerator of this project is cited or dispositioned. Dry-run installed five times. Split into its own repository after the flip. | in-tree decomp-architect/; Start a new decomp project |
| The tool index | Every tool in the tree keyed by the need it answers, with what proved it (its consumers), what it hard-codes and — for the retired ones — its successor or what it produced. Generated from the tree and an authored dictionary by tools/tool_census.py, with coverage asserted both ways; the same data generates the kit's manifest and its tool corpus. |
docs/tool-index.md |
What is deliberately not offered as a tool: the ROM-derived artifacts (the disc extraction, the dumps, the Ghidra database), the Sony SDK, and the fine-tuning dataset. See Contributing and the no-ROM policy.