- delever_permute --bank: 4 winners applied through delever --apply-body, each IDENTICAL on its own object; the winner is now TIDIED first (pycparser reprints a body it parsed: two-space indent and a corpse `;` where a statement was inlined away) and the tidy is judged like any other candidate, so the source keeps the tree's shape; parenthesisation and brace style are deliberately left to the formatting phase, over the whole tree at once - a slip, named: --bank re-applied a permuter body over the ONE-LINE version rung R had already banked for func_80135D20; the clean text was restored through the oracle (label d1fix) and --bank now skips any body the ledger already calls LEVER-FREE - --recipes is killable now: the oracle writes the candidate into the tree to compile it, so the original goes into inflight.json first (P35's rule: a tool restores from its own snapshot) — a killed run had left a candidate in src/ - rung R's R6 generalised from "assigned once, read once" to "dead after one read" (the lever rung D actually found: uVar5 is assigned in two branches and only one was inlined); it still does not reproduce that class's win, which is recorded as an open item rather than papered over - lever_census: 33,953 sites (was 33,957), 0 UNMARKED; lever_progress snapshot "T6 d1"; R22 218 passed, 0 failed of 218
tools/
Everything under tools/ that this project wrote — the extractor, the byte gate, the matching harness, the campaign
machinery, the audits, the Ghidra scripts, the public-flip rewrite package — is licensed under the GNU Affero General
Public License v3.0 (the repository's LICENSE). There are no per-file license headers; this statement covers them.
Third-party pieces under tools/ keep their own licenses and are listed in the top-level THIRD_PARTY.md:
tools/brave-CUE/ (GPL-3.0, vendored source), the pinned submodules tools/maspsx (MIT), tools/decomp-permuter
(MIT), tools/asm-differ (Unlicense) and tools/m2c (GPL-3.0), and the gcc-2.7.2 compiler tarballs under tools/bin/
(GCC, GPL). The Sony SDK directory tools/psyq/ is never part of the repository — it is user-supplied and gitignored.
Where each tool fits and how to run it: docs/SETUP.md ("Tooling inventory"), docs/wave-playbook.md (the matching
procedure) and docs/public-flip-runbook.md (the publication procedure).