Files
BFM-decomp/config/tool_dictionary.tsv
T

90 KiB

1pathphaseportabilityneedwhatadaptsstatussuccessor_or_product
2tools/ab_score.pyP5ADAPTre-score both arms of an experiment with the standalone matcher as ground truthRe-scores every draft of two experiment arms with the standalone matcher as ground truthrepo scratch pathsLIVE
3tools/agent_drafts_restore.pyP8ADAPTrebuild an agent's final draft by replaying its transcript writesReplays an agent's writes from its transcript to rebuild its final deliverableagent transcript pathsLIVE
4tools/agent_reports.pyP8ADAPTsave each subagent's full final report to one file per targetSaves each subagent's full final prose report to one file per targetagent transcript pathsLIVE
5tools/agent_verdicts.pyP8ADAPTpull the final structured verdict out of each subagent transcriptPulls the final structured verdict out of subagent transcriptsagent transcript pathsLIVE
6tools/alloc_table.pyP7PORTABLElist each pseudo-register's refs, live length and allocation priority from compiler dumpsPrints each pseudo's refs, live length, block and allocation priority from compiler pass dumpscompiler pass-dump format, repo dump rootLIVE
7tools/api_agent.pyP8ADAPTgive an external chat model the same multi-turn tool harness an agent getsGives an external chat model the same multi-turn tool harness an agent getsprovider endpoint, repo doc pathsLIVE
8tools/api_draft.pyP8ADAPTdraft one function against any chat-completions endpoint, provider-agnosticProvider-agnostic single-shot drafting worker against any chat completions endpointprovider endpoint, repo doc pathsLIVE
9tools/api_rate.pyP8ADAPTmeasure a drafting provider's real request rate and rate-limit attributionReports measured request rate and rate-limit attribution from append-only telemetryrepo telemetry pathSTILL-NEEDEDmeasure a drafting provider's true request rate and rate-limit attribution
10tools/aprop_autodraft.pyP6ADAPTdraft a family member mechanically from a seed body and symbol rebaseMechanically drafts a family member from the seed body plus a positional symbol rebaserepo scratch pathsFROZENtools/share_body.py
11tools/aprop_symfix.pyP6ADAPTrebase a remapped draft's stale seed symbols onto the target's ownRebases stale seed symbols in a mechanically adapted draft onto the target's own symbolsrepo symbol/config sourcesLIVE
12tools/asm_verbatim.pyP10ADAPTemit a function's target assembly as an inline-assembly bodyEmits the file-scope inline-assembly body form from a disassembly filerepo asm layoutLIVE
13tools/atlas.pyP5ADAPTpartition every open function into exactly one lever-labelled work groupPartitions all open functions into exactly one lever-labelled work grouprepo scratch pathsLIVE
14tools/atlas_features.pyP5ADAPTextract one deterministic feature record per function across every registered binaryExtracts one deterministic feature record per function across all registered binariesrepo signature filesLIVE
15tools/audit_binaries.pyP5ADAPTassert every consumer knows about each newly onboarded binaryGate asserting every consumer knows about each newly onboarded binaryrepo config/registry pathsLIVE
16tools/audit_digest.pyP5ADAPTrecompute headline metrics and fail if the committed digest disagreesRecomputes headline metrics from the current tree and fails if the committed digest disagreesrepo docs pathsLIVE
17tools/audit_frontier.pyP5ADAPTcheck that the independent what-remains views agree with the corpus oracleChecks that the independent "what remains" views agree with the corpus oraclerepo pathsLIVE
18tools/audit_header_sigs.pyP5ADAPTfind shared-header declarations that contradict a function's banked definitionFinds shared-header declarations that contradict the banked definitionrepo shared-header pathsSUPERSEDEDtools/conform_decls.py
19tools/audit_public.pyP9ADAPTgate a first push: prove no derived bytes among tracked filesThe first-push gate: no derived bytes among tracked files, four independent checksrepo purge-set and path lists (the kit's template reads `config/firewall.txt` instead)LIVE
20tools/audit_text_sources.pyP5ADAPTassert every tracked source is plain text so text searches never skip itEvery tracked C source must be plain text, or text searches silently skip itrepo src pathsLIVE
21tools/auto_driver.pyP8ADAPTloop a stub worklist through scaffold, draft and gate without any modelAutonomous model-free driver looping a stub worklist through scaffold, draft and gatecanonical source binary, repo pathsLIVE
22tools/auto_status.shP8ADAPTprint an unattended run's heartbeats and recent progress for a remote check-inPrints the unattended run's heartbeats and recent progress for a remote check-inrepo scratch pathsLIVE
23tools/auto_stop.shP8ADAPTrequest a safe exit of an unattended run through a stop sentinelRequests a safe exit of the unattended run via a stop sentinelrepo scratch pathsLIVE
24tools/auto_supervisor.shP8ADAPTkeep an unattended driver alive across crashes until a clean exitKeeps an unattended driver alive across crashes until a clean or requested exitrepo scratch pathsLIVE
25tools/autopsy.pyP7ADAPTrecompile every open draft and classify its failure into a residual corpusMaterializes the residual corpus by recompiling every open draft and classifying its failurerepo scratch/build pathsLIVE
26tools/backlog.pyP5ADAPTkeep a ranked ledger of every close-but-not-matching attemptNear-miss ledger: every close-but-not-matching attempt, ranked for hand sessionsrepo scratch/doc pathsLIVE
27tools/bank_exemplar.pyP6ADAPTbank one cracked exemplar through the carve, splice and staged-recovery ladderBanks one cracked exemplar through the carve, splice and staged-recovery ladderrepo src/config layoutSUPERSEDEDtools/gate_stage.py
28tools/bfm_extract/__init__.pyPROJECT-ONLYPROJECT-ONLYexpose a disc extraction pipeline's stages as one packagePackage entry for one title's disc pipeline; names its own container stagesproject-onlyLIVE
29tools/bfm_extract/cd_archive.pyPROJECT-ONLYPROJECT-ONLYread a bespoke container's table of contents to locate its filesReader for one game's bespoke container table-of-contents formatproject-onlyLIVE
30tools/bfm_extract/crosscheck.pyPROJECT-ONLYPROJECT-ONLYcross-validate an extraction against an independent third-party toolCross-validates against a third-party tool written for that specific gameproject-onlyLIVE
31tools/bfm_extract/extract.pyPROJECT-ONLYPROJECT-ONLYwalk the whole medium and extract every file deterministicallyFull-disc extractor bound to one disc's root file list and audio-track handlingproject-onlyLIVE
32tools/bfm_extract/extract_exe.pyPROJECT-ONLYPROJECT-ONLYextract the console executable and hard-validate its name, size and headerHard-validates one executable's exact name, size, hash and header field valuesproject-onlyLIVE
33tools/bfm_extract/extract_proto_exe.pyPROJECT-ONLYPROJECT-ONLYextract a prototype build's executable, allowing for its known deviationsCompanion for one title's prototype discs and their specific deviationsproject-onlyLIVE
34tools/bfm_extract/iso9660.pyP1PORTABLEwalk a raw data track's filesystem and extract files by nameReusable reader for a raw 2352-byte-sector data track; walks the filesystem and extracts files by namenoneLIVE
35tools/bfm_extract/lzss.pyPROJECT-ONLYPROJECT-ONLYdecode a bespoke compression format, cross-checked against its own length fieldDecoder for one game's non-generic compression semantics, verified against its own decompressorproject-onlyLIVE
36tools/bfm_extract/manifest.pyP1ADAPTbuild and verify a deterministic sorted checksum manifest of an extraction treeBuilds and verifies a deterministic sorted SHA1 manifest of an extraction treethe extraction output rootLIVE
37tools/bfm_extract/pac.pyPROJECT-ONLYPROJECT-ONLYparse a bespoke archive-chain header formatParser for one game's bespoke archive-chain header formatproject-onlyLIVE
38tools/bfm_extract/test_lzss.pyPROJECT-ONLYPROJECT-ONLYunit-test a bespoke compression decoder against known casesUnit tests for that game-specific compression variantproject-onlyLIVE
39tools/bisect_slate.pyP8ADAPTisolate the byte-wrong drafts in a batch, with a null control firstIsolates the byte-wrong drafts in a batch, with a null control firstrepo build pathsSUPERSEDEDtools/gate_main_parallel.py
40tools/blast_radius.pyP8ADAPTmeasure a change's write set and name the verification it actually requiresMeasures a change's write set and names the verification it actually requiresrepo tree layoutLIVE
41tools/blocker_probe.pyP5ADAPTexplain with two oracles why a byte-correct draft fails the whole-binary gateRead-only two-oracle explanation of why a byte-correct draft fails the whole-binary gaterepo build pathsFROZENtools/share_body.py
42tools/bootstrap.shP9ADAPTset up a fresh clone idempotently: packages, environments, pinned toolsIdempotent fresh-clone setup: check packages, create environments, fetch pinned toolsrepo layout, package namesLIVE
43tools/build_engine_types.pyP10ADAPTextract inline-defined types and typedefs from a source file into a shared headerExtracts inline-defined named types and typedefs from a source file into a shared headerrepo shared-header pathLIVE
44tools/build_fuel_manifest.pyP8ADAPTunify live stubs into one ranked, class-tagged, cache-annotated target poolUnifies live stubs into one ranked, class-tagged, cache-annotated target poolcanonical source binary, repo scratch pathsLIVE
45tools/build_wave.pyP8ADAPTbuild the next drafting wave from a card pool by fleet leverageBuilds the next wave from a card pool, ranked by fleet leveragerepo scratch pathsSUPERSEDEDtools/draw_waves.py
46tools/build_wave_args.pyP8ADAPTemit drafting-workflow arguments for a wave from a target manifestEmits workflow arguments for a wave from the target manifest, resolving each pathrepo asm/scratch layoutSUPERSEDEDtools/wave_args.py
47tools/build_wave_atlas.pyP8ADAPTbuild a wave from the frontier atlas, optimized for gate throughputBuilds a wave from the frontier atlas, optimized for gate throughputrepo scratch pathsLIVE
48tools/bulk_harvest.pyP8ADAPTmass-draft small stubs with a served model and gate them in parallelPhase-separated bulk drafting plus a parallel gate farm, for throughputrepo scratch paths, GPU endpointSTILL-NEEDEDmass-draft small stubs with a served model and byte-gate them in parallel
49tools/burndown.pyP5ADAPTtrack per-session yield and velocity so a diminishing-returns close is visibleTracks per-session yield and velocity so a diminishing-returns close is visiblerepo ledger pathsSTILL-NEEDEDsee when per-session yield floors out so a diminishing-returns close is defensible
50tools/campaign_status.pyP8ADAPTreport every concurrent lane with its own metrics, not only the loud oneOne status view covering every lane, not only the loud onelane names, repo scratch pathsSTILL-NEEDEDreport every concurrent lane with its own metrics, not only the loud one
51tools/canon_draft_decls.pyP6ADAPTcanonicalize a draft's extern and data declarations to the banked-consistent setCanonicalizes a draft's extern and data declarations to the banked-consistent setrepo shared-header pathsSUPERSEDEDtools/sig_unify.py
52tools/canon_resident_calls.pyP6ADAPTrewrite address-named calls in a draft to their curated symbol namesRewrites address-named calls in a draft to the curated symbol name when one existsrepo symbol file pathLIVE
53tools/canon_sig_reconcile.pyP6ADAPTreconcile a definition's typed signature with what its destination unit declares — part of banking against a canonical type layer from Phase 6; again at readability (Phase 10)Reconciles a definition's typed signature with what its destination unit already declaresrepo src layoutFROZENthe types phase (Phase 37)
54tools/cast_call_sites.pyP10ADAPTadd per-site function-pointer casts so a draft can call a differently typed calleeAdds per-site function-pointer casts so a draft can call a differently typed calleerepo src layoutLIVE
55tools/cast_self_callers.pyP6ADAPTlet a unit keep calling, through per-site casts, the function it now definesLets a unit keep calling, through a per-site cast, the function it is about to definerepo src layoutLIVE
56tools/cc1_dumps.shP4ADAPTdump every compiler pass file for a self-contained draftDumps every compiler pass file for a self-contained draft into a private directorycompiler triple, repo scratch pathsLIVE
57tools/cc1_dumps_tu.shP4ADAPTdump every compiler pass file for the spliced real translation unitSame pass dumps for the spliced real translation unit, the faithful compileabsolute repo path, compiler tripleLIVE
58tools/cdecl.pyP6PORTABLEparse C declarators once, for every declaration tool to shareThe single recursive-descent C declarator parser every declaration tool sharesC89 grammar onlyLIVE
59tools/cdtrace.pyPROJECT-ONLYPROJECT-ONLYobserve a live loader's requests to learn which payload loads whereReads one game's loader request structures at fixed RAM addressesproject-onlySTILL-NEEDEDobserve a live loader's requests to learn which payload is read to which address
60tools/claude_wave_packs.pyP8ADAPTbuild the per-function prompt packs a drafting agent wave works fromBuilds the per-function prompt packs an agent wave drafts fromrepo scratch paths, agent harnessLIVE
61tools/compile_only.pyP9ADAPTcompile every eligible translation unit with the pinned toolchain, using no derived bytesCompiles every eligible translation unit with the pinned toolchain, without any game bytescompiler triple, repo makefile parsingLIVE
62tools/conform_decls.pyP6ADAPTconform every declaration of a function fleet-wide to its byte-true definition — width and signedness proven by the bytes at bank time (Phase 6)Conforms every declaration of a function fleet-wide to its byte-true definitionrepo src/shared-header layoutFROZENthe types phase (Phase 37)
63tools/cookbook_index.pyP9ADAPTgenerate a symptom-keyed index of a large technique documentGenerates a symptom-keyed index of the large technique documentrepo doc pathsLIVE
64tools/corpus.pyP5ADAPTanswer from one derived model whether each function is open, matched or sharedThe single derived model of the source tree: open, matched or shared, per functionrepo src/config layoutLIVE
65tools/decl_from_use.pyP6ADAPTinfer a minimal extern for a data symbol the destination unit does not declareInfers a minimal extern for a data symbol a draft uses but its destination does not declarerepo src layoutLIVE
66tools/decl_prior.pyP6ADAPTcompute the fleet's consensus declaration for every symbol, as card fuel — the seed of a canonical type layer (Phase 6)Computes the fleet's consensus declaration for every symbol, as card fuelrepo src layoutLIVE
67tools/decompile.pyP4ADAPTturn one function's disassembly into a C scaffold to start a matchWrapper locating a function's disassembly and running the C-scaffold generator on itrepo asm paths, decompiler target nameSTILL-NEEDEDturn one function's disassembly into a C scaffold to start a match
68tools/decompme_replica.shP4ADAPTreproduce an external reference toolchain locally and compare its words to targetRuns a function through an external reference toolchain build and compares words against the targetpinned toolchain versions, network fetchSTILL-NEEDEDkept: a public preset request needs the replica of the community toolchain to prove equivalence
69tools/dedup_extend.pyP6ADAPTextend an existing code-share registry to newly onboarded binariesExtends the existing share registry to newly onboarded binariesrepo config/src layoutSUPERSEDEDtools/share_body.py
70tools/dedup_integrate.pyP6ADAPTvalidate a code-share registry byte-honestly, failing closed on signature driftByte-honesty validator for the code-share registry; fails closed on signature driftrepo config registry pathLIVE
71tools/dedup_propagate.pyP6ADAPTlift one matched body into a shared macro and instantiate it everywhereLifts one matched body into a shared macro and instantiates it at every duplicate siterepo shared-header/src layoutSUPERSEDEDtools/share_body.py
72tools/delever.pyP10ADAPTtake register pins, asm statements, volatile and register levers out of matched C, byte-gated per siteThe Phase-36 de-lever engine and campaign tool: positional rewrites per lever class (pin -> plain declaration, barrier/keep-alive deleted, a launder deleted or turned into the assignment it is, a hand-placed instruction -> its C, the zero-register variable -> 0, a macro-carried site deleted/valued/refused by its macro's shape, volatile/register dropped); per body replay -> rung A strip-all -> rung B greedy through delever_oracle; the file is the write unit and its final compile through every recipe the proof; --plan/--apply batches (TUs parallel, exemplar files first; headers serial, includers parallel), the ledger keyed by tu+fn+addr with the body's nhash before/after, !FAKE markers on class A/B survivors, --redraw for bodies refused by an older tool, --restore from inflight.json, --scrub for orphan markers, --apply-body for T6/T7, --recipes (rung R: the byte-neutral shape recipes — the formerly-pinned declarations permuted, one moved through the declaration run, an initializer split — each judged by the oracle, with an identity control on both the splice and the oracle), --selftest with a stub oracle, --probe (T2)the census site records, the oracleLIVE
73tools/delever_permute.pyP10ADAPTsearch the compiler's own shape space for a lever-free body that keeps the bytesThe Phase-36 rung D: one exemplar per residue text class from the delever ledger (largest class first — a match banks every copy), each prepared as a single-function translation unit (delever's rung-A rewrite of every removable site, every other definition reduced to a prototype, shared-header includes to their prototypes, INCLUDE_ASM and file-scope asm dropped, the build's own CPPFLAGS through cpp -P) against a target regenerated from the ROM image in both the assemblable and the splat form; every attempt calibrates itself first (the LEVERED body must be MATCH, or the harness is not measuring that function) and records the lever-free body's starting distance; decomp-permuter through permuter_ils with the weight profile chosen from the NEEDED kinds; a score-0 winner is banked only through delever --apply-body and the GTE re-fold; scratch, winners and the outcome ledger keyed by alias+fnthe ledger, the permuter harness, the target regeneratorLIVE
74tools/delever_search.pyP10ADAPTfind a lever-free spelling of a body by a guided search on the byte distance, not a blind testThe Phase-36 rung G: the same shape generators as rung R (declaration order/move, initializer split, commutative swap, temp inlined/introduced/hoisted, block wrap/unwrap, adjacent swap) and the same per-TU oracle, but every candidate SCORED — the function's instructions read out of the scratch object and compared, reloc-masked, with the fleet run's baseline object, as an edit distance — the residual CLASSIFIED (REG caller/callee, COUNT, ORDER, MIXED) to choose the move families, and a beam search composing two and three moves under a compile budget; a score-0 verified on every recipe and banked through delever --apply-body, then --propagate to the class. Controls: the tree's own text must score 0 (per body), --positive-control perturbs a matching body and requires the way back, --selftest.repo scratch paths; the recipe oracleLIVE
75tools/delever_pack.pyP10ADAPTbuild the pack one agent needs to read and crack one residue exemplar, without touching the treeThe Phase-36 T7 pack builder (one agent at a time): per residue exemplar of ≥N copies a directory under .run/P36/agents/ with the TU path, the body as the tree has it, the lever-free body (the seed), the residual as mnemonic blocks from delever_search --try (a scratch compile, no tree write), the ledger's NEEDED sites, and every engine attempt with its best moves; ORDER.tsv ranks the exemplars by the best distance reached, then copies. PROMPT.md beside them is the agent's brief.repo scratch paths; the engine's outcomes and tracesLIVE
76tools/delever_regen.pyP10ADAPTre-run newly harvested generator families over the whole residue and bank what closes, without re-sweepingThe Phase-36 regen pass (S103): for every residue class, the lever-free body and the engine's best text are fed to delever.recipe_candidates with ONLY the named families (default R22 R23) and every candidate is scored read-only through delever_search --try --body, one worker per class; a TSV under .run/P36/regen/ lists each class's best; --bank re-scores each score-0 row on the current tree, then apply_body_core + --propagate (the one writer). Built because no search ever revisits a residue class after a new generator lands.repo scratch paths, the delever generator registryLIVE
77tools/localalloc_sim.pyP10ADAPTsee which register local-alloc gives each value inside one basic block, and why, before trying a register moveSimulates gcc 2.7.2's block_alloc for the block containing a given insn from a .lreg dump: quantity births/deaths, ties (combine_regs), copy suggestions, qty_compare_1 priority, find_free_reg — and prints the simulated hard register beside the one the dump records (0 mismatches over 150 validated block simulations, S103). Complements alloc_table.py, which shows global allocation only.the cc1 dump formatLIVE
78tools/delever_oracle.pyP10ADAPTjudge one translation-unit edit by the bytes of its object in under a secondThe Phase-36 fast byte oracle: every object's exact build command captured once via make -n -W (the Makefile's own recipe, pad stage and -O0 overrides included), a candidate compiled in place with -o/-MF redirected to scratch and compared with the fleet run's object; --calibrate proves 100 % equality untouched, twin == primary and a positive control before any verdict is trustedthe Makefile's object rules, the twin ruleLIVE
79tools/gte_consolidate.pyP10ADAPTconsolidate the GTE coprocessor inline-asm macros under Sony's names in one header and sweep dead lever macrosThe Phase-36 T5 tool: every asm-bearing macro definition and direct GTE statement SIGNED by the build's own maspsx→as tail (template bytes with operands bound to fixed registers, operand counts, clobbers); one canonical text per signature named by PsyQ's inline_c.h convention (Sony's file supplies names and clobber lists, never opcode words) written to include/gte_inline.h; per file the canonical duplicates deleted, private names renamed, a variant with extra clobbers tried as canonical and kept as a marked <name>_m lever only when the object differs, direct statements rewritten into canonical calls (a concatenation of two included); every file judged through every recipe; --sweep deletes dead asm-bearing macros and drops a compound macro's inner asm when byte-neutralSony's inline_c.h path, the census sites, the oracleLIVE
80tools/demacroize.pyP6ADAPTescape a shared-header declaration conflict locally by unmacroizing one bodyPer-binary local escape from a shared-header declaration conflict by unmacroizing one bodyrepo shared-header layoutFROZENtools/share_body.py
81tools/diff_autopsy.shP7ADAPTfind which words diverge when the whole-binary gate says different but not whereReproduces exactly what the gate saw, then decodes the diverging words and restores the treerepo src/build pathsSTILL-NEEDEDfind WHICH words diverge when the whole-binary gate says DIFF but not where
82tools/diff_regions.pyP7ADAPTclassify where a remapped sibling's compiled bytes diverge from its targetClassifies where a remapped member's compiled bytes diverge from its targetrepo build pathsSTILL-NEEDEDclassify where a mechanically remapped sibling's compiled bytes diverge from its target
83tools/difficulty.pyP5ADAPTrank unmatched functions easiest-first by size, control flow and call countRanks unmatched functions easiest-first by size, control flow, table presence and call countrepo asm layoutLIVE
84tools/disc_audit.pyPROJECT-ONLYPROJECT-ONLYaccount for every byte of the medium, leaving zero unexplained residueByte partition over one disc, importing the game-specific container and compression modules — the partition itself (every byte of the medium accounted for, residue zero) is a Phase-1 taskproject-onlyLIVE
85tools/distill_scan.pyP8ADAPTdecide which harvested waves still need mining into the technique documentOne pass of the distillation lane deciding which harvested waves still need miningrepo scratch pathsLIVE
86tools/doc_links.pyP9ADAPTcheck that every relative link in the public docs resolvesChecks that every relative link in the public docs resolves and the link policy holdsrepo doc pathsLIVE
87tools/draft_prechecks.pyP4ADAPTskip a draft doomed to fail before any compile is spentStatic pre-checks that skip a draft doomed to fail before any compile is spentrepo symbol/config sourcesLIVE
88tools/draw_waves.pyP8ADAPTdraw several drafting waves off the open frontier, cheapest-firstDraws several drafting waves off the open frontier, cheapest-firstrepo scratch pathsLIVE
89tools/dup_report.pyP5ADAPTreport byte-identical and structurally identical function groups within and across binariesReports byte-identical and structurally identical function groups within and across binariesrepo signature filesLIVE
90tools/eval_lora.pyP8ADAPTevaluate a fine-tuned matching model gate-truthfully on held-out banked functionsGate-true evaluation of a fine-tuned model on held-out banked functionsdataset paths, repo corpusSTILL-NEEDEDevaluate a fine-tuned matching model gate-truthfully on held-out banked functions
91tools/exclude_audit.pyP6ADAPTclassify every exclude-list entry by its current blocker and regenerate the listClassifies every exclude-list entry by its current blocker and regenerates the listrepo config pathLIVE
92tools/exemplar_miner.pyP6ADAPTroute every residual stub to its lever and rank the highest-reach workRoutes every residual stub to its lever and ranks the highest-reach workcensus file paths, canonical source binarySUPERSEDEDtools/atlas.py
93tools/export_pairs.pyP8ADAPTmine gate-verified assembly-to-source pairs into a fine-tuning corpusMines gate-verified assembly-to-source pairs into a fine-tuning corpusrepo src/build layoutSTILL-NEEDEDmine gate-verified assembly-to-source pairs into a fine-tuning corpus
94tools/family_align.pyP6ADAPTclassify drifted structural siblings by aligned words and expand their constantsLength-tolerant aligned classifier plus the mechanical constant-expansion engine for drifted membersrepo scratch pathsLIVE
95tools/family_cousins.pyP6ADAPTcluster the open frontier one tier looser than exact skeleton hashingSimilarity clustering one tier looser than exact skeleton hashing over the open frontierrepo signature filesLIVE
96tools/family_hseq.pyP6ADAPTrank clusters of the unmatched frontier by mnemonic-skeleton hashRanked clustering of the unmatched frontier by mnemonic-skeleton hashrepo signature filesLIVE
97tools/family_manifest.pyP6ADAPTname the one exemplar to draft per structural family, rankedRanked structural-family target manifest naming the one exemplar to draft per familyrepo signature filesLIVE
98tools/family_remap.pyP6ADAPTremap a matched exemplar's source onto a structural sibling by positional symbol pairingMechanically remaps a matched exemplar's C onto a structural sibling by positional symbol pairingrepo src layoutFROZENtools/share_body.py
99tools/family_sweep.pyP6ADAPTsweep a matched exemplar across every same-structure sibling, gate-arbitratedSweeps a matched exemplar across every same-structure sibling, gate-arbitratedrepo src/config layoutFROZENtools/share_body.py
100tools/fetch_psyq.shP9ADAPTacquire and checksum-verify vendor SDK pieces for a linked buildOptional acquisition and checksum verification of vendor SDK pieces for the linked buildPS1 SDK sources, repo pathsLIVE
101tools/find_addr_refs.pyP2PORTABLEfind code that materializes an absolute address, tracking registers rather than pairing windowsRegister-tracked scan for code that materializes an absolute address; never window-pairedMIPS encodings, repo binary registryLIVE
102tools/fix_arity_callers.pyP6ADAPTrepair a shared caller's argument-count conflict for the no-prototype failure classRepairs the shared-caller argument-count conflict for the no-prototype failure classrepo shared-header layoutLIVE
103tools/fix_decl_mirror.pyP6ADAPTbind a void definition to a symbol the destination declares as returning a valueBinds a void definition to its symbol when the destination declares a value returnrepo src layoutLIVE
104tools/fix_header_decl.pyP6ADAPTrewrite a shared-header caller declaration to a draft's byte-true signatureRewrites a shared-header caller declaration to a draft's byte-true signaturerepo shared-header pathSUPERSEDEDtools/conform_decls.py
105tools/fix_tu_ret_decls.pyP6ADAPTretype a unit's stale forward declarations to a draft's byte-true return, reverting on failureRetypes a binary's own stale forward declarations to a draft's byte-true return, revert-on-failrepo src layoutLIVE
106tools/format_finetune.pyP8ADAPTturn mined pairs into a chat-template instruction datasetTurns the mined pairs into a chat-template instruction datasetdataset paths, model chat templateLIVE
107tools/fragment_check.pyP8ADAPTrefuse a draft that swallows a neighbouring symbol inside one function's rangeRefuses drafts that subsume a neighbouring symbol, the enclosing-function traprepo asm layoutSTILL-NEEDEDrefuse a draft that swallows a neighbouring symbol inside one function's range
108tools/frogress_upload.pyP9ADAPTpublish progress metrics to a hosted progress servicePosts the progress JSON to a hosted progress service, dry-run by defaultservice URL, project/version namesSTILL-NEEDEDpublish progress metrics to a hosted decomp progress service
109tools/frontier_classify.pyP5ADAPTname the true blocker of every remaining open function, deterministicallyClassifies every remaining open function by its true blocker, deterministicallyrepo pathsSTILL-NEEDEDname the true blocker of every remaining open function, deterministically
110tools/frozen.pyP10PORTABLErefuse, from one place, the command line of a tool the project has frozenThe one refusal a FROZEN tool prints from its main(): the tool, the successor and why; imports never exit (libraries stay usable)nothingLIVE
111tools/gap_triage.pyP8ADAPTpre-filter agents' knowledge-gap reports against the existing technique documentPre-filters a wave's knowledge-gap reports against the existing documentationrepo doc pathsSTILL-NEEDEDpre-filter agents' knowledge-gap reports against the existing technique document
112tools/gate_lane.pyP8ADAPTdrive a wave's gate accepting either result shape and an explicit draft pathThe wave gate driver, accepting either result shape and an explicit draft pathrepo scratch pathsLIVE
113tools/gate_main.pyP8ADAPTgate the executable's drafts the only trustworthy way: a clean rebuild with bisectGates a batch of executable drafts the only trustworthy way: a clean rebuild with bisectrepo build/make targetsLIVE
114tools/gate_main_parallel.pyP8ADAPTdiscover an executable slate's bankable drafts concurrently, then bank once seriallyDiscovers the executable's bankable drafts concurrently, then banks them once, seriallyrepo build/make targetsSTILL-NEEDEDdiscover an executable slate's bankable drafts concurrently, then bank once serially
115tools/gate_stage.pyP8ADAPTrun the one shared recovery, byte-gate and log ladder every producer callsThe shared deterministic recovery, gate and log ladder every producer callsrepo src/config layoutLIVE
116tools/gate_triage.pyP8ADAPTroute a gate result set to the repair tool its own verdict namesRoutes a gate result set to the repair tool its own verdict namesrepo scratch pathsLIVE
117tools/gate_wave.pyP8ADAPTgate a whole wave by splitting table-bearing drafts off and running lanes concurrentlyGates a whole wave by splitting table-bearing drafts off and running both lanes concurrentlyrepo scratch/config layoutLIVE
118tools/gater_lane.pyP8ADAPTdrain finished drafts into the gate continuously while drafting still streamsContinuous gater draining a wave's finished drafts into the parallel gate, grouped by binaryrepo scratch pathsSTILL-NEEDEDdrain finished drafts into the gate continuously while drafting still streams
119tools/gccmap_cites.pyP7ADAPTtag every compiler-source citation with the source tree it refers toTags every compiler-source citation in the codegen-map docs with the tree it refers torepo doc/reference pathsLIVE
120tools/gen_engine_decls.pyP6ADAPTdeclare every shared function and data symbol once, canonically, in a generated headerDeclares every shared function and data symbol once, canonically, in a generated headerrepo shared-header pathSUPERSEDEDtools/conform_decls.py
121tools/gen_harvest_targets.pyP8ADAPTgenerate a callee-signature-aware target manifest with per-function fleet reachGenerates a callee-signature-aware target manifest with per-function fleet reachcanonical source binary, repo pathsFROZENtools/share_census.py
122tools/gen_lib_subsegs.pyP3ADAPTgenerate segment lines and a stub list for a multi-block vendor library regionGenerates segment lines and a stub list for a multi-block vendor library regionrepo config layout, PS1 SDK libsLIVE
123tools/ghidra_annotations_delta.pyP2ADAPTderive the hand-authored annotations by subtracting a fresh analysis baselineDerives the hand-authored annotation rows by subtracting a fresh rebuild baselinerepo pathsLIVE
124tools/ghidra_apply_symbols.shP10ADAPTmirror the curated symbol file into the analysis database with a real saveMirrors the curated symbol file into the analysis program headlessly, with a real saverepo symbol path, project nameSTILL-NEEDEDmirror the curated symbol file into the analysis database headlessly with a real save
125tools/ghidra_export_annotations.shP2ADAPTexport a program's annotations to byte-stable line-delimited records, read-onlyRead-only export of a program's annotations to byte-stable line-delimited JSONrepo pathsLIVE
126tools/ghidra_import.shP2ADAPTimport and auto-analyze a console executable headlessly with the platform loaderHeadless import and auto-analysis of a console executable with the platform loaderPS1 executable loader, project nameLIVE
127tools/ghidra_import_raw.shP2ADAPTimport a flat headerless blob at a given base with the right processor specHeadless import of a flat headerless blob at a given base with the right processor specPS1 processor spec, project nameLIVE
128tools/ghidra_mcp_start.shP2ADAPTstart the disassembler's automation server detached on a fixed local portStarts the headless disassembler MCP server detached on a fixed local portrepo paths, project name, portLIVE
129tools/ghidra_mcp_stop.shP2ADAPTclose the analysis program cleanly so its edits actually persistClean save-and-close via a sentinel file; the only persistence eventrepo paths, project nameLIVE
130tools/ghidra_mcp_verify.shP2ADAPTre-open read-only to confirm a symbol edit survived the saveRead-only re-open confirming a symbol edit actually persisted after save-shutdownrepo paths, project nameLIVE
131tools/ghidra_rebuild.shP2ADAPTrebuild an analysis program from committed text plus extracted bytes, proving equalityRebuilds one analysis program from committed text plus extracted bytes, and proves equalityrepo paths, project layoutLIVE
132tools/ghidra_roster.pyP2ADAPTgenerate and check a roster of committed analysis programs from the registryGenerates and checks a roster of committed analysis programs from the build registryrepo config pathsLIVE
133tools/ghidra_scripts/ApplySymbols.javaP10PORTABLEapply curated names and signatures inside the analysis tool and saveThe in-tool half of that mirror: apply curated names and signatures, save on exitnoneLIVE
134tools/ghidra_scripts/BfmMcpServer.javaP2ADAPTserve the analysis tool over an automation protocol, saving on a sentinel stopThe headless MCP server itself; holds an open transaction and saves on a sentinel stoprepo sentinel path, server portLIVE
135tools/ghidra_scripts/DecompileAt.javaP2ADAPTdecompile one function at a given address straight from the analysis databaseHeadless script decompiling the function at one address and printing its Cdefault addressSTILL-NEEDEDdecompile one function at a given address straight from the analysis database
136tools/ghidra_scripts/DecompileFunctions.javaP2PORTABLEbatch-decompile an address list into one source file per functionHeadless batch decompile of an address list into one C file per functionnoneLIVE
137tools/ghidra_scripts/DefineFunctions.javaP2ADAPTcreate functions at externally validated entry points listed in a fileDisassembles and creates functions at externally validated entry points listed in a filerepo scratch pathLIVE
138tools/ghidra_scripts/DumpFunctionSignatures.javaP2PORTABLEdump per-function fingerprints in three hash tiers for cross-binary correspondenceRead-only per-function fingerprint dump in three hash tiers for cross-binary correspondencenoneLIVE
139tools/ghidra_scripts/DumpProgramInfo.javaP2PORTABLEprint a program's language, compiler spec, image base and function countPrints program metadata: language, compiler spec, image base, function count, propertiesnoneLIVE
140tools/ghidra_scripts/ExportAnnotations.javaP2PORTABLEserialize types, signatures, data, comments and labels to stable recordsRead-only serialization of types, signatures, data, comments, bookmarks and labels to stable JSONLnoneLIVE
141tools/ghidra_scripts/ExportSymbols.javaP2PORTABLEexport the analysis database's hand-authored symbols to a committable text fileExports user-defined symbols to a committable text file so annotations are version-controllednoneSTILL-NEEDEDexport the analysis database's hand-authored symbols to a committable text file
142tools/ghidra_scripts/GetSymbolAt.javaP2PORTABLEprint the symbol name at one address for scripted persistence checksPrints the function or symbol name at one address for scripted persistence checksnoneLIVE
143tools/ghidra_scripts/ImportAnnotations.javaP2PORTABLEimport annotations back into a program, comparing before writingIdempotent compare-before-write import of the annotation JSONL back into a programnoneLIVE
144tools/ghidra_scripts/ImportPsyqGdt.javaP2ADAPTresolve a vendor SDK type archive into the program's type managerHeadlessly resolves a vendor SDK type archive into the program's type managerPS1 SDK type archive nameLIVE
145tools/ghost_census.pyP7PORTABLEfind pseudo-registers with references but no remaining occurrences, and their frame slotsFrame-residue oracle: finds pseudos with references but no remaining occurrences, and their slotscompiler pass-dump formatLIVE
146tools/gitignore_template_check.pyP9ADAPTassert a documented ignore-file template equals the shipped template byte for byteAsserts the ignore-file template in the docs equals the kit's template byte for byterepo doc and template pathsLIVE
147tools/glm_parallel.shP8ADAPTsplit a target list into slices and run concurrent drafting workersSplits a target list into slices and runs concurrent drafting workers against one endpointprovider endpoint, repo pathsSUPERSEDEDtools/ox_campaign.py
148tools/glm_reconcile.pyP8ADAPTaim a reasoning model at the declaration wall and capture its reasoningAims a reasoning model at the declaration wall and captures its reasoning for reuseprovider endpoint, repo pathsONE-OFFthe measured verdict that the declaration wall is a reconciliation problem, plus the captured reasoning distilled into the cookbook (Phase 23 T10.7 A/B)
149tools/grinder.pyP7ADAPTgrind the closest near-misses with the permuter and bank through the gateToken-free permuter daemon grinding the closest near-misses and banking through the gaterepo scratch pathsLIVE
150tools/harvest_verify.pyP8ADAPTsubstitute, build, keep only if byte-identical, else revertThe whole-binary byte gate: substitute, build, keep only if identical, else revertrepo src/build layoutLIVE
151tools/idiom_harvest.pyP8ADAPTpull newly learned idioms out of a wave's logs into candidate notesPulls the newly learned idioms out of a wave's shard logs into candidate notesrepo log pathsLIVE
152tools/idiom_hunt.pyP8ADAPTdiscover new compiler idioms from grouped near-misses with a reasoning modelUses a reasoning model on grouped near-misses to discover new compiler idiomsprovider endpoint, repo pathsLIVE
153tools/idiom_loop.pyP8ADAPTdrain the easy fuel, learn the next idiom, hand off, repeatNever-ending meta-loop: drain the easy fuel, learn the next idiom, hand offrepo scratch pathsSUPERSEDEDtools/idiom_serial.py
154tools/idiom_serial.pyP8ADAPTlearn idioms serially so each target inherits what the previous one taughtThe serial idiom-learning lane where each step inherits what the previous learnedrepo scratch pathsLIVE
155tools/idxtab_map.pyPROJECT-ONLYPROJECT-ONLYdecode an on-disc index table into a payload-to-binary naming mapDecodes one game's on-disc index table and its payload-to-binary naming convention — the load map itself is a Phase-2 taskproject-onlyLIVE
156tools/inject_capped_externs.pyP6ADAPTfree duplicate matches a share propagation skips as not self-containedFrees high-reach inline matches skipped as not self-contained by injecting their file-scope externsrepo shared-header layoutFROZENtools/share_body.py
157tools/integration_resolver.pyP8ADAPTre-judge already byte-correct drafts and bank them for zero model tokensZero-token lane re-judging drafts that are already byte-correct and banking themrepo scratch pathsLIVE
158tools/interleave_check.pyP6ADAPTassert a read-only-data carve's interleave order equals the segment sequenceAsserts the carve interleave order equals the segment sequence, position by positionrepo config layoutSTILL-NEEDEDassert a read-only-data carve's interleave order equals the segment sequence
159tools/journal_notes.pyP8ADAPTmine each function's own past-attempt history out of agent journalsMines per-function past-attempt notes out of the agent journals into card fuelagent transcript pathsLIVE
160tools/jr_isolate.pyP6ADAPTisolate one switch function into its own segment for an independent table carveIsolates one switch function into its own code segment for an independent table carverepo config/src layoutSUPERSEDEDtools/jr_isolate_all.py
161tools/jr_isolate_all.pyP6ADAPTisolate every switch function in a binary in one multi-cut resegmentOne-shot multi-cut resegment isolating every switch function in a binaryrepo config/src layoutLIVE
162tools/jtbl_carve.pyP6ADAPTset up the read-only-data carve for a binary's matched jump-table functionsSets up the read-only-data carve for a binary's matched jump-table functionsrepo config/build layoutLIVE
163tools/jtbl_family_bank.pyP6ADAPTbank a matched jump-table exemplar across its siblings, reverting on failureBanks a matched jump-table exemplar across its structural siblings, revert-on-failrepo config/src layoutLIVE
164tools/jtbl_lane.pyP8ADAPTcarve, draft and bank jump-table functions as their own laneCarve, draft and bank lane for jump-table functions, with the carve deliberately outside itrepo config/src layoutLIVE
165tools/jtbl_pads_fix.pyP6ADAPTrepair a stale padding spec by search plus byte proof, never by guessingRepairs a stale padding spec by search plus byte proof, never by guessingrepo config layoutLIVE
166tools/jtbl_rodata_pads.pyP6ADAPTreproduce the original inter-table padding in a multi-table carvePost-assembler filter reproducing the original inter-table padding in a multi-table carvecompiler/assembler behaviour, repo build pathsLIVE
167tools/kit_coverage.pyP9ADAPTassert that the distilled kit cites or dispositions every rule and every hindsight entry of the source project (no silent gap in the distillation)Derives the rule and accelerator populations from the digest and the ledger, matches them against the kit's provenance lines, refuses an uncovered entry unless config/kit_coverage_map.tsv dispositions itrepo digest/ledger/kit paths + the provenance citation formsLIVE
168tools/kit_lint.pyP9ADAPTkeep a portable starter kit free of one project's names, paths and numbersKeeps the day-one kit free of the source project's names, paths, addresses and rule numbers, honours its placeholder contract, and syntax-checks its scriptsthe kit path and the source project's leak patternLIVE
169tools/lane_inflight.pyP8ADAPTknow authoritatively which drafting agents are currently liveThe authoritative ledger of which drafting agents are currently liverepo scratch pathsLIVE
170tools/lanes/bounce_drafter_on_queue.shP8ADAPTrestart a drafting worker at a queue boundary so new arguments applyWaits for the in-flight wave to queue, then restarts the drafting processlane script pathsSUPERSEDEDtools/lanes/relaunch_drafter_shell.sh
171tools/lanes/campaign.shP8ADAPTrun two drafting pools against one serial gateDual-pool campaign lane: two drafting pools, one serial gateprovider config, repo pathsLIVE
172tools/lanes/distill.shP8ADAPTrun distillation beside drafting so learned idioms reach the next waveThe distillation lane, running beside drafting and never in front of itrepo scratch pathsSTILL-NEEDEDrun distillation beside drafting so learned idioms reach the next wave
173tools/lanes/drafter.shP8ADAPTkeep drafting running continuously, touching only scratch stateThe drafting lane that must never stop; touches only scratch staterepo scratch paths, provider configLIVE
174tools/lanes/elastic.shP8ADAPTspend spare provider capacity on other work when the gate is the constraintSpends spare provider capacity on extra work when the main lane cannotprovider config, repo pathsSTILL-NEEDEDspend spare provider capacity on other work when the gate is the constraint
175tools/lanes/forever.shP8ADAPTkeep an unattended campaign loop alive across run caps and crashesKeeps the wave campaign running indefinitely across caps and crashesrepo scratch pathsSTILL-NEEDEDkeep an unattended campaign loop alive across run caps and crashes
176tools/lanes/gater.shP8ADAPTrun a restartable gating lane that is safe to kill at any timeThe restartable gating lane, safe to kill and relaunch at any timejob count, repo pathsLIVE
177tools/lanes/grinder_lane.shP8ADAPTrun the token-free permuter grinder beside a saturated gateRuns the model-free permuter grinder beside a saturated gaterrepo scratch pathsSTILL-NEEDEDrun the token-free permuter grinder beside a saturated gate
178tools/lanes/launch_ox.shP8ADAPTlaunch a sharded unattended campaign run with a tag and shard countLauncher for a sharded campaign run with a tag and shard countprovider key file, repo pathsONE-OFFthe sharded overnight campaign run it launched (its key file, endpoint and model are that campaign's)
179tools/lanes/main.shP8ADAPTrun the executable's own lane loop on its clean-rebuild cadenceThe executable's own lane loop, on its clean-rebuild cadencerepo make targetsLIVE
180tools/lanes/maintenance.shP8ADAPTrun the free recovery and re-judgement passes whenever the gate is idleThe maintenance lane running the free recovery and re-judgement passesrepo scratch pathsSTILL-NEEDEDrun the free recovery and re-judgement passes whenever the gate is idle
181tools/lanes/relaunch_drafter_shell.shP8ADAPTrestart the drafting lane's shell at a queue boundary so new arguments applyWaits for a wave to queue, then restarts the drafting lane's shell so new arguments applylane script pathsSTILL-NEEDEDrestart the drafting lane's shell at a queue boundary so new arguments apply
182tools/lanes/resolver_lane.shP8ADAPTre-judge, verify twice, stage and gate correct drafts for zero tokensThe zero-token resolver lane: re-judge, verify twice, stage, gate, commitrepo scratch pathsSTILL-NEEDEDre-judge, double-verify, stage and gate already-correct drafts for zero model tokens
183tools/lanes/restart_gater_when_idle.shP8ADAPTrestart the gating lane's shell between gates so a jobs change landsRestarts the gating lane's shell once the current gate finisheslane script pathsSTILL-NEEDEDrestart the gating lane's shell between gates so a jobs change lands
184tools/lanes/restart_main_lane_when_idle.shP8ADAPTrestart the executable lane's shell at its one safe boundaryRestarts the executable lane's shell at its one safe boundarylane script pathsSTILL-NEEDEDrestart the executable lane's shell at its one safe boundary without losing work
185tools/lanes/sibling_lane.shP8ADAPTdrive structural sibling sweeps with synthesized declarations, free of model tokensThe free sibling lane driving structural sweeps with synthesized declarationsrepo pathsSTILL-NEEDEDdrive structural sibling sweeps with synthesized declarations, free of model tokens
186tools/lanes/stallguard.shP8ADAPTdetect and repair lane stalls automatically on measured conditionsDetects and repairs lane stalls on measured conditions every minute, logging each actionlane names, repo pathsSTILL-NEEDEDdetect and repair lane stalls automatically on measured conditions
187tools/lanes/toolwork.shP8ADAPTrun tooling-design briefs against an external model with the build configRuns tooling-design briefs against an external model with build config as contextprovider config, repo pathsONE-OFFthe tooling-design briefs it ran against an external model (its key, endpoint and model are that era's)
188tools/lanes/wait_distill.shP8ADAPTblock until a background lane raises its next batch, without pollingBlocks until the distillation lane raises the next batch, then exitsrepo scratch pathsSTILL-NEEDEDblock until a background lane raises its next batch, without polling
189tools/launch_check.pyP8ADAPTrefuse to launch an agent at a target that is already bankedRefuses to launch an agent at a target that is already bankedrepo src layoutLIVE
190tools/ld_interleave.pyP3ADAPTreorder a generated linker script to reproduce the original section interleavingReorders a generated linker script to reproduce the original section interleavingrepo build pathsLIVE
191tools/len_tells.pyP7ADAPTclassify a length-drift near-miss against its own target and build its routing cardClassifies a length-drift near-miss against its own target and builds the routing cardrepo scratch pathsLIVE
192tools/lenmiss_route.pyP7ADAPTroute a length-drift near-miss pile through the documented lenses, re-verifiedRoutes the length-drift near-miss pile through the documented lenses, re-verified against the treerepo scratch pathsONE-OFFthe routed outcome of one length-drift near-miss pile (it consumes that audit's classified ledger)
193tools/lever_progress.pyP10ADAPTkeep the lever count as a series a chart and a story can be drawn fromThe Phase-36 lever series: a milestone row appended per census snapshot (its totals by class with the tree's HEAD, since a census is a moment that cannot be recovered later) plus the campaign table derived from the de-lever ledger on every render — per batch the rungs used, the bodies first judged, the sites removed and rewritten, and, scored as a transition against what that body's previous row left, the sites a later rung closed and the bodies it made lever-free; renders both into docs/levers.md's generated block and --check refuses a series that is not this tree'sthe census json, the delever ledgerLIVE
194tools/lever_census.pyP10ADAPTcensus every compiler-forcing construct in the C and gate the levers-off phaseThe Phase-36 census of lever sites (register pins, asm statements by kind, volatile levers, bare register, asm-label aliases, builtins, attributes; the whole-body hand-asm routines and the GTE ops set apart) derived from the shared-body scanner with a per-token coverage assertion against the raw text, four known-true controls, the !FAKE marker split, --check (0 unmarked pins/asm, 0 orphan markers) and --strict (0 pins, 0 asm) gates, --sites for the delever ledger, a fixture self-testrepo paths, the shared-body scannerLIVE
195tools/lift_types.pyP6ADAPTlift a named list of types fleet-wide into the shared type header — the canonical type layer from the first bank (Phase 6, the multiplier); again at readability (Phase 10)Lifts a named list of types fleet-wide into the shared type headerrepo shared-header pathLIVE
196tools/lint_symbol_refs.pyP10ADAPTflag address-named references whose address now has a curated nameFlags address-named references in committed sources whose address now has a curated namerepo symbol/src pathsLIVE
197tools/lora_grind.pyP8ADAPTrotate binaries drafting small stubs with a served model, gating and propagatingMass-run driver rotating binaries, drafting small stubs with a served model, gating, propagatingrepo scratch paths, model endpointLIVE
198tools/macro_draft.pyP6ADAPTmaterialize a shared macro body back into a compilable standalone draftMaterializes a shared macro body back into a compilable standalone draftrepo shared-header layoutONE-OFFthe per-function headers under src/shared/ (Phase 35 T4; the macro form is gone)
199tools/macro_to_header.pyP10PROJECT-ONLYconvert a shared-body macro header into per-function plain-C headers included at each siteThe Phase-35 converter: every DEFINE_ macro body becomes a plain-C header under src/shared/<space>/ included at its site, the legacy name-parameterized headers converted, the registry text-edited, the macro header deleted; --plan / --apply / --finalize / --verifythe macro form is this project's; a kit-born project shares headers from its first bankLIVE
200tools/main_diff_locate.pyP7ADAPTturn a red whole-binary result into a named list of divergent symbolsTurns a red whole-binary result into a named list of divergent symbolsrepo build/config layoutLIVE
201tools/main_lane.pyP8ADAPTrun the executable's own draft, gate and commit cadence beside other lanesThe executable's own draft, gate and commit cadence beside the other lanesrepo build/make targetsLIVE
202tools/main_queue_rebuild.pyP8ADAPTrebuild the executable lane's queue from the tree, never from a stale listRebuilds the executable lane's queue from the tree, never from a stale listrepo src layoutLIVE
203tools/main_seed_ends.pyP2ADAPTemit function start and length seeds for the executable's own code objectsEmits function start/length seeds for the executable's game-code objects, derived from the buildrepo build pathsLIVE
204tools/make_apicard_used.pyPROJECT-ONLYPROJECT-ONLYlist the interface library's objects and address window the executable actually linksHard-codes one executable's interface-library address window and object rosterproject-onlyLIVE
205tools/make_libgs.shPROJECT-ONLYPROJECT-ONLYassemble a vendor graphics library's object list and address blocks for linkingHard-codes one executable's exact vendor object list and address blocksproject-onlyLIVE
206tools/make_snd_used.pyPROJECT-ONLYPROJECT-ONLYlist a sound library's address window and per-address exclusionsHard-codes one executable's sound-library address window and per-address exclusionsproject-onlyLIVE
207tools/masked_diff.pyP4PORTABLEcompare instructions with relocations masked, shared by matcher and scorerShared relocation-masked instruction comparison used by the matcher and the permuter scorerMIPS relocation encodingsLIVE
208tools/masked_scorer.pyP7ADAPTscore permuter candidates on true masked code closeness, not mnemonic diffDrop-in permuter scorer scoring true relocation-masked code closeness instead of mnemonic diffpermuter internals, repo module pathsLIVE
209tools/match_one.pyP4ADAPTcompile one function standalone and compare its masked bytes to the targetCompiles one function standalone with the pinned toolchain, masks relocations, compares to target bytescompiler triple, repo build flagsLIVE
210tools/match_protos.pyP6ADAPTjoin two related builds' signature dumps into a function correspondenceJoins per-function signature dumps of two related builds into a function correspondencerepo signature filesLIVE
211tools/mine_hindsight.pyP9ADAPTgather every recorded hindsight into one document with file and line anchorsGathers every recorded hindsight with file and line anchors into one documentrepo doc pathsSTILL-NEEDEDkept: every project writes its retrospective from anchored records — the PhaseEnd narrative axis feeds exactly this tool
212tools/mk_write.pyP3ADAPTwrite the generated binary-registry makefile safely, validating before replacingThe only safe writer of the generated binary-registry makefile; validates before replacingrepo config pathLIVE
213tools/neighbor_ref.pyP8ADAPTrank already-matched functions worth reading as worked examples for an open stubFor an open stub, ranks already-matched functions worth reading as worked examplesrepo signature filesLIVE
214tools/new_binary.shP3ADAPTonboard any flat blob in one command: config, registry entry, first buildOne-command onboarding of any flat blob: config from template, registry entry, first buildrepo config/template paths, the source game's payload classesLIVE
215tools/new_overlay.shPROJECT-ONLYPROJECT-ONLYonboard one payload by its container and file-index namingTakes one game's container and file-index naming as its command-line contractproject-onlyLIVE
216tools/normalize_self_decls.pyP6ADAPTnormalize a function's own declaration when a templated definition lands in a new unitNormalizes a function's own declaration when a templated definition lands in a new unitrepo src layoutFROZENtools/share_body.py
217tools/o0_boundary.pyP6ADAPTfind and bank unoptimized functions stranded at an optimized region's boundaryFinds and banks unoptimized functions stranded at the end of an unoptimized regionrepo config layoutSTILL-NEEDEDfind and bank unoptimized functions stranded at an optimized region's boundary
218tools/o0_detect.pyP6ADAPTanswer from a prologue whether a function was built unoptimizedThe single place that answers whether a function was built unoptimized, from its prologuecompiler prologue shapeLIVE
219tools/o0_subsplit.pyP6ADAPTroute an unoptimized address range sitting inside an otherwise optimized objectRoutes an unoptimized address range that sits inside an otherwise optimized objectrepo config layoutFROZENthe Makefile -O0 globs (tools/rollout_o0.py)
220tools/objdiff_report.pyP9PORTABLEconvert progress metrics into an external progress-report schemaConverts the progress JSON into the external progress-report schemaexternal report schemaLIVE
221tools/oracle/reg_renumber_swap.shP7ADAPTdecide whether a residual reorder is scheduling or a register-grant consequenceMechanized oracle separating a register-allocation swap from a scheduling reordercompiler triple, repo scratch pathsSTILL-NEEDEDdecide whether a residual reorder is a scheduling choice or a register-grant consequence
222tools/oracle_reorder.pyP5ADAPTdecide whether a near-miss residual is a source defect or an assembler artifactDecides whether a near-miss residual is a source defect or an assembler artifactpinned assembler flagsLIVE
223tools/orchestrator.pyP8ADAPTpick the pool, emit the batch and record the cycle, deterministicallyThe deterministic half of the unattended loop: pick the pool, emit the batch, record the cyclerepo scratch pathsLIVE
224tools/overlay_src_split.pyP6ADAPTpartition a source file at object boundaries, aware of comment stateComment-state-aware partition of a source file, the oracle for the split chainrepo src layoutLIVE
225tools/ox_campaign.pyP8ADAPTloop draw, draft, pre-filter, gate, commit and ledger unattendedThe unattended wave loop: draw, draft, pre-filter, gate, commit, ledger, repeatrepo scratch paths, provider configLIVE
226tools/p16_improve.pyP5ADAPTrevert known answers to stubs and categorize every harness failure it exposesKnown-answer loop: reverts matched functions to stubs and measures the real pipelinerepo src/build pathsFROZENtools/share_body.py
227tools/p16_known_answer.pyP5ADAPTvalidate a scaffold pipeline against known answers across difficulty bandsGraduated known-answer validation of the scaffold pipeline across difficulty bandsrepo pathsSUPERSEDEDtools/p16_improve.py
228tools/p16_permute.pyP7ADAPTdrive the permuter per function, building base, target and settingsPer-function permuter driver building base, target and settings, then reporting closenessrepo scratch paths, permuter layoutLIVE
229tools/pads_audit.pyP6ADAPTderive an object's inter-table padding spec from the bytes instead of searchingDerives each object's padding spec from the bytes instead of searching for itrepo build/config layoutSTILL-NEEDEDderive an object's inter-table padding spec from the bytes instead of searching
230tools/parallel_gate.pyP8ADAPTgate many binaries concurrently in isolated worktrees and merge only passersGates many binaries concurrently in isolated worktrees and merges only the passersrepo worktree/build layoutLIVE
231tools/payload_base_evidence.pyP2ADAPTrank candidate load addresses for a payload that was never onboardedRanks candidate load addresses for an unonboarded payload from pointers, self-calls and upper-half reachthe source game's payload mapSTILL-NEEDEDrank candidate load addresses for a payload that was never onboarded
232tools/permuter/compile.shP7ADAPTcompile a permuter candidate exactly as the build rule doesThe permuter's compile command, mirroring the build rule exactly so objects are build-faithfulcompiler triple, repo build flagsLIVE
233tools/permuter/compile_o0.shP7ADAPTcompile a permuter candidate unoptimized, exactly as the build rule doesUnoptimized variant of the same permuter compile commandcompiler triple, repo build flagsLIVE
234tools/permuter/run_masked.pyP7ADAPTrun the permuter with a masked scorer rebound, without patching itRuns the permuter with the masked scorer rebound before its entry point, without patching itpermuter internals, repo module pathsLIVE
235tools/permuter_ils.pyP7ADAPTwarm-restart the permuter from its best waypoint each cycleIterated-local-search wrapper warm-restarting the permuter from the best waypoint each cyclepermuter layout, repo scratch pathsLIVE
236tools/permuter_sweep.pyP7ADAPThand a batch's near-misses to the permuter, only the ones worth CPUHands a batch's near-misses to the permuter, but only the ones worth the CPUrepo scratch pathsLIVE
237tools/permuter_weights.pyP7PORTABLEsteer permuter mutation toward the lever family the residual class impliesDirects permuter mutation toward the lever family the residual class impliespermuter settings formatLIVE
238tools/plumbing_groups.pyP5ADAPTgroup recorded declaration-conflict failures into sweepable work groupsGroups recorded declaration-conflict failures into sweepable work groups from the ledgersrepo ledger pathsSUPERSEDEDtools/gate_triage.py
239tools/prefetch_fleet.pyP2ADAPTbatch-decompile one representative per distinct open class into a cacheBatch headless decompilation of one representative per distinct open class into a cacherepo paths, binary registryLIVE
240tools/pregate_check.pyP8ADAPTvalidate a batch's declaration compatibility in seconds without building itValidates a batch without building it, in seconds instead of minutesrepo src layoutLIVE
241tools/progress.pyP9ADAPTcompute and publish progress metrics as report, machine data and per-binary breakdownsComputes and publishes the progress metrics as report, JSON and per-binary breakdownsrepo src/config layoutLIVE
242tools/psyq_bss_probe.pyP3ADAPTask whether an object's scattered zero-init section can be placed byte-exactlyAsks whether an object's scattered zero-init section can be split and placed byte-exactlyPS1 SDK object shapeLIVE
243tools/psyq_bss_split.pyP3PORTABLEsplit one zero-init section of an object into per-base no-bits piecesRewrites an ELF object, splitting one zero-init section into per-base no-bits piecesELF32 REL layoutLIVE
244tools/psyq_build_libs.shP3ADAPTconvert vendor library members to the linker's format and archive themConverts vendor library members to ELF and archives them per libraryPS1 SDK, repo scratch pathsLIVE
245tools/psyq_identify.pyP3ADAPTlocate where vendor library objects are linked in a target imageLocates where vendor library objects are linked in a target image via relocation-masked patternsPS1 SDK objectsLIVE
246tools/psyq_integrate.pyP3ADAPTwire real library objects into the split build, replacing stub subsegmentsWires real library objects into the split build, replacing stub subsegmentsrepo config/build pathsLIVE
247tools/psyq_lib_split.pyP3ADAPTsplit a vendor library archive into its member objectsSplits a vendor linker-format library archive into its member objectsPS1 SDK archive formatLIVE
248tools/psyq_libs_from_disc.pyP3ADAPTextract vendor SDK library files from the vendor's runtime-library discExtracts vendor SDK library files from the vendor's runtime-library disc imagevendor disc layout, PS1 SDKLIVE
249tools/psyq_link.pyP3ADAPTlink one vendor object at a fixed address so its code is byte-identicalLinks one vendor object at a fixed address so its code is byte-identical to the targetPS1 SDK, repo build pathsLIVE
250tools/psyq_link_lib.pyP3ADAPTlink every used object of a vendor library and byte-verify eachDriver linking every used object of a library and byte-verifying eachPS1 SDK, repo pathsSTILL-NEEDEDlink every used object of a vendor library and byte-verify each
251tools/psyq_link_region.pyP3ADAPTlink a whole library's objects in place of stubs, placing data no-loadLinks a whole library's objects in place of stubs, placing non-code sections as no-loadPS1 SDK, repo pathsLIVE
252tools/public_rewrite/absent_scan.pyP9ADAPTassert nothing purged remains in any object, message or refAsserts nothing purged remains in any object, message or refrepo scratch pathsSTILL-NEEDEDkept: the history-rewrite package is one unit — the runbook's "if bytes got in anyway" path needs it whole
253tools/public_rewrite/build_commit_map.pyP9ADAPTemit the public ordinal-to-hash map and the private old-to-new mapEmits the public ordinal-to-new-hash map and the private old-to-new maprepo doc/scratch pathsLIVE
254tools/public_rewrite/common.pyP9ADAPTshare the purge rules and derived hash sets across the rewrite packageShared purge rules, derived hash sets and helpers for the history-rewrite packagerepo scratch pathsLIVE
255tools/public_rewrite/gate_scan.pyP9ADAPTprove no derived blob is reachable from the refs about to be pushedHistory gate: no derived blob reachable from the given refs, four derived checksrepo declaration filesLIVE
256tools/public_rewrite/hash_dict.pyP9ADAPTmap every old commit hash to an inert token, privatelyBuilds the private dictionary mapping every old commit hash to an inert tokenrepo scratch pathsLIVE
257tools/public_rewrite/probe_github.shP9ADAPTprobe whether old commit hashes still resolve on the hosting serviceProbes whether old commit hashes still resolve on the hosting service after a purgehosting service API, repo nameLIVE
258tools/public_rewrite/resolve_tokens.pyP9ADAPTturn ordinal tokens back into shortest-unique hashes at the rewritten tipTurns ordinal tokens back into shortest-unique hashes at the rewritten tiprepo tracked text filesLIVE
259tools/public_rewrite/run_filter.pyP9ADAPTrun a history rewrite inside a bare clone, refusing to run elsewhereComposes and runs the history rewrite inside a bare clone, refusing to run elsewhererewrite tool version, repo scratch pathsSTILL-NEEDEDkept: the history-rewrite package is one unit — the runbook's "if bytes got in anyway" path needs it whole
260tools/public_rewrite/scrub.pyP9ADAPTscrub one text with the rewrite's rules, with a sample and self-testThe single scrub function of the history rewrite, plus its sample and self-testpurge rules, repo scratch pathsLIVE
261tools/public_rewrite/verify_rewrite.pyP9ADAPTprove pairwise that a rewrite changed only what it was told toPairwise proof that the rewrite changed only what it was told to changerepo scratch pathsLIVE
262tools/r22_verify.shP8ADAPTverify the whole fleet exclusively on a clean tree and clear deferred debtExclusive clean-tree fleet verification that also clears deferred-check debtrepo make targetsLIVE
263tools/ram_probe.pyP2ADAPTcapture and diff live console memory across scenarios to type struct fieldsCaptures, diffs and reads emulator main RAM over its web API for field typingemulator host/port, 2 MB console RAM mapSTILL-NEEDEDcapture and diff live console RAM across scenarios to type struct fields
264tools/reconcile_slate.pyP6ADAPTdrive a whole batch to declaration-compatible before any rebuild is spentDrives a whole batch to declaration-compatible before any rebuild is spentrepo src layoutSUPERSEDEDtools/pregate_check.py
265tools/reconcile_tu.pyP6ADAPTconform a draft's data declarations to what its destination unit can seeConforms a draft's data declarations to what the destination translation unit can actually seerepo src layoutLIVE
266tools/recover_drafts.pyP8ADAPTrecover deleted agent draft files from a run's transcriptsRecovers agent-written draft files from a run's transcripts after they were deletedagent transcript pathsSUPERSEDEDtools/agent_drafts_restore.py
267tools/recover_giant.pyP8ADAPTrecover a large draft rejected only on declaration plumbing, with canonical externsCanonical-extern recovery for a large draft rejected only on declaration plumbingrepo shared-header layoutFROZENtools/share_body.py
268tools/recover_integration.pyP8ADAPTdrive batch integration recovery over a directory of correct-but-rejected draftsBatch integration recovery driver over a wave directory of correct-but-rejected draftsrepo scratch/src layoutLIVE
269tools/recover_rejects.pyP8ADAPTturn pre-gate rejects back into bankable drafts for zero model tokensTurns pre-gate rejects back into bankable drafts for zero model tokensrepo scratch pathsLIVE
270tools/recover_route.pyP8ADAPTname the one recovery tool that actually applies to a drop verdictGiven a drop verdict, names the one recovery tool that actually appliesrepo scratch pathsLIVE
271tools/reloc_identity.pyP5ADAPTcheck the symbol identity the masked comparison deliberately hidesDisagreeing oracle checking the symbol identity the masked comparison deliberately hidesrepo build pathsLIVE
272tools/reloc_verify.pyP5ADAPTresolve every relocation in a draft and compare the resolved words to targetResolves every relocation in a draft and compares the resolved words to the targetrepo build pathsSTILL-NEEDEDcatch a wrong-symbol or wrong-address draft the masked comparison scores as matching
273tools/reorder_passthrough.pyP3ADAPTrestore the assembler-reorder build path for objects originally assembled that wayRestores the assembler-reorder build path for the objects originally assembled that waypinned assembler flags, repo build pathsLIVE
274tools/residual_class.pyP7PORTABLEmap a residual to a named codegen class by decoding its wordsDeterministic decoder-based classifier mapping a residual to a named codegen classMIPS encodingsLIVE
275tools/residual_rules.pyP7ADAPTturn a measured residual into the specific documented lever that addresses itTurns a measured residual into the specific documented lever that addresses itrepo doc pathsSUPERSEDEDtools/residual_rules_b.py
276tools/residual_rules_b.pyP7ADAPTclassify a residual's shape to its documented lever, as an independent implementationIndependent second implementation of residual-shape to rule classification, for head-to-headrepo doc pathsLIVE
277tools/restage_matching.pyP8ADAPTre-stage only drafts that match in their real unit so one failure is isolatedRe-stages only the drafts that compile and match in their real unit, so one failure is isolatedrepo src layoutSTILL-NEEDEDre-stage only drafts that match in their real unit so one failure is isolated
278tools/restore_dropped_decls.pyP6ADAPTrestore file-scope declarations a share propagation deleted with the bodyPuts back file-scope declarations a share propagation deleted with the bodyrepo src layoutFROZENtools/share_body.py
279tools/rollout_o0.pyP6ADAPTroll an unoptimized definition atomically across every binary carrying itGeneralized two-file atomic rollout of an unoptimized definition across every binary carrying itrepo src/config layoutLIVE
280tools/rtu_match.pyP4ADAPTsplice a candidate into a copy of its real translation unit and compare bytesSplices a candidate into a copy of the real translation unit and checks the same bytesrepo src layout, compiler tripleLIVE
281tools/rtu_second_chance.pyP4ADAPTre-judge standalone compile failures against their real translation unit before droppingRe-judges standalone compile-failures against their real translation unit before dropping themrepo scratch pathsLIVE
282tools/rtu_shadow.pyP5ADAPTmeasure gate inversion by running the real-unit check in shadow beside the gateRuns the real-translation-unit check in shadow beside the gate to measure gate inversionrepo scratch pathsONE-OFFthe measured gate-inversion decision (whether the cheap real-unit check should become the gate's stage 0)
283tools/scan_leftovers.pyP8ADAPTre-verify every draft already on disk and bank the free winsRe-verifies every draft already on disk and banks the free winsrepo scratch pathsSUPERSEDEDtools/integration_resolver.py
284tools/scope_data_externs.pyP6ADAPTplace a templated body's data externs at a scope the destination acceptsPlaces a templated body's data externs at the scope the destination unit can acceptrepo src layoutLIVE
285tools/scope_demote_drafts.pyP6ADAPTdemote declaration scope as one rung of the recovery ladderThe scope-demote step, wired as a rung of the recovery ladderrepo src layoutLIVE
286tools/scope_tu_externs.pyP6ADAPTmove a unit's file-scope data externs down into their consumersMoves a unit's own file-scope data externs down into their consumers to legalize a block-scope typerepo src layoutLIVE
287tools/seed_ref.pyP8ADAPTfind an already-banked body that matches an open stub, near and contained tiersFor an open stub, finds the already-banked body that matches it, including near and contained tiersrepo signature filesLIVE
288tools/serve_local.pyP8ADAPTserve a fine-tuned model locally behind a chat-completions endpointServes the fine-tuned model locally behind a chat-completions endpointtraining venv, GPU assumptionsLIVE
289tools/share_body.pyP10ADAPTshare one byte-identical function class across its binaries through an include-at-site header, gated per binaryThe Phase-35 successor of dedup_propagate + dedup_extend for the include-at-site form: exemplar by majority text, the header written once, every private copy replaced by the include at its position, per-binary byte gate with object comparison, bisect on red, the registry appended or extended by text, the exception ledger on refusal; --plan / --apply --bucket extend|newrepo paths, the registry and signature schemasLIVE
290tools/share_body_cycle.shP10ADAPTrun the share-body batch cycle unattended: batch, verify by exit code, log, commit, periodic clean fleet checkThe Phase-35 T5 driver for bucket new: per batch share_body --apply --bucket new --batches 1 --label new<k>, the gated N/N line read, the phase log entry appended, the bank committed the moment it is green, the clean fleet run every N batches — stops on the first redrepo paths, the phase-log format, the fleet count from config/check.*.shaLIVE
291tools/delever_cycle.shP10ADAPTrun the de-lever batch cycle unattended: batch, verify by exit code, clean fleet gate, census, log, commitThe Phase-36 T3/T4 driver: per batch a clean-tree check, the oracle recalibrated when stale, delever --apply read by exit code and its final X/X line, the clean fleet run as the outer gate (218/218), the census rerun, the phase-log entry and the checkpoint headline, one commit per batch; stops on the first red with the files in place for --restorethe batch size, the aliases, the fleet countLIVE
292tools/share_census.pyP10ADAPTmeasure duplicate function bodies across the fleet and assert one source per unique functionThe census of byte-identical function classes across every binary with their source forms and verdicts, plus the S1 invariant check with its exception ledger and a fixture self-testrepo paths, the registry and signature schemasLIVE
293tools/shared_lock.pyP8ADAPThold one reader/writer lock over the shared source state for concurrent lanesOne reader/writer lock over the shared source state for concurrent lanesrepo lock pathsLIVE
294tools/sig_image.pyP6PORTABLEsign every function of a flat image at a known base, without a disassemblerDisassembler-free per-function signer for a flat image at a known base, field-identical to the dumperMIPS encodings, repo scratch pathsLIVE
295tools/sig_unify.pyP6ADAPTunify a draft's callee externs and its own signature to the banked-canonical setUnifies a draft's callee externs and its own definition signature to the banked-canonical setrepo shared-header pathsLIVE
296tools/split_indicator.pyP2ADAPTname the code segments that must be split before their switch functions carveNames code segments that must be split before their switch functions can be sectionedrepo config layoutLIVE
297tools/split_src_region.pyP3ADAPTsplit a source file at object boundaries, preserving matched code and stubsSplits a source file at object boundaries, preserving matched code and stub blocksrepo src/config layoutLIVE
298tools/strand_census.pyP5ADAPTcheck whether an open target already has a draft on diskLists every draft already on disk whose function is still open, with its blockerrepo scratch pathsSTILL-NEEDEDcheck whether an open target already has a draft on disk before drafting it
299tools/stub_invariant_audit.pyP5ADAPTnegative-control the comparer: every stub's built object must equal its targetNegative control: for every stub the built object must equal the target assembly exactlyrepo build pathsSTILL-NEEDEDnegative-control the masked comparer: every stub's built object must equal its target
300tools/sweep_citations.pyP7ADAPTlocalize every compiler-source citation in a document against the pinned sourcesDeterministically localizes every compiler-source citation in a document against the pinned sourcesrepo reference tree pathsSUPERSEDEDtools/gccmap_cites.py
301tools/sweep_parallel.pyP8ADAPTgate pre-staged draft directories across distinct binaries in parallelGates pre-staged draft directories across distinct binaries in parallelrepo scratch pathsLIVE
302tools/symcheck.pyP5ADAPTdiff the symbol set a draft references against the target's, before gatingPre-gate guard diffing the symbol set a draft references against the target'srepo build pathsSUPERSEDEDtools/reloc_verify.py
303tools/sync_tu_decls.pyP6ADAPTbank a refused draft by copying the destination unit's own declarations into it — the declaration-conflict class a canonical type layer prevents (Phase 6)Banks a refused draft by copying the destination unit's own declarations into itrepo src layoutLIVE
304tools/t5_bank.shP8ADAPTjudge each arm of a wave and bank the union, refusing if unsafePost-draft half of an agent wave: refuse if unsafe, judge each arm, bank the unionrepo paths, lane conventionsSUPERSEDEDtools/gate_wave.py
305tools/t5_cards.pyP8ADAPTbuild the card fuel for one wave's own targets, keyed per binaryBuilds the card fuel for one wave's own targets, keyed correctly per binaryrepo scratch pathsLIVE
306tools/t5_distill_args.pyP8ADAPTbuild the post-wave distillation slate from a wave's directoriesBuilds the post-wave distillation slate from a wave's directoriesrepo scratch pathsSUPERSEDEDtools/distill_scan.py
307tools/t5_targets.pyP8ADAPTdraw one routed slate from the classified frontierDraws one routed slate from the frontier classesrepo scratch pathsSUPERSEDEDtools/draw_waves.py
308tools/t7_bank.pyP8ADAPTbank a batch, reconciling declarations at bank time before the whole-binary gateBatch banking driver applying reconcile-at-bank-time plus the whole-binary gaterepo src/config layoutSUPERSEDEDtools/gate_stage.py
309tools/test_jtbl_parse_config.pyP5ADAPTregression-test the table-carve configuration parser with a negative controlRegression plus negative control for the table-carve configuration parserrepo config fixturesLIVE
310tools/test_o0_detect.pyP5ADAPTnegative-control the detector that decides a function's optimization levelNegative control for the matcher's optimization-level auto-detectionrepo pathsSTILL-NEEDEDnegative-control the detector that decides a function's optimization level
311tools/test_reconcile_ledger.pyP5ADAPTexercise a guarded repair path the full negative control never reachesTargeted proof of the propagation ledger guard the full control never exercisedrepo pathsONE-OFFthe S45p7 reconcile-ledger proof, retired with its subject dedup_propagate
312tools/test_residual_class.pyP5PORTABLEunit-test a residual classifier on hand-encoded words, not its own decoderSynthetic hand-encoded unit tests for the deterministic residual classifierMIPS encodingsSTILL-NEEDEDunit-test a residual classifier on hand-encoded words, not on its own decoder
313tools/timeline.pyP9ADAPTbuild a progress timeline from the repository's own committed digestsBuilds a progress timeline from the repository's own committed digests, with a self-checkrepo doc pathsLIVE
314tools/tool_census.pyP5ADAPTderive the tool census, the need-keyed index, the kit manifest and the verbatim corpora from one dictionaryDerives the tool census, the need-keyed tool index, the kit manifest and the verbatim corpora from one dictionary, coverage-asserted both waysrepo layout (tools/, docs/SETUP.md rows, the kit paths)LIVE
315tools/train_lora.pyP8ADAPTfine-tune a code model into a matching specialist on a mined corpusFine-tunes a code model into a matching specialist and saves the adapterdataset paths, training venvSTILL-NEEDEDfine-tune a code model into a matching specialist on the mined corpus
316tools/transcript_dump.pyP8ADAPTcondense a session transcript into readable text for a successor sessionCondenses a session transcript into readable text for a successor sessionagent transcript pathsLIVE
317tools/treelock.shP8ADAPThold one mutex over tree-writing campaigns, with status and stale detectionThe mutex wrapper for tree-writing campaigns, with status and stale detectionrepo lock pathsSUPERSEDEDtools/shared_lock.py
318tools/triage_ladder.pyP8ADAPTdecide before and after drafting whether a target needs an agent at allZero-token pass deciding whether a target needs an agent at all, before and after draftingrepo scratch pathsLIVE
319tools/twin_rescan.pyP6ADAPTreport which open stubs became mechanical remaps the moment one was bankedAfter a bank, reports which open stubs just became mechanical remaps instead of draftsrepo signature filesSTILL-NEEDEDreport which open stubs became mechanical remaps the moment one was banked
320tools/twin_sweep.pyP6ADAPTbank every open stub that already has a banked structural twinBanks every open stub that has an already-banked structural twin, for near-zero tokensrepo signature filesLIVE
321tools/uniquify_type.pyP10ADAPTgive each conflicting camp of a same-named type its own nameGives each conflicting camp of a same-named type its own name so every camp becomes liftablerepo src layoutSTILL-NEEDEDgive each conflicting camp of a same-named type its own name so both become liftable
322tools/validate_targets.pyP8ADAPTgate every target list for validity before agents are spawnedThe validity gate every target list must pass before agents are spawnedrepo scratch pathsLIVE
323tools/verbatim_check.pyP10ADAPTguard that every inline-assembly body still reproduces its target bytesRegression guard that every inline-assembly body still reproduces its target bytesrepo src layoutLIVE
324tools/verbatim_target_s.pyP10ADAPTregenerate a splitter-format target disassembly for a function no longer stubbedRegenerates a splitter-format target disassembly for a function that is no longer a stub; --gas emits the assemblable gas-syntax form ($-registers, .L labels, noreorder) that a web diff service accepts as a pasted targetrepo build/asm layoutLIVE
325tools/verbatim_to_stub.pyP10ADAPTturn an inline-assembly body back into a stub the toolchain can reachTurns an inline-assembly body back into an include-assembly stubrepo src/asm layoutSTILL-NEEDEDturn an inline-assembly body back into a stub the toolchain can reach
326tools/verify_binary.pyP3ADAPTbyte-verify one binary by hand the only correct way, re-extract includedThe correct hand verification of one binary: full re-extract plus rebuild, then hash comparerepo make targetsSTILL-NEEDEDbyte-verify one binary by hand the only correct way, re-extract included
327tools/verify_contract.shP9ADAPTprove the whole byte-identity contract end to end, step by stepThe recorded end-to-end verification run of the byte-identity contract, step by steprepo make targets, output dirSTILL-NEEDEDprove the whole byte-identity contract end to end from a committed tree
328tools/verify_map_findings.pyP7ADAPTmachine-check an audit's findings against the actual compiler sourcesMachine-checks a codegen-map audit's findings against the actual compiler sourcesrepo reference tree pathsONE-OFFthe machine-checked verdicts of one codegen-map audit (docs/gcc-2.7.2-map/regalloc.md)
329tools/verify_worktree.pyP8ADAPTcheck a commit out into its own worktree and verify it thereChecks a commit into its own worktree, provisions build deps, and verifies it thererepo worktree/build layoutLIVE
330tools/wall_sweep.pyP5ADAPTenumerate fleet-wide every instance of one known assembler-level blocker classEnumerates fleet-wide instances of one known assembler-level blocker classrepo asm layout, toolchain quirkLIVE
331tools/wall_taxonomy.pyP5ADAPTsize each avenue by classifying every unmatched residual by blocker classCensus-classifies every unmatched residual by blocker class to size each avenuecanonical source binary nameSUPERSEDEDtools/frontier_classify.py
332tools/warmstart.pyP7ADAPTfeed the permuter warm-start drafts built from banked exemplars and routed fuelFeeds the permuter warm-start drafts built from banked exemplars and routed fuelrepo scratch pathsSUPERSEDEDtools/permuter_sweep.py
333tools/wave_args.pyP8ADAPTemit the exact drafting-workflow arguments, asserting every target is still openEmits the exact workflow arguments for a wave, asserting every target is openrepo scratch pathsLIVE
334tools/wave_card_fuel.pyP8ADAPTcompute in one library the per-target card fuel a prompt pack carriesThe single library computing the per-target card fuel a pack carriesrepo scratch pathsLIVE
335tools/wave_judge.pyP8ADAPTgate each arm on the whole binary with a tree reset between armsPer-arm whole-binary gate with tree reset between arms, then gates the best-of unionrepo scratch/src layoutLIVE
336tools/wave_snapshot.pyP8ADAPTgive a wave its own immutable copy of the disassembly its agents readGives a wave its own immutable copy of the disassembly files its agents readrepo asm pathsLIVE
337tools/wave_targets.pyP8ADAPTselect a worker wave's target batch from the manifest with cache filtersSelects a worker-wave target batch from the target manifest with cache filtersrepo scratch pathsLIVE
338tools/weave_sweep.pyP6ADAPTapply one proven codegen lever everywhere the bytes say it belongsApplies one known prologue-scheduling lever everywhere the bytes say it belongsrepo src layout, compiler behaviourSTILL-NEEDEDapply one proven codegen lever everywhere the bytes say it belongs
339tools/wiki_render.pyP9ADAPTrender doc trees into wiki page names, rewriting every relative linkRenders the doc trees into wiki page names with every relative link rewritten deterministicallyrepo doc pathsLIVE
340tools/wiki_sync.shP9ADAPTrender and publish the docs to a hosted wiki, replacing its pagesRenders and publishes the docs to the hosted wiki, replacing its pageswiki remote URL, repo pathsLIVE
341tools/work_evidence.pyP8ADAPTassert that a tool actually did the work it reportsAssertions that a tool actually did the work it reportsrepo scratch pathsLIVE
342tools/worklist.pyP5ADAPTjoin the target pool and near-miss ledger into one byte-weighted queueJoins the target pool and the near-miss ledger into one byte-weighted ranked queuerepo scratch pathsLIVE
343tools/xsig/tests/make_fixtures.shP6ADAPTregenerate the signature tool's fixtures with the pinned toolchainRegenerates the signature-tool fixtures with the pinned toolchaincompiler triple, repo tool pathsLIVE
344tools/xsig/tests/test_xsig.pyP6PORTABLEproperty-test the signature tool on committed fixtures, needing no compilerProperty tests for the signature tool on committed fixtures, needing no compilerfixture pathsLIVE
345tools/xsig/xsig.pyP6PORTABLEsign functions with relocations masked for cross-project code identificationRelocation-masked per-function signatures for cross-project code identificationMIPS/relocation model onlyLIVE
346tools/argcheck.pyP10ADAPTfind every call site whose in-scope declaration is narrower than the callee real definitionThe static filter for the missing-argument class: six T7 agents independently reached score 0 by restoring an argument the decompiled source had dropped (m2c drops them at unprototyped and indirect call sites), and no candidate generator can reach it because every family rewrites statements and declarations while this changes a call ARITY. Reads the real arity from the DEFINITION wherever it lives (a .c under src/ or a shared body header) and reports each narrower declaration with the scope that says which fix is available: the cast route is body-only at either scope, widening the declaration itself needs block scope. Known blind spot, stated in the docstring: it cannot see a definition that is uniformly wrong.repo paths; the census walkLIVE
347tools/decl_repair.pyP10ADAPTwiden every call declaration that lies, and measure on the bytes which repairs are freeThe free-correctness half of the missing-argument class: a declaration is repaired only when every call to that function in the unit ALREADY passes the arguments, so the code is right and only the promise is wrong. Each candidate is compiled from a scratch copy through the unit own recipe and compared on .text/.rodata/.data (never whole-object: the object records its own source path, which made the first fleet run return 0 free of 3,634 units). Every unit is negative-controlled by compiling it UNCHANGED first, and a unit whose control fails is reported as a harness failure rather than a result. --apply writes only the units this run judged identical.repo paths; the recipe oracleLIVE
348tools/readability_progress.pyP10ADAPTtrack how honest and how readable the matched C is over time, as a generated seriesThe Gen3 companion to docs/levers.md: levers are only one way the source is untrue. Counts lying call declarations (a call site whose in-scope declaration names fewer parameters than the callee definition, split by the K&R-empty and (void) forms, and how many sit in a body that still holds an argument-register pin) and raw cast dereferences against struct member reads, which is the struct debt. Appends a dated row carrying its commit to docs/readability-progress.tsv and renders docs/readability.md; --check asserts the last row is this tree.repo pathsLIVE