mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-01 15:43:06 -04:00
78 KiB
78 KiB
| 1 | path | phase | portability | need | what | adapts | status | successor_or_product |
|---|---|---|---|---|---|---|---|---|
| 2 | tools/ab_score.py | P5 | ADAPT | re-score both arms of an experiment with the standalone matcher as ground truth | Re-scores every draft of two experiment arms with the standalone matcher as ground truth | repo scratch paths | LIVE | |
| 3 | tools/agent_drafts_restore.py | P8 | ADAPT | rebuild an agent's final draft by replaying its transcript writes | Replays an agent's writes from its transcript to rebuild its final deliverable | agent transcript paths | LIVE | |
| 4 | tools/agent_reports.py | P8 | ADAPT | save each subagent's full final report to one file per target | Saves each subagent's full final prose report to one file per target | agent transcript paths | LIVE | |
| 5 | tools/agent_verdicts.py | P8 | ADAPT | pull the final structured verdict out of each subagent transcript | Pulls the final structured verdict out of subagent transcripts | agent transcript paths | LIVE | |
| 6 | tools/alloc_table.py | P7 | PORTABLE | list each pseudo-register's refs, live length and allocation priority from compiler dumps | Prints each pseudo's refs, live length, block and allocation priority from compiler pass dumps | compiler pass-dump format, repo dump root | LIVE | |
| 7 | tools/api_agent.py | P8 | ADAPT | give an external chat model the same multi-turn tool harness an agent gets | Gives an external chat model the same multi-turn tool harness an agent gets | provider endpoint, repo doc paths | LIVE | |
| 8 | tools/api_draft.py | P8 | ADAPT | draft one function against any chat-completions endpoint, provider-agnostic | Provider-agnostic single-shot drafting worker against any chat completions endpoint | provider endpoint, repo doc paths | LIVE | |
| 9 | tools/api_rate.py | P8 | ADAPT | measure a drafting provider's real request rate and rate-limit attribution | Reports measured request rate and rate-limit attribution from append-only telemetry | repo telemetry path | STILL-NEEDED | measure a drafting provider's true request rate and rate-limit attribution |
| 10 | tools/aprop_autodraft.py | P6 | ADAPT | draft a family member mechanically from a seed body and symbol rebase | Mechanically drafts a family member from the seed body plus a positional symbol rebase | repo scratch paths | LIVE | |
| 11 | tools/aprop_symfix.py | P6 | ADAPT | rebase a remapped draft's stale seed symbols onto the target's own | Rebases stale seed symbols in a mechanically adapted draft onto the target's own symbols | repo symbol/config sources | LIVE | |
| 12 | tools/asm_verbatim.py | P10 | ADAPT | emit a function's target assembly as an inline-assembly body | Emits the file-scope inline-assembly body form from a disassembly file | repo asm layout | LIVE | |
| 13 | tools/atlas.py | P5 | ADAPT | partition every open function into exactly one lever-labelled work group | Partitions all open functions into exactly one lever-labelled work group | repo scratch paths | LIVE | |
| 14 | tools/atlas_features.py | P5 | ADAPT | extract one deterministic feature record per function across every registered binary | Extracts one deterministic feature record per function across all registered binaries | repo signature files | LIVE | |
| 15 | tools/audit_binaries.py | P5 | ADAPT | assert every consumer knows about each newly onboarded binary | Gate asserting every consumer knows about each newly onboarded binary | repo config/registry paths | LIVE | |
| 16 | tools/audit_digest.py | P5 | ADAPT | recompute headline metrics and fail if the committed digest disagrees | Recomputes headline metrics from the current tree and fails if the committed digest disagrees | repo docs paths | LIVE | |
| 17 | tools/audit_frontier.py | P5 | ADAPT | check that the independent what-remains views agree with the corpus oracle | Checks that the independent "what remains" views agree with the corpus oracle | repo paths | LIVE | |
| 18 | tools/audit_header_sigs.py | P5 | ADAPT | find shared-header declarations that contradict a function's banked definition | Finds shared-header declarations that contradict the banked definition | repo shared-header paths | SUPERSEDED | tools/conform_decls.py |
| 19 | tools/audit_public.py | P9 | ADAPT | gate a first push: prove no derived bytes among tracked files | The first-push gate: no derived bytes among tracked files, four independent checks | repo purge-set and path lists (the kit's template reads `config/firewall.txt` instead) | LIVE | |
| 20 | tools/audit_text_sources.py | P5 | ADAPT | assert every tracked source is plain text so text searches never skip it | Every tracked C source must be plain text, or text searches silently skip it | repo src paths | LIVE | |
| 21 | tools/auto_driver.py | P8 | ADAPT | loop a stub worklist through scaffold, draft and gate without any model | Autonomous model-free driver looping a stub worklist through scaffold, draft and gate | canonical source binary, repo paths | LIVE | |
| 22 | tools/auto_status.sh | P8 | ADAPT | print an unattended run's heartbeats and recent progress for a remote check-in | Prints the unattended run's heartbeats and recent progress for a remote check-in | repo scratch paths | LIVE | |
| 23 | tools/auto_stop.sh | P8 | ADAPT | request a safe exit of an unattended run through a stop sentinel | Requests a safe exit of the unattended run via a stop sentinel | repo scratch paths | LIVE | |
| 24 | tools/auto_supervisor.sh | P8 | ADAPT | keep an unattended driver alive across crashes until a clean exit | Keeps an unattended driver alive across crashes until a clean or requested exit | repo scratch paths | LIVE | |
| 25 | tools/autopsy.py | P7 | ADAPT | recompile every open draft and classify its failure into a residual corpus | Materializes the residual corpus by recompiling every open draft and classifying its failure | repo scratch/build paths | LIVE | |
| 26 | tools/backlog.py | P5 | ADAPT | keep a ranked ledger of every close-but-not-matching attempt | Near-miss ledger: every close-but-not-matching attempt, ranked for hand sessions | repo scratch/doc paths | LIVE | |
| 27 | tools/bank_exemplar.py | P6 | ADAPT | bank one cracked exemplar through the carve, splice and staged-recovery ladder | Banks one cracked exemplar through the carve, splice and staged-recovery ladder | repo src/config layout | SUPERSEDED | tools/gate_stage.py |
| 28 | tools/bfm_extract/__init__.py | PROJECT-ONLY | PROJECT-ONLY | expose a disc extraction pipeline's stages as one package | Package entry for one title's disc pipeline; names its own container stages | project-only | LIVE | |
| 29 | tools/bfm_extract/cd_archive.py | PROJECT-ONLY | PROJECT-ONLY | read a bespoke container's table of contents to locate its files | Reader for one game's bespoke container table-of-contents format | project-only | LIVE | |
| 30 | tools/bfm_extract/crosscheck.py | PROJECT-ONLY | PROJECT-ONLY | cross-validate an extraction against an independent third-party tool | Cross-validates against a third-party tool written for that specific game | project-only | LIVE | |
| 31 | tools/bfm_extract/extract.py | PROJECT-ONLY | PROJECT-ONLY | walk the whole medium and extract every file deterministically | Full-disc extractor bound to one disc's root file list and audio-track handling | project-only | LIVE | |
| 32 | tools/bfm_extract/extract_exe.py | PROJECT-ONLY | PROJECT-ONLY | extract the console executable and hard-validate its name, size and header | Hard-validates one executable's exact name, size, hash and header field values | project-only | LIVE | |
| 33 | tools/bfm_extract/extract_proto_exe.py | PROJECT-ONLY | PROJECT-ONLY | extract a prototype build's executable, allowing for its known deviations | Companion for one title's prototype discs and their specific deviations | project-only | LIVE | |
| 34 | tools/bfm_extract/iso9660.py | P1 | PORTABLE | walk a raw data track's filesystem and extract files by name | Reusable reader for a raw 2352-byte-sector data track; walks the filesystem and extracts files by name | none | LIVE | |
| 35 | tools/bfm_extract/lzss.py | PROJECT-ONLY | PROJECT-ONLY | decode a bespoke compression format, cross-checked against its own length field | Decoder for one game's non-generic compression semantics, verified against its own decompressor | project-only | LIVE | |
| 36 | tools/bfm_extract/manifest.py | P1 | ADAPT | build and verify a deterministic sorted checksum manifest of an extraction tree | Builds and verifies a deterministic sorted SHA1 manifest of an extraction tree | the extraction output root | LIVE | |
| 37 | tools/bfm_extract/pac.py | PROJECT-ONLY | PROJECT-ONLY | parse a bespoke archive-chain header format | Parser for one game's bespoke archive-chain header format | project-only | LIVE | |
| 38 | tools/bfm_extract/test_lzss.py | PROJECT-ONLY | PROJECT-ONLY | unit-test a bespoke compression decoder against known cases | Unit tests for that game-specific compression variant | project-only | LIVE | |
| 39 | tools/bisect_slate.py | P8 | ADAPT | isolate the byte-wrong drafts in a batch, with a null control first | Isolates the byte-wrong drafts in a batch, with a null control first | repo build paths | SUPERSEDED | tools/gate_main_parallel.py |
| 40 | tools/blast_radius.py | P8 | ADAPT | measure a change's write set and name the verification it actually requires | Measures a change's write set and names the verification it actually requires | repo tree layout | LIVE | |
| 41 | tools/blocker_probe.py | P5 | ADAPT | explain with two oracles why a byte-correct draft fails the whole-binary gate | Read-only two-oracle explanation of why a byte-correct draft fails the whole-binary gate | repo build paths | LIVE | |
| 42 | tools/bootstrap.sh | P9 | ADAPT | set up a fresh clone idempotently: packages, environments, pinned tools | Idempotent fresh-clone setup: check packages, create environments, fetch pinned tools | repo layout, package names | LIVE | |
| 43 | tools/build_engine_types.py | P10 | ADAPT | extract inline-defined types and typedefs from a source file into a shared header | Extracts inline-defined named types and typedefs from a source file into a shared header | repo shared-header path | LIVE | |
| 44 | tools/build_fuel_manifest.py | P8 | ADAPT | unify live stubs into one ranked, class-tagged, cache-annotated target pool | Unifies live stubs into one ranked, class-tagged, cache-annotated target pool | canonical source binary, repo scratch paths | LIVE | |
| 45 | tools/build_wave.py | P8 | ADAPT | build the next drafting wave from a card pool by fleet leverage | Builds the next wave from a card pool, ranked by fleet leverage | repo scratch paths | SUPERSEDED | tools/draw_waves.py |
| 46 | tools/build_wave_args.py | P8 | ADAPT | emit drafting-workflow arguments for a wave from a target manifest | Emits workflow arguments for a wave from the target manifest, resolving each path | repo asm/scratch layout | SUPERSEDED | tools/wave_args.py |
| 47 | tools/build_wave_atlas.py | P8 | ADAPT | build a wave from the frontier atlas, optimized for gate throughput | Builds a wave from the frontier atlas, optimized for gate throughput | repo scratch paths | LIVE | |
| 48 | tools/bulk_harvest.py | P8 | ADAPT | mass-draft small stubs with a served model and gate them in parallel | Phase-separated bulk drafting plus a parallel gate farm, for throughput | repo scratch paths, GPU endpoint | STILL-NEEDED | mass-draft small stubs with a served model and byte-gate them in parallel |
| 49 | tools/burndown.py | P5 | ADAPT | track per-session yield and velocity so a diminishing-returns close is visible | Tracks per-session yield and velocity so a diminishing-returns close is visible | repo ledger paths | STILL-NEEDED | see when per-session yield floors out so a diminishing-returns close is defensible |
| 50 | tools/campaign_status.py | P8 | ADAPT | report every concurrent lane with its own metrics, not only the loud one | One status view covering every lane, not only the loud one | lane names, repo scratch paths | STILL-NEEDED | report every concurrent lane with its own metrics, not only the loud one |
| 51 | tools/canon_draft_decls.py | P6 | ADAPT | canonicalize a draft's extern and data declarations to the banked-consistent set | Canonicalizes a draft's extern and data declarations to the banked-consistent set | repo shared-header paths | SUPERSEDED | tools/sig_unify.py |
| 52 | tools/canon_resident_calls.py | P6 | ADAPT | rewrite address-named calls in a draft to their curated symbol names | Rewrites address-named calls in a draft to the curated symbol name when one exists | repo symbol file path | LIVE | |
| 53 | tools/canon_sig_reconcile.py | P6 | ADAPT | reconcile 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 declares | repo src layout | LIVE | |
| 54 | tools/cast_call_sites.py | P10 | ADAPT | add per-site function-pointer casts so a draft can call a differently typed callee | Adds per-site function-pointer casts so a draft can call a differently typed callee | repo src layout | LIVE | |
| 55 | tools/cast_self_callers.py | P6 | ADAPT | let a unit keep calling, through per-site casts, the function it now defines | Lets a unit keep calling, through a per-site cast, the function it is about to define | repo src layout | LIVE | |
| 56 | tools/cc1_dumps.sh | P4 | ADAPT | dump every compiler pass file for a self-contained draft | Dumps every compiler pass file for a self-contained draft into a private directory | compiler triple, repo scratch paths | LIVE | |
| 57 | tools/cc1_dumps_tu.sh | P4 | ADAPT | dump every compiler pass file for the spliced real translation unit | Same pass dumps for the spliced real translation unit, the faithful compile | absolute repo path, compiler triple | LIVE | |
| 58 | tools/cdecl.py | P6 | PORTABLE | parse C declarators once, for every declaration tool to share | The single recursive-descent C declarator parser every declaration tool shares | C89 grammar only | LIVE | |
| 59 | tools/cdtrace.py | PROJECT-ONLY | PROJECT-ONLY | observe a live loader's requests to learn which payload loads where | Reads one game's loader request structures at fixed RAM addresses | project-only | STILL-NEEDED | observe a live loader's requests to learn which payload is read to which address |
| 60 | tools/claude_wave_packs.py | P8 | ADAPT | build the per-function prompt packs a drafting agent wave works from | Builds the per-function prompt packs an agent wave drafts from | repo scratch paths, agent harness | LIVE | |
| 61 | tools/compile_only.py | P9 | ADAPT | compile every eligible translation unit with the pinned toolchain, using no derived bytes | Compiles every eligible translation unit with the pinned toolchain, without any game bytes | compiler triple, repo makefile parsing | LIVE | |
| 62 | tools/conform_decls.py | P6 | ADAPT | conform 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 definition | repo src/shared-header layout | LIVE | |
| 63 | tools/cookbook_index.py | P9 | ADAPT | generate a symptom-keyed index of a large technique document | Generates a symptom-keyed index of the large technique document | repo doc paths | LIVE | |
| 64 | tools/corpus.py | P5 | ADAPT | answer from one derived model whether each function is open, matched or shared | The single derived model of the source tree: open, matched or shared, per function | repo src/config layout | LIVE | |
| 65 | tools/decl_from_use.py | P6 | ADAPT | infer a minimal extern for a data symbol the destination unit does not declare | Infers a minimal extern for a data symbol a draft uses but its destination does not declare | repo src layout | LIVE | |
| 66 | tools/decl_prior.py | P6 | ADAPT | compute 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 fuel | repo src layout | LIVE | |
| 67 | tools/decompile.py | P4 | ADAPT | turn one function's disassembly into a C scaffold to start a match | Wrapper locating a function's disassembly and running the C-scaffold generator on it | repo asm paths, decompiler target name | STILL-NEEDED | turn one function's disassembly into a C scaffold to start a match |
| 68 | tools/decompme_replica.sh | P4 | ADAPT | reproduce an external reference toolchain locally and compare its words to target | Runs a function through an external reference toolchain build and compares words against the target | pinned toolchain versions, network fetch | STILL-NEEDED | kept: a public preset request needs the replica of the community toolchain to prove equivalence |
| 69 | tools/dedup_extend.py | P6 | ADAPT | extend an existing code-share registry to newly onboarded binaries | Extends the existing share registry to newly onboarded binaries | repo config/src layout | LIVE | |
| 70 | tools/dedup_integrate.py | P6 | ADAPT | validate a code-share registry byte-honestly, failing closed on signature drift | Byte-honesty validator for the code-share registry; fails closed on signature drift | repo config registry path | LIVE | |
| 71 | tools/dedup_propagate.py | P6 | ADAPT | lift one matched body into a shared macro and instantiate it everywhere | Lifts one matched body into a shared macro and instantiates it at every duplicate site | repo shared-header/src layout | LIVE | |
| 72 | tools/demacroize.py | P6 | ADAPT | escape a shared-header declaration conflict locally by unmacroizing one body | Per-binary local escape from a shared-header declaration conflict by unmacroizing one body | repo shared-header layout | LIVE | |
| 73 | tools/diff_autopsy.sh | P7 | ADAPT | find which words diverge when the whole-binary gate says different but not where | Reproduces exactly what the gate saw, then decodes the diverging words and restores the tree | repo src/build paths | STILL-NEEDED | find WHICH words diverge when the whole-binary gate says DIFF but not where |
| 74 | tools/diff_regions.py | P7 | ADAPT | classify where a remapped sibling's compiled bytes diverge from its target | Classifies where a remapped member's compiled bytes diverge from its target | repo build paths | STILL-NEEDED | classify where a mechanically remapped sibling's compiled bytes diverge from its target |
| 75 | tools/difficulty.py | P5 | ADAPT | rank unmatched functions easiest-first by size, control flow and call count | Ranks unmatched functions easiest-first by size, control flow, table presence and call count | repo asm layout | LIVE | |
| 76 | tools/disc_audit.py | PROJECT-ONLY | PROJECT-ONLY | account for every byte of the medium, leaving zero unexplained residue | Byte 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 task | project-only | LIVE | |
| 77 | tools/distill_scan.py | P8 | ADAPT | decide which harvested waves still need mining into the technique document | One pass of the distillation lane deciding which harvested waves still need mining | repo scratch paths | LIVE | |
| 78 | tools/doc_links.py | P9 | ADAPT | check that every relative link in the public docs resolves | Checks that every relative link in the public docs resolves and the link policy holds | repo doc paths | LIVE | |
| 79 | tools/draft_prechecks.py | P4 | ADAPT | skip a draft doomed to fail before any compile is spent | Static pre-checks that skip a draft doomed to fail before any compile is spent | repo symbol/config sources | LIVE | |
| 80 | tools/draw_waves.py | P8 | ADAPT | draw several drafting waves off the open frontier, cheapest-first | Draws several drafting waves off the open frontier, cheapest-first | repo scratch paths | LIVE | |
| 81 | tools/dup_report.py | P5 | ADAPT | report byte-identical and structurally identical function groups within and across binaries | Reports byte-identical and structurally identical function groups within and across binaries | repo signature files | LIVE | |
| 82 | tools/eval_lora.py | P8 | ADAPT | evaluate a fine-tuned matching model gate-truthfully on held-out banked functions | Gate-true evaluation of a fine-tuned model on held-out banked functions | dataset paths, repo corpus | STILL-NEEDED | evaluate a fine-tuned matching model gate-truthfully on held-out banked functions |
| 83 | tools/exclude_audit.py | P6 | ADAPT | classify every exclude-list entry by its current blocker and regenerate the list | Classifies every exclude-list entry by its current blocker and regenerates the list | repo config path | LIVE | |
| 84 | tools/exemplar_miner.py | P6 | ADAPT | route every residual stub to its lever and rank the highest-reach work | Routes every residual stub to its lever and ranks the highest-reach work | census file paths, canonical source binary | SUPERSEDED | tools/atlas.py |
| 85 | tools/export_pairs.py | P8 | ADAPT | mine gate-verified assembly-to-source pairs into a fine-tuning corpus | Mines gate-verified assembly-to-source pairs into a fine-tuning corpus | repo src/build layout | STILL-NEEDED | mine gate-verified assembly-to-source pairs into a fine-tuning corpus |
| 86 | tools/family_align.py | P6 | ADAPT | classify drifted structural siblings by aligned words and expand their constants | Length-tolerant aligned classifier plus the mechanical constant-expansion engine for drifted members | repo scratch paths | LIVE | |
| 87 | tools/family_cousins.py | P6 | ADAPT | cluster the open frontier one tier looser than exact skeleton hashing | Similarity clustering one tier looser than exact skeleton hashing over the open frontier | repo signature files | LIVE | |
| 88 | tools/family_hseq.py | P6 | ADAPT | rank clusters of the unmatched frontier by mnemonic-skeleton hash | Ranked clustering of the unmatched frontier by mnemonic-skeleton hash | repo signature files | LIVE | |
| 89 | tools/family_manifest.py | P6 | ADAPT | name the one exemplar to draft per structural family, ranked | Ranked structural-family target manifest naming the one exemplar to draft per family | repo signature files | LIVE | |
| 90 | tools/family_remap.py | P6 | ADAPT | remap a matched exemplar's source onto a structural sibling by positional symbol pairing | Mechanically remaps a matched exemplar's C onto a structural sibling by positional symbol pairing | repo src layout | LIVE | |
| 91 | tools/family_sweep.py | P6 | ADAPT | sweep a matched exemplar across every same-structure sibling, gate-arbitrated | Sweeps a matched exemplar across every same-structure sibling, gate-arbitrated | repo src/config layout | LIVE | |
| 92 | tools/fetch_psyq.sh | P9 | ADAPT | acquire and checksum-verify vendor SDK pieces for a linked build | Optional acquisition and checksum verification of vendor SDK pieces for the linked build | PS1 SDK sources, repo paths | LIVE | |
| 93 | tools/find_addr_refs.py | P2 | PORTABLE | find code that materializes an absolute address, tracking registers rather than pairing windows | Register-tracked scan for code that materializes an absolute address; never window-paired | MIPS encodings, repo binary registry | LIVE | |
| 94 | tools/fix_arity_callers.py | P6 | ADAPT | repair a shared caller's argument-count conflict for the no-prototype failure class | Repairs the shared-caller argument-count conflict for the no-prototype failure class | repo shared-header layout | LIVE | |
| 95 | tools/fix_decl_mirror.py | P6 | ADAPT | bind a void definition to a symbol the destination declares as returning a value | Binds a void definition to its symbol when the destination declares a value return | repo src layout | LIVE | |
| 96 | tools/fix_header_decl.py | P6 | ADAPT | rewrite a shared-header caller declaration to a draft's byte-true signature | Rewrites a shared-header caller declaration to a draft's byte-true signature | repo shared-header path | SUPERSEDED | tools/conform_decls.py |
| 97 | tools/fix_tu_ret_decls.py | P6 | ADAPT | retype a unit's stale forward declarations to a draft's byte-true return, reverting on failure | Retypes a binary's own stale forward declarations to a draft's byte-true return, revert-on-fail | repo src layout | LIVE | |
| 98 | tools/format_finetune.py | P8 | ADAPT | turn mined pairs into a chat-template instruction dataset | Turns the mined pairs into a chat-template instruction dataset | dataset paths, model chat template | LIVE | |
| 99 | tools/fragment_check.py | P8 | ADAPT | refuse a draft that swallows a neighbouring symbol inside one function's range | Refuses drafts that subsume a neighbouring symbol, the enclosing-function trap | repo asm layout | STILL-NEEDED | refuse a draft that swallows a neighbouring symbol inside one function's range |
| 100 | tools/frogress_upload.py | P9 | ADAPT | publish progress metrics to a hosted progress service | Posts the progress JSON to a hosted progress service, dry-run by default | service URL, project/version names | STILL-NEEDED | publish progress metrics to a hosted decomp progress service |
| 101 | tools/frontier_classify.py | P5 | ADAPT | name the true blocker of every remaining open function, deterministically | Classifies every remaining open function by its true blocker, deterministically | repo paths | STILL-NEEDED | name the true blocker of every remaining open function, deterministically |
| 102 | tools/gap_triage.py | P8 | ADAPT | pre-filter agents' knowledge-gap reports against the existing technique document | Pre-filters a wave's knowledge-gap reports against the existing documentation | repo doc paths | STILL-NEEDED | pre-filter agents' knowledge-gap reports against the existing technique document |
| 103 | tools/gate_lane.py | P8 | ADAPT | drive a wave's gate accepting either result shape and an explicit draft path | The wave gate driver, accepting either result shape and an explicit draft path | repo scratch paths | LIVE | |
| 104 | tools/gate_main.py | P8 | ADAPT | gate the executable's drafts the only trustworthy way: a clean rebuild with bisect | Gates a batch of executable drafts the only trustworthy way: a clean rebuild with bisect | repo build/make targets | LIVE | |
| 105 | tools/gate_main_parallel.py | P8 | ADAPT | discover an executable slate's bankable drafts concurrently, then bank once serially | Discovers the executable's bankable drafts concurrently, then banks them once, serially | repo build/make targets | STILL-NEEDED | discover an executable slate's bankable drafts concurrently, then bank once serially |
| 106 | tools/gate_stage.py | P8 | ADAPT | run the one shared recovery, byte-gate and log ladder every producer calls | The shared deterministic recovery, gate and log ladder every producer calls | repo src/config layout | LIVE | |
| 107 | tools/gate_triage.py | P8 | ADAPT | route a gate result set to the repair tool its own verdict names | Routes a gate result set to the repair tool its own verdict names | repo scratch paths | LIVE | |
| 108 | tools/gate_wave.py | P8 | ADAPT | gate a whole wave by splitting table-bearing drafts off and running lanes concurrently | Gates a whole wave by splitting table-bearing drafts off and running both lanes concurrently | repo scratch/config layout | LIVE | |
| 109 | tools/gater_lane.py | P8 | ADAPT | drain finished drafts into the gate continuously while drafting still streams | Continuous gater draining a wave's finished drafts into the parallel gate, grouped by binary | repo scratch paths | STILL-NEEDED | drain finished drafts into the gate continuously while drafting still streams |
| 110 | tools/gccmap_cites.py | P7 | ADAPT | tag every compiler-source citation with the source tree it refers to | Tags every compiler-source citation in the codegen-map docs with the tree it refers to | repo doc/reference paths | LIVE | |
| 111 | tools/gen_engine_decls.py | P6 | ADAPT | declare every shared function and data symbol once, canonically, in a generated header | Declares every shared function and data symbol once, canonically, in a generated header | repo shared-header path | SUPERSEDED | tools/conform_decls.py |
| 112 | tools/gen_harvest_targets.py | P8 | ADAPT | generate a callee-signature-aware target manifest with per-function fleet reach | Generates a callee-signature-aware target manifest with per-function fleet reach | canonical source binary, repo paths | LIVE | |
| 113 | tools/gen_lib_subsegs.py | P3 | ADAPT | generate segment lines and a stub list for a multi-block vendor library region | Generates segment lines and a stub list for a multi-block vendor library region | repo config layout, PS1 SDK libs | LIVE | |
| 114 | tools/ghidra_annotations_delta.py | P2 | ADAPT | derive the hand-authored annotations by subtracting a fresh analysis baseline | Derives the hand-authored annotation rows by subtracting a fresh rebuild baseline | repo paths | LIVE | |
| 115 | tools/ghidra_apply_symbols.sh | P10 | ADAPT | mirror the curated symbol file into the analysis database with a real save | Mirrors the curated symbol file into the analysis program headlessly, with a real save | repo symbol path, project name | STILL-NEEDED | mirror the curated symbol file into the analysis database headlessly with a real save |
| 116 | tools/ghidra_export_annotations.sh | P2 | ADAPT | export a program's annotations to byte-stable line-delimited records, read-only | Read-only export of a program's annotations to byte-stable line-delimited JSON | repo paths | LIVE | |
| 117 | tools/ghidra_import.sh | P2 | ADAPT | import and auto-analyze a console executable headlessly with the platform loader | Headless import and auto-analysis of a console executable with the platform loader | PS1 executable loader, project name | LIVE | |
| 118 | tools/ghidra_import_raw.sh | P2 | ADAPT | import a flat headerless blob at a given base with the right processor spec | Headless import of a flat headerless blob at a given base with the right processor spec | PS1 processor spec, project name | LIVE | |
| 119 | tools/ghidra_mcp_start.sh | P2 | ADAPT | start the disassembler's automation server detached on a fixed local port | Starts the headless disassembler MCP server detached on a fixed local port | repo paths, project name, port | LIVE | |
| 120 | tools/ghidra_mcp_stop.sh | P2 | ADAPT | close the analysis program cleanly so its edits actually persist | Clean save-and-close via a sentinel file; the only persistence event | repo paths, project name | LIVE | |
| 121 | tools/ghidra_mcp_verify.sh | P2 | ADAPT | re-open read-only to confirm a symbol edit survived the save | Read-only re-open confirming a symbol edit actually persisted after save-shutdown | repo paths, project name | LIVE | |
| 122 | tools/ghidra_rebuild.sh | P2 | ADAPT | rebuild an analysis program from committed text plus extracted bytes, proving equality | Rebuilds one analysis program from committed text plus extracted bytes, and proves equality | repo paths, project layout | LIVE | |
| 123 | tools/ghidra_roster.py | P2 | ADAPT | generate and check a roster of committed analysis programs from the registry | Generates and checks a roster of committed analysis programs from the build registry | repo config paths | LIVE | |
| 124 | tools/ghidra_scripts/ApplySymbols.java | P10 | PORTABLE | apply curated names and signatures inside the analysis tool and save | The in-tool half of that mirror: apply curated names and signatures, save on exit | none | LIVE | |
| 125 | tools/ghidra_scripts/BfmMcpServer.java | P2 | ADAPT | serve the analysis tool over an automation protocol, saving on a sentinel stop | The headless MCP server itself; holds an open transaction and saves on a sentinel stop | repo sentinel path, server port | LIVE | |
| 126 | tools/ghidra_scripts/DecompileAt.java | P2 | ADAPT | decompile one function at a given address straight from the analysis database | Headless script decompiling the function at one address and printing its C | default address | STILL-NEEDED | decompile one function at a given address straight from the analysis database |
| 127 | tools/ghidra_scripts/DecompileFunctions.java | P2 | PORTABLE | batch-decompile an address list into one source file per function | Headless batch decompile of an address list into one C file per function | none | LIVE | |
| 128 | tools/ghidra_scripts/DefineFunctions.java | P2 | ADAPT | create functions at externally validated entry points listed in a file | Disassembles and creates functions at externally validated entry points listed in a file | repo scratch path | LIVE | |
| 129 | tools/ghidra_scripts/DumpFunctionSignatures.java | P2 | PORTABLE | dump per-function fingerprints in three hash tiers for cross-binary correspondence | Read-only per-function fingerprint dump in three hash tiers for cross-binary correspondence | none | LIVE | |
| 130 | tools/ghidra_scripts/DumpProgramInfo.java | P2 | PORTABLE | print a program's language, compiler spec, image base and function count | Prints program metadata: language, compiler spec, image base, function count, properties | none | LIVE | |
| 131 | tools/ghidra_scripts/ExportAnnotations.java | P2 | PORTABLE | serialize types, signatures, data, comments and labels to stable records | Read-only serialization of types, signatures, data, comments, bookmarks and labels to stable JSONL | none | LIVE | |
| 132 | tools/ghidra_scripts/ExportSymbols.java | P2 | PORTABLE | export the analysis database's hand-authored symbols to a committable text file | Exports user-defined symbols to a committable text file so annotations are version-controlled | none | STILL-NEEDED | export the analysis database's hand-authored symbols to a committable text file |
| 133 | tools/ghidra_scripts/GetSymbolAt.java | P2 | PORTABLE | print the symbol name at one address for scripted persistence checks | Prints the function or symbol name at one address for scripted persistence checks | none | LIVE | |
| 134 | tools/ghidra_scripts/ImportAnnotations.java | P2 | PORTABLE | import annotations back into a program, comparing before writing | Idempotent compare-before-write import of the annotation JSONL back into a program | none | LIVE | |
| 135 | tools/ghidra_scripts/ImportPsyqGdt.java | P2 | ADAPT | resolve a vendor SDK type archive into the program's type manager | Headlessly resolves a vendor SDK type archive into the program's type manager | PS1 SDK type archive name | LIVE | |
| 136 | tools/ghost_census.py | P7 | PORTABLE | find pseudo-registers with references but no remaining occurrences, and their frame slots | Frame-residue oracle: finds pseudos with references but no remaining occurrences, and their slots | compiler pass-dump format | LIVE | |
| 137 | tools/gitignore_template_check.py | P9 | ADAPT | assert a documented ignore-file template equals the shipped template byte for byte | Asserts the ignore-file template in the docs equals the kit's template byte for byte | repo doc and template paths | LIVE | |
| 138 | tools/glm_parallel.sh | P8 | ADAPT | split a target list into slices and run concurrent drafting workers | Splits a target list into slices and runs concurrent drafting workers against one endpoint | provider endpoint, repo paths | SUPERSEDED | tools/ox_campaign.py |
| 139 | tools/glm_reconcile.py | P8 | ADAPT | aim a reasoning model at the declaration wall and capture its reasoning | Aims a reasoning model at the declaration wall and captures its reasoning for reuse | provider endpoint, repo paths | ONE-OFF | the measured verdict that the declaration wall is a reconciliation problem, plus the captured reasoning distilled into the cookbook (Phase 23 T10.7 A/B) |
| 140 | tools/grinder.py | P7 | ADAPT | grind the closest near-misses with the permuter and bank through the gate | Token-free permuter daemon grinding the closest near-misses and banking through the gate | repo scratch paths | LIVE | |
| 141 | tools/harvest_verify.py | P8 | ADAPT | substitute, build, keep only if byte-identical, else revert | The whole-binary byte gate: substitute, build, keep only if identical, else revert | repo src/build layout | LIVE | |
| 142 | tools/idiom_harvest.py | P8 | ADAPT | pull newly learned idioms out of a wave's logs into candidate notes | Pulls the newly learned idioms out of a wave's shard logs into candidate notes | repo log paths | LIVE | |
| 143 | tools/idiom_hunt.py | P8 | ADAPT | discover new compiler idioms from grouped near-misses with a reasoning model | Uses a reasoning model on grouped near-misses to discover new compiler idioms | provider endpoint, repo paths | LIVE | |
| 144 | tools/idiom_loop.py | P8 | ADAPT | drain the easy fuel, learn the next idiom, hand off, repeat | Never-ending meta-loop: drain the easy fuel, learn the next idiom, hand off | repo scratch paths | SUPERSEDED | tools/idiom_serial.py |
| 145 | tools/idiom_serial.py | P8 | ADAPT | learn idioms serially so each target inherits what the previous one taught | The serial idiom-learning lane where each step inherits what the previous learned | repo scratch paths | LIVE | |
| 146 | tools/idxtab_map.py | PROJECT-ONLY | PROJECT-ONLY | decode an on-disc index table into a payload-to-binary naming map | Decodes one game's on-disc index table and its payload-to-binary naming convention — the load map itself is a Phase-2 task | project-only | LIVE | |
| 147 | tools/inject_capped_externs.py | P6 | ADAPT | free duplicate matches a share propagation skips as not self-contained | Frees high-reach inline matches skipped as not self-contained by injecting their file-scope externs | repo shared-header layout | STILL-NEEDED | free duplicate matches a share propagation skips as not self-contained |
| 148 | tools/integration_resolver.py | P8 | ADAPT | re-judge already byte-correct drafts and bank them for zero model tokens | Zero-token lane re-judging drafts that are already byte-correct and banking them | repo scratch paths | LIVE | |
| 149 | tools/interleave_check.py | P6 | ADAPT | assert a read-only-data carve's interleave order equals the segment sequence | Asserts the carve interleave order equals the segment sequence, position by position | repo config layout | STILL-NEEDED | assert a read-only-data carve's interleave order equals the segment sequence |
| 150 | tools/journal_notes.py | P8 | ADAPT | mine each function's own past-attempt history out of agent journals | Mines per-function past-attempt notes out of the agent journals into card fuel | agent transcript paths | LIVE | |
| 151 | tools/jr_isolate.py | P6 | ADAPT | isolate one switch function into its own segment for an independent table carve | Isolates one switch function into its own code segment for an independent table carve | repo config/src layout | SUPERSEDED | tools/jr_isolate_all.py |
| 152 | tools/jr_isolate_all.py | P6 | ADAPT | isolate every switch function in a binary in one multi-cut resegment | One-shot multi-cut resegment isolating every switch function in a binary | repo config/src layout | LIVE | |
| 153 | tools/jtbl_carve.py | P6 | ADAPT | set up the read-only-data carve for a binary's matched jump-table functions | Sets up the read-only-data carve for a binary's matched jump-table functions | repo config/build layout | LIVE | |
| 154 | tools/jtbl_family_bank.py | P6 | ADAPT | bank a matched jump-table exemplar across its siblings, reverting on failure | Banks a matched jump-table exemplar across its structural siblings, revert-on-fail | repo config/src layout | LIVE | |
| 155 | tools/jtbl_lane.py | P8 | ADAPT | carve, draft and bank jump-table functions as their own lane | Carve, draft and bank lane for jump-table functions, with the carve deliberately outside it | repo config/src layout | LIVE | |
| 156 | tools/jtbl_pads_fix.py | P6 | ADAPT | repair a stale padding spec by search plus byte proof, never by guessing | Repairs a stale padding spec by search plus byte proof, never by guessing | repo config layout | LIVE | |
| 157 | tools/jtbl_rodata_pads.py | P6 | ADAPT | reproduce the original inter-table padding in a multi-table carve | Post-assembler filter reproducing the original inter-table padding in a multi-table carve | compiler/assembler behaviour, repo build paths | LIVE | |
| 158 | tools/kit_coverage.py | P9 | ADAPT | assert 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 it | repo digest/ledger/kit paths + the provenance citation forms | LIVE | |
| 159 | tools/kit_lint.py | P9 | ADAPT | keep a portable starter kit free of one project's names, paths and numbers | Keeps the day-one kit free of the source project's names, paths, addresses and rule numbers, honours its placeholder contract, and syntax-checks its scripts | the kit path and the source project's leak pattern | LIVE | |
| 160 | tools/lane_inflight.py | P8 | ADAPT | know authoritatively which drafting agents are currently live | The authoritative ledger of which drafting agents are currently live | repo scratch paths | LIVE | |
| 161 | tools/lanes/bounce_drafter_on_queue.sh | P8 | ADAPT | restart a drafting worker at a queue boundary so new arguments apply | Waits for the in-flight wave to queue, then restarts the drafting process | lane script paths | SUPERSEDED | tools/lanes/relaunch_drafter_shell.sh |
| 162 | tools/lanes/campaign.sh | P8 | ADAPT | run two drafting pools against one serial gate | Dual-pool campaign lane: two drafting pools, one serial gate | provider config, repo paths | LIVE | |
| 163 | tools/lanes/distill.sh | P8 | ADAPT | run distillation beside drafting so learned idioms reach the next wave | The distillation lane, running beside drafting and never in front of it | repo scratch paths | STILL-NEEDED | run distillation beside drafting so learned idioms reach the next wave |
| 164 | tools/lanes/drafter.sh | P8 | ADAPT | keep drafting running continuously, touching only scratch state | The drafting lane that must never stop; touches only scratch state | repo scratch paths, provider config | LIVE | |
| 165 | tools/lanes/elastic.sh | P8 | ADAPT | spend spare provider capacity on other work when the gate is the constraint | Spends spare provider capacity on extra work when the main lane cannot | provider config, repo paths | STILL-NEEDED | spend spare provider capacity on other work when the gate is the constraint |
| 166 | tools/lanes/forever.sh | P8 | ADAPT | keep an unattended campaign loop alive across run caps and crashes | Keeps the wave campaign running indefinitely across caps and crashes | repo scratch paths | STILL-NEEDED | keep an unattended campaign loop alive across run caps and crashes |
| 167 | tools/lanes/gater.sh | P8 | ADAPT | run a restartable gating lane that is safe to kill at any time | The restartable gating lane, safe to kill and relaunch at any time | job count, repo paths | LIVE | |
| 168 | tools/lanes/grinder_lane.sh | P8 | ADAPT | run the token-free permuter grinder beside a saturated gate | Runs the model-free permuter grinder beside a saturated gater | repo scratch paths | STILL-NEEDED | run the token-free permuter grinder beside a saturated gate |
| 169 | tools/lanes/launch_ox.sh | P8 | ADAPT | launch a sharded unattended campaign run with a tag and shard count | Launcher for a sharded campaign run with a tag and shard count | provider key file, repo paths | ONE-OFF | the sharded overnight campaign run it launched (its key file, endpoint and model are that campaign's) |
| 170 | tools/lanes/main.sh | P8 | ADAPT | run the executable's own lane loop on its clean-rebuild cadence | The executable's own lane loop, on its clean-rebuild cadence | repo make targets | LIVE | |
| 171 | tools/lanes/maintenance.sh | P8 | ADAPT | run the free recovery and re-judgement passes whenever the gate is idle | The maintenance lane running the free recovery and re-judgement passes | repo scratch paths | STILL-NEEDED | run the free recovery and re-judgement passes whenever the gate is idle |
| 172 | tools/lanes/relaunch_drafter_shell.sh | P8 | ADAPT | restart the drafting lane's shell at a queue boundary so new arguments apply | Waits for a wave to queue, then restarts the drafting lane's shell so new arguments apply | lane script paths | STILL-NEEDED | restart the drafting lane's shell at a queue boundary so new arguments apply |
| 173 | tools/lanes/resolver_lane.sh | P8 | ADAPT | re-judge, verify twice, stage and gate correct drafts for zero tokens | The zero-token resolver lane: re-judge, verify twice, stage, gate, commit | repo scratch paths | STILL-NEEDED | re-judge, double-verify, stage and gate already-correct drafts for zero model tokens |
| 174 | tools/lanes/restart_gater_when_idle.sh | P8 | ADAPT | restart the gating lane's shell between gates so a jobs change lands | Restarts the gating lane's shell once the current gate finishes | lane script paths | STILL-NEEDED | restart the gating lane's shell between gates so a jobs change lands |
| 175 | tools/lanes/restart_main_lane_when_idle.sh | P8 | ADAPT | restart the executable lane's shell at its one safe boundary | Restarts the executable lane's shell at its one safe boundary | lane script paths | STILL-NEEDED | restart the executable lane's shell at its one safe boundary without losing work |
| 176 | tools/lanes/sibling_lane.sh | P8 | ADAPT | drive structural sibling sweeps with synthesized declarations, free of model tokens | The free sibling lane driving structural sweeps with synthesized declarations | repo paths | STILL-NEEDED | drive structural sibling sweeps with synthesized declarations, free of model tokens |
| 177 | tools/lanes/stallguard.sh | P8 | ADAPT | detect and repair lane stalls automatically on measured conditions | Detects and repairs lane stalls on measured conditions every minute, logging each action | lane names, repo paths | STILL-NEEDED | detect and repair lane stalls automatically on measured conditions |
| 178 | tools/lanes/toolwork.sh | P8 | ADAPT | run tooling-design briefs against an external model with the build config | Runs tooling-design briefs against an external model with build config as context | provider config, repo paths | ONE-OFF | the tooling-design briefs it ran against an external model (its key, endpoint and model are that era's) |
| 179 | tools/lanes/wait_distill.sh | P8 | ADAPT | block until a background lane raises its next batch, without polling | Blocks until the distillation lane raises the next batch, then exits | repo scratch paths | STILL-NEEDED | block until a background lane raises its next batch, without polling |
| 180 | tools/launch_check.py | P8 | ADAPT | refuse to launch an agent at a target that is already banked | Refuses to launch an agent at a target that is already banked | repo src layout | LIVE | |
| 181 | tools/ld_interleave.py | P3 | ADAPT | reorder a generated linker script to reproduce the original section interleaving | Reorders a generated linker script to reproduce the original section interleaving | repo build paths | LIVE | |
| 182 | tools/len_tells.py | P7 | ADAPT | classify a length-drift near-miss against its own target and build its routing card | Classifies a length-drift near-miss against its own target and builds the routing card | repo scratch paths | LIVE | |
| 183 | tools/lenmiss_route.py | P7 | ADAPT | route a length-drift near-miss pile through the documented lenses, re-verified | Routes the length-drift near-miss pile through the documented lenses, re-verified against the tree | repo scratch paths | ONE-OFF | the routed outcome of one length-drift near-miss pile (it consumes that audit's classified ledger) |
| 184 | tools/lift_types.py | P6 | ADAPT | lift 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 header | repo shared-header path | LIVE | |
| 185 | tools/lint_symbol_refs.py | P10 | ADAPT | flag address-named references whose address now has a curated name | Flags address-named references in committed sources whose address now has a curated name | repo symbol/src paths | LIVE | |
| 186 | tools/lora_grind.py | P8 | ADAPT | rotate binaries drafting small stubs with a served model, gating and propagating | Mass-run driver rotating binaries, drafting small stubs with a served model, gating, propagating | repo scratch paths, model endpoint | LIVE | |
| 187 | tools/macro_draft.py | P6 | ADAPT | materialize a shared macro body back into a compilable standalone draft | Materializes a shared macro body back into a compilable standalone draft | repo shared-header layout | STILL-NEEDED | materialize a shared macro body back into a compilable standalone draft |
| 188 | tools/main_diff_locate.py | P7 | ADAPT | turn a red whole-binary result into a named list of divergent symbols | Turns a red whole-binary result into a named list of divergent symbols | repo build/config layout | LIVE | |
| 189 | tools/main_lane.py | P8 | ADAPT | run the executable's own draft, gate and commit cadence beside other lanes | The executable's own draft, gate and commit cadence beside the other lanes | repo build/make targets | LIVE | |
| 190 | tools/main_queue_rebuild.py | P8 | ADAPT | rebuild the executable lane's queue from the tree, never from a stale list | Rebuilds the executable lane's queue from the tree, never from a stale list | repo src layout | LIVE | |
| 191 | tools/main_seed_ends.py | P2 | ADAPT | emit function start and length seeds for the executable's own code objects | Emits function start/length seeds for the executable's game-code objects, derived from the build | repo build paths | LIVE | |
| 192 | tools/make_apicard_used.py | PROJECT-ONLY | PROJECT-ONLY | list the interface library's objects and address window the executable actually links | Hard-codes one executable's interface-library address window and object roster | project-only | LIVE | |
| 193 | tools/make_libgs.sh | PROJECT-ONLY | PROJECT-ONLY | assemble a vendor graphics library's object list and address blocks for linking | Hard-codes one executable's exact vendor object list and address blocks | project-only | LIVE | |
| 194 | tools/make_snd_used.py | PROJECT-ONLY | PROJECT-ONLY | list a sound library's address window and per-address exclusions | Hard-codes one executable's sound-library address window and per-address exclusions | project-only | LIVE | |
| 195 | tools/masked_diff.py | P4 | PORTABLE | compare instructions with relocations masked, shared by matcher and scorer | Shared relocation-masked instruction comparison used by the matcher and the permuter scorer | MIPS relocation encodings | LIVE | |
| 196 | tools/masked_scorer.py | P7 | ADAPT | score permuter candidates on true masked code closeness, not mnemonic diff | Drop-in permuter scorer scoring true relocation-masked code closeness instead of mnemonic diff | permuter internals, repo module paths | LIVE | |
| 197 | tools/match_one.py | P4 | ADAPT | compile one function standalone and compare its masked bytes to the target | Compiles one function standalone with the pinned toolchain, masks relocations, compares to target bytes | compiler triple, repo build flags | LIVE | |
| 198 | tools/match_protos.py | P6 | ADAPT | join two related builds' signature dumps into a function correspondence | Joins per-function signature dumps of two related builds into a function correspondence | repo signature files | LIVE | |
| 199 | tools/mine_hindsight.py | P9 | ADAPT | gather every recorded hindsight into one document with file and line anchors | Gathers every recorded hindsight with file and line anchors into one document | repo doc paths | STILL-NEEDED | kept: every project writes its retrospective from anchored records — the PhaseEnd narrative axis feeds exactly this tool |
| 200 | tools/mk_write.py | P3 | ADAPT | write the generated binary-registry makefile safely, validating before replacing | The only safe writer of the generated binary-registry makefile; validates before replacing | repo config path | LIVE | |
| 201 | tools/neighbor_ref.py | P8 | ADAPT | rank already-matched functions worth reading as worked examples for an open stub | For an open stub, ranks already-matched functions worth reading as worked examples | repo signature files | LIVE | |
| 202 | tools/new_binary.sh | P3 | ADAPT | onboard any flat blob in one command: config, registry entry, first build | One-command onboarding of any flat blob: config from template, registry entry, first build | repo config/template paths, the source game's payload classes | LIVE | |
| 203 | tools/new_overlay.sh | PROJECT-ONLY | PROJECT-ONLY | onboard one payload by its container and file-index naming | Takes one game's container and file-index naming as its command-line contract | project-only | LIVE | |
| 204 | tools/normalize_self_decls.py | P6 | ADAPT | normalize a function's own declaration when a templated definition lands in a new unit | Normalizes a function's own declaration when a templated definition lands in a new unit | repo src layout | LIVE | |
| 205 | tools/o0_boundary.py | P6 | ADAPT | find and bank unoptimized functions stranded at an optimized region's boundary | Finds and banks unoptimized functions stranded at the end of an unoptimized region | repo config layout | STILL-NEEDED | find and bank unoptimized functions stranded at an optimized region's boundary |
| 206 | tools/o0_detect.py | P6 | ADAPT | answer from a prologue whether a function was built unoptimized | The single place that answers whether a function was built unoptimized, from its prologue | compiler prologue shape | LIVE | |
| 207 | tools/o0_subsplit.py | P6 | ADAPT | route an unoptimized address range sitting inside an otherwise optimized object | Routes an unoptimized address range that sits inside an otherwise optimized object | repo config layout | LIVE | |
| 208 | tools/objdiff_report.py | P9 | PORTABLE | convert progress metrics into an external progress-report schema | Converts the progress JSON into the external progress-report schema | external report schema | LIVE | |
| 209 | tools/oracle/reg_renumber_swap.sh | P7 | ADAPT | decide whether a residual reorder is scheduling or a register-grant consequence | Mechanized oracle separating a register-allocation swap from a scheduling reorder | compiler triple, repo scratch paths | STILL-NEEDED | decide whether a residual reorder is a scheduling choice or a register-grant consequence |
| 210 | tools/oracle_reorder.py | P5 | ADAPT | decide whether a near-miss residual is a source defect or an assembler artifact | Decides whether a near-miss residual is a source defect or an assembler artifact | pinned assembler flags | LIVE | |
| 211 | tools/orchestrator.py | P8 | ADAPT | pick the pool, emit the batch and record the cycle, deterministically | The deterministic half of the unattended loop: pick the pool, emit the batch, record the cycle | repo scratch paths | LIVE | |
| 212 | tools/overlay_src_split.py | P6 | ADAPT | partition a source file at object boundaries, aware of comment state | Comment-state-aware partition of a source file, the oracle for the split chain | repo src layout | LIVE | |
| 213 | tools/ox_campaign.py | P8 | ADAPT | loop draw, draft, pre-filter, gate, commit and ledger unattended | The unattended wave loop: draw, draft, pre-filter, gate, commit, ledger, repeat | repo scratch paths, provider config | LIVE | |
| 214 | tools/p16_improve.py | P5 | ADAPT | revert known answers to stubs and categorize every harness failure it exposes | Known-answer loop: reverts matched functions to stubs and measures the real pipeline | repo src/build paths | LIVE | |
| 215 | tools/p16_known_answer.py | P5 | ADAPT | validate a scaffold pipeline against known answers across difficulty bands | Graduated known-answer validation of the scaffold pipeline across difficulty bands | repo paths | SUPERSEDED | tools/p16_improve.py |
| 216 | tools/p16_permute.py | P7 | ADAPT | drive the permuter per function, building base, target and settings | Per-function permuter driver building base, target and settings, then reporting closeness | repo scratch paths, permuter layout | LIVE | |
| 217 | tools/pads_audit.py | P6 | ADAPT | derive an object's inter-table padding spec from the bytes instead of searching | Derives each object's padding spec from the bytes instead of searching for it | repo build/config layout | STILL-NEEDED | derive an object's inter-table padding spec from the bytes instead of searching |
| 218 | tools/parallel_gate.py | P8 | ADAPT | gate many binaries concurrently in isolated worktrees and merge only passers | Gates many binaries concurrently in isolated worktrees and merges only the passers | repo worktree/build layout | LIVE | |
| 219 | tools/payload_base_evidence.py | P2 | ADAPT | rank candidate load addresses for a payload that was never onboarded | Ranks candidate load addresses for an unonboarded payload from pointers, self-calls and upper-half reach | the source game's payload map | STILL-NEEDED | rank candidate load addresses for a payload that was never onboarded |
| 220 | tools/permuter/compile.sh | P7 | ADAPT | compile a permuter candidate exactly as the build rule does | The permuter's compile command, mirroring the build rule exactly so objects are build-faithful | compiler triple, repo build flags | LIVE | |
| 221 | tools/permuter/compile_o0.sh | P7 | ADAPT | compile a permuter candidate unoptimized, exactly as the build rule does | Unoptimized variant of the same permuter compile command | compiler triple, repo build flags | LIVE | |
| 222 | tools/permuter/run_masked.py | P7 | ADAPT | run the permuter with a masked scorer rebound, without patching it | Runs the permuter with the masked scorer rebound before its entry point, without patching it | permuter internals, repo module paths | LIVE | |
| 223 | tools/permuter_ils.py | P7 | ADAPT | warm-restart the permuter from its best waypoint each cycle | Iterated-local-search wrapper warm-restarting the permuter from the best waypoint each cycle | permuter layout, repo scratch paths | LIVE | |
| 224 | tools/permuter_sweep.py | P7 | ADAPT | hand a batch's near-misses to the permuter, only the ones worth CPU | Hands a batch's near-misses to the permuter, but only the ones worth the CPU | repo scratch paths | LIVE | |
| 225 | tools/permuter_weights.py | P7 | PORTABLE | steer permuter mutation toward the lever family the residual class implies | Directs permuter mutation toward the lever family the residual class implies | permuter settings format | LIVE | |
| 226 | tools/plumbing_groups.py | P5 | ADAPT | group recorded declaration-conflict failures into sweepable work groups | Groups recorded declaration-conflict failures into sweepable work groups from the ledgers | repo ledger paths | SUPERSEDED | tools/gate_triage.py |
| 227 | tools/prefetch_fleet.py | P2 | ADAPT | batch-decompile one representative per distinct open class into a cache | Batch headless decompilation of one representative per distinct open class into a cache | repo paths, binary registry | LIVE | |
| 228 | tools/pregate_check.py | P8 | ADAPT | validate a batch's declaration compatibility in seconds without building it | Validates a batch without building it, in seconds instead of minutes | repo src layout | LIVE | |
| 229 | tools/progress.py | P9 | ADAPT | compute and publish progress metrics as report, machine data and per-binary breakdowns | Computes and publishes the progress metrics as report, JSON and per-binary breakdowns | repo src/config layout | LIVE | |
| 230 | tools/psyq_bss_probe.py | P3 | ADAPT | ask whether an object's scattered zero-init section can be placed byte-exactly | Asks whether an object's scattered zero-init section can be split and placed byte-exactly | PS1 SDK object shape | LIVE | |
| 231 | tools/psyq_bss_split.py | P3 | PORTABLE | split one zero-init section of an object into per-base no-bits pieces | Rewrites an ELF object, splitting one zero-init section into per-base no-bits pieces | ELF32 REL layout | LIVE | |
| 232 | tools/psyq_build_libs.sh | P3 | ADAPT | convert vendor library members to the linker's format and archive them | Converts vendor library members to ELF and archives them per library | PS1 SDK, repo scratch paths | LIVE | |
| 233 | tools/psyq_identify.py | P3 | ADAPT | locate where vendor library objects are linked in a target image | Locates where vendor library objects are linked in a target image via relocation-masked patterns | PS1 SDK objects | LIVE | |
| 234 | tools/psyq_integrate.py | P3 | ADAPT | wire real library objects into the split build, replacing stub subsegments | Wires real library objects into the split build, replacing stub subsegments | repo config/build paths | LIVE | |
| 235 | tools/psyq_lib_split.py | P3 | ADAPT | split a vendor library archive into its member objects | Splits a vendor linker-format library archive into its member objects | PS1 SDK archive format | LIVE | |
| 236 | tools/psyq_libs_from_disc.py | P3 | ADAPT | extract vendor SDK library files from the vendor's runtime-library disc | Extracts vendor SDK library files from the vendor's runtime-library disc image | vendor disc layout, PS1 SDK | LIVE | |
| 237 | tools/psyq_link.py | P3 | ADAPT | link one vendor object at a fixed address so its code is byte-identical | Links one vendor object at a fixed address so its code is byte-identical to the target | PS1 SDK, repo build paths | LIVE | |
| 238 | tools/psyq_link_lib.py | P3 | ADAPT | link every used object of a vendor library and byte-verify each | Driver linking every used object of a library and byte-verifying each | PS1 SDK, repo paths | STILL-NEEDED | link every used object of a vendor library and byte-verify each |
| 239 | tools/psyq_link_region.py | P3 | ADAPT | link a whole library's objects in place of stubs, placing data no-load | Links a whole library's objects in place of stubs, placing non-code sections as no-load | PS1 SDK, repo paths | LIVE | |
| 240 | tools/public_rewrite/absent_scan.py | P9 | ADAPT | assert nothing purged remains in any object, message or ref | Asserts nothing purged remains in any object, message or ref | repo scratch paths | STILL-NEEDED | kept: the history-rewrite package is one unit — the runbook's "if bytes got in anyway" path needs it whole |
| 241 | tools/public_rewrite/build_commit_map.py | P9 | ADAPT | emit the public ordinal-to-hash map and the private old-to-new map | Emits the public ordinal-to-new-hash map and the private old-to-new map | repo doc/scratch paths | LIVE | |
| 242 | tools/public_rewrite/common.py | P9 | ADAPT | share the purge rules and derived hash sets across the rewrite package | Shared purge rules, derived hash sets and helpers for the history-rewrite package | repo scratch paths | LIVE | |
| 243 | tools/public_rewrite/gate_scan.py | P9 | ADAPT | prove no derived blob is reachable from the refs about to be pushed | History gate: no derived blob reachable from the given refs, four derived checks | repo declaration files | LIVE | |
| 244 | tools/public_rewrite/hash_dict.py | P9 | ADAPT | map every old commit hash to an inert token, privately | Builds the private dictionary mapping every old commit hash to an inert token | repo scratch paths | LIVE | |
| 245 | tools/public_rewrite/probe_github.sh | P9 | ADAPT | probe whether old commit hashes still resolve on the hosting service | Probes whether old commit hashes still resolve on the hosting service after a purge | hosting service API, repo name | LIVE | |
| 246 | tools/public_rewrite/resolve_tokens.py | P9 | ADAPT | turn ordinal tokens back into shortest-unique hashes at the rewritten tip | Turns ordinal tokens back into shortest-unique hashes at the rewritten tip | repo tracked text files | LIVE | |
| 247 | tools/public_rewrite/run_filter.py | P9 | ADAPT | run a history rewrite inside a bare clone, refusing to run elsewhere | Composes and runs the history rewrite inside a bare clone, refusing to run elsewhere | rewrite tool version, repo scratch paths | STILL-NEEDED | kept: the history-rewrite package is one unit — the runbook's "if bytes got in anyway" path needs it whole |
| 248 | tools/public_rewrite/scrub.py | P9 | ADAPT | scrub one text with the rewrite's rules, with a sample and self-test | The single scrub function of the history rewrite, plus its sample and self-test | purge rules, repo scratch paths | LIVE | |
| 249 | tools/public_rewrite/verify_rewrite.py | P9 | ADAPT | prove pairwise that a rewrite changed only what it was told to | Pairwise proof that the rewrite changed only what it was told to change | repo scratch paths | LIVE | |
| 250 | tools/r22_verify.sh | P8 | ADAPT | verify the whole fleet exclusively on a clean tree and clear deferred debt | Exclusive clean-tree fleet verification that also clears deferred-check debt | repo make targets | LIVE | |
| 251 | tools/ram_probe.py | P2 | ADAPT | capture and diff live console memory across scenarios to type struct fields | Captures, diffs and reads emulator main RAM over its web API for field typing | emulator host/port, 2 MB console RAM map | STILL-NEEDED | capture and diff live console RAM across scenarios to type struct fields |
| 252 | tools/reconcile_slate.py | P6 | ADAPT | drive a whole batch to declaration-compatible before any rebuild is spent | Drives a whole batch to declaration-compatible before any rebuild is spent | repo src layout | SUPERSEDED | tools/pregate_check.py |
| 253 | tools/reconcile_tu.py | P6 | ADAPT | conform a draft's data declarations to what its destination unit can see | Conforms a draft's data declarations to what the destination translation unit can actually see | repo src layout | LIVE | |
| 254 | tools/recover_drafts.py | P8 | ADAPT | recover deleted agent draft files from a run's transcripts | Recovers agent-written draft files from a run's transcripts after they were deleted | agent transcript paths | SUPERSEDED | tools/agent_drafts_restore.py |
| 255 | tools/recover_giant.py | P8 | ADAPT | recover a large draft rejected only on declaration plumbing, with canonical externs | Canonical-extern recovery for a large draft rejected only on declaration plumbing | repo shared-header layout | LIVE | |
| 256 | tools/recover_integration.py | P8 | ADAPT | drive batch integration recovery over a directory of correct-but-rejected drafts | Batch integration recovery driver over a wave directory of correct-but-rejected drafts | repo scratch/src layout | LIVE | |
| 257 | tools/recover_rejects.py | P8 | ADAPT | turn pre-gate rejects back into bankable drafts for zero model tokens | Turns pre-gate rejects back into bankable drafts for zero model tokens | repo scratch paths | LIVE | |
| 258 | tools/recover_route.py | P8 | ADAPT | name the one recovery tool that actually applies to a drop verdict | Given a drop verdict, names the one recovery tool that actually applies | repo scratch paths | LIVE | |
| 259 | tools/reloc_identity.py | P5 | ADAPT | check the symbol identity the masked comparison deliberately hides | Disagreeing oracle checking the symbol identity the masked comparison deliberately hides | repo build paths | LIVE | |
| 260 | tools/reloc_verify.py | P5 | ADAPT | resolve every relocation in a draft and compare the resolved words to target | Resolves every relocation in a draft and compares the resolved words to the target | repo build paths | STILL-NEEDED | catch a wrong-symbol or wrong-address draft the masked comparison scores as matching |
| 261 | tools/reorder_passthrough.py | P3 | ADAPT | restore the assembler-reorder build path for objects originally assembled that way | Restores the assembler-reorder build path for the objects originally assembled that way | pinned assembler flags, repo build paths | LIVE | |
| 262 | tools/residual_class.py | P7 | PORTABLE | map a residual to a named codegen class by decoding its words | Deterministic decoder-based classifier mapping a residual to a named codegen class | MIPS encodings | LIVE | |
| 263 | tools/residual_rules.py | P7 | ADAPT | turn a measured residual into the specific documented lever that addresses it | Turns a measured residual into the specific documented lever that addresses it | repo doc paths | SUPERSEDED | tools/residual_rules_b.py |
| 264 | tools/residual_rules_b.py | P7 | ADAPT | classify a residual's shape to its documented lever, as an independent implementation | Independent second implementation of residual-shape to rule classification, for head-to-head | repo doc paths | LIVE | |
| 265 | tools/restage_matching.py | P8 | ADAPT | re-stage only drafts that match in their real unit so one failure is isolated | Re-stages only the drafts that compile and match in their real unit, so one failure is isolated | repo src layout | STILL-NEEDED | re-stage only drafts that match in their real unit so one failure is isolated |
| 266 | tools/restore_dropped_decls.py | P6 | ADAPT | restore file-scope declarations a share propagation deleted with the body | Puts back file-scope declarations a share propagation deleted with the body | repo src layout | STILL-NEEDED | restore file-scope declarations a code-share propagation deleted with the body |
| 267 | tools/rollout_o0.py | P6 | ADAPT | roll an unoptimized definition atomically across every binary carrying it | Generalized two-file atomic rollout of an unoptimized definition across every binary carrying it | repo src/config layout | LIVE | |
| 268 | tools/rtu_match.py | P4 | ADAPT | splice a candidate into a copy of its real translation unit and compare bytes | Splices a candidate into a copy of the real translation unit and checks the same bytes | repo src layout, compiler triple | LIVE | |
| 269 | tools/rtu_second_chance.py | P4 | ADAPT | re-judge standalone compile failures against their real translation unit before dropping | Re-judges standalone compile-failures against their real translation unit before dropping them | repo scratch paths | LIVE | |
| 270 | tools/rtu_shadow.py | P5 | ADAPT | measure gate inversion by running the real-unit check in shadow beside the gate | Runs the real-translation-unit check in shadow beside the gate to measure gate inversion | repo scratch paths | ONE-OFF | the measured gate-inversion decision (whether the cheap real-unit check should become the gate's stage 0) |
| 271 | tools/scan_leftovers.py | P8 | ADAPT | re-verify every draft already on disk and bank the free wins | Re-verifies every draft already on disk and banks the free wins | repo scratch paths | SUPERSEDED | tools/integration_resolver.py |
| 272 | tools/scope_data_externs.py | P6 | ADAPT | place a templated body's data externs at a scope the destination accepts | Places a templated body's data externs at the scope the destination unit can accept | repo src layout | LIVE | |
| 273 | tools/scope_demote_drafts.py | P6 | ADAPT | demote declaration scope as one rung of the recovery ladder | The scope-demote step, wired as a rung of the recovery ladder | repo src layout | LIVE | |
| 274 | tools/scope_tu_externs.py | P6 | ADAPT | move a unit's file-scope data externs down into their consumers | Moves a unit's own file-scope data externs down into their consumers to legalize a block-scope type | repo src layout | LIVE | |
| 275 | tools/seed_ref.py | P8 | ADAPT | find an already-banked body that matches an open stub, near and contained tiers | For an open stub, finds the already-banked body that matches it, including near and contained tiers | repo signature files | LIVE | |
| 276 | tools/serve_local.py | P8 | ADAPT | serve a fine-tuned model locally behind a chat-completions endpoint | Serves the fine-tuned model locally behind a chat-completions endpoint | training venv, GPU assumptions | LIVE | |
| 277 | tools/shared_lock.py | P8 | ADAPT | hold one reader/writer lock over the shared source state for concurrent lanes | One reader/writer lock over the shared source state for concurrent lanes | repo lock paths | LIVE | |
| 278 | tools/sig_image.py | P6 | PORTABLE | sign every function of a flat image at a known base, without a disassembler | Disassembler-free per-function signer for a flat image at a known base, field-identical to the dumper | MIPS encodings, repo scratch paths | LIVE | |
| 279 | tools/sig_unify.py | P6 | ADAPT | unify a draft's callee externs and its own signature to the banked-canonical set | Unifies a draft's callee externs and its own definition signature to the banked-canonical set | repo shared-header paths | LIVE | |
| 280 | tools/split_indicator.py | P2 | ADAPT | name the code segments that must be split before their switch functions carve | Names code segments that must be split before their switch functions can be sectioned | repo config layout | LIVE | |
| 281 | tools/split_src_region.py | P3 | ADAPT | split a source file at object boundaries, preserving matched code and stubs | Splits a source file at object boundaries, preserving matched code and stub blocks | repo src/config layout | LIVE | |
| 282 | tools/strand_census.py | P5 | ADAPT | check whether an open target already has a draft on disk | Lists every draft already on disk whose function is still open, with its blocker | repo scratch paths | STILL-NEEDED | check whether an open target already has a draft on disk before drafting it |
| 283 | tools/stub_invariant_audit.py | P5 | ADAPT | negative-control the comparer: every stub's built object must equal its target | Negative control: for every stub the built object must equal the target assembly exactly | repo build paths | STILL-NEEDED | negative-control the masked comparer: every stub's built object must equal its target |
| 284 | tools/sweep_citations.py | P7 | ADAPT | localize every compiler-source citation in a document against the pinned sources | Deterministically localizes every compiler-source citation in a document against the pinned sources | repo reference tree paths | SUPERSEDED | tools/gccmap_cites.py |
| 285 | tools/sweep_parallel.py | P8 | ADAPT | gate pre-staged draft directories across distinct binaries in parallel | Gates pre-staged draft directories across distinct binaries in parallel | repo scratch paths | LIVE | |
| 286 | tools/symcheck.py | P5 | ADAPT | diff the symbol set a draft references against the target's, before gating | Pre-gate guard diffing the symbol set a draft references against the target's | repo build paths | SUPERSEDED | tools/reloc_verify.py |
| 287 | tools/sync_tu_decls.py | P6 | ADAPT | bank 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 it | repo src layout | LIVE | |
| 288 | tools/t5_bank.sh | P8 | ADAPT | judge each arm of a wave and bank the union, refusing if unsafe | Post-draft half of an agent wave: refuse if unsafe, judge each arm, bank the union | repo paths, lane conventions | SUPERSEDED | tools/gate_wave.py |
| 289 | tools/t5_cards.py | P8 | ADAPT | build the card fuel for one wave's own targets, keyed per binary | Builds the card fuel for one wave's own targets, keyed correctly per binary | repo scratch paths | LIVE | |
| 290 | tools/t5_distill_args.py | P8 | ADAPT | build the post-wave distillation slate from a wave's directories | Builds the post-wave distillation slate from a wave's directories | repo scratch paths | SUPERSEDED | tools/distill_scan.py |
| 291 | tools/t5_targets.py | P8 | ADAPT | draw one routed slate from the classified frontier | Draws one routed slate from the frontier classes | repo scratch paths | SUPERSEDED | tools/draw_waves.py |
| 292 | tools/t7_bank.py | P8 | ADAPT | bank a batch, reconciling declarations at bank time before the whole-binary gate | Batch banking driver applying reconcile-at-bank-time plus the whole-binary gate | repo src/config layout | SUPERSEDED | tools/gate_stage.py |
| 293 | tools/test_jtbl_parse_config.py | P5 | ADAPT | regression-test the table-carve configuration parser with a negative control | Regression plus negative control for the table-carve configuration parser | repo config fixtures | LIVE | |
| 294 | tools/test_o0_detect.py | P5 | ADAPT | negative-control the detector that decides a function's optimization level | Negative control for the matcher's optimization-level auto-detection | repo paths | STILL-NEEDED | negative-control the detector that decides a function's optimization level |
| 295 | tools/test_reconcile_ledger.py | P5 | ADAPT | exercise a guarded repair path the full negative control never reaches | Targeted proof of the propagation ledger guard the full control never exercised | repo paths | STILL-NEEDED | exercise a guarded repair path the full negative control never reaches |
| 296 | tools/test_residual_class.py | P5 | PORTABLE | unit-test a residual classifier on hand-encoded words, not its own decoder | Synthetic hand-encoded unit tests for the deterministic residual classifier | MIPS encodings | STILL-NEEDED | unit-test a residual classifier on hand-encoded words, not on its own decoder |
| 297 | tools/timeline.py | P9 | ADAPT | build a progress timeline from the repository's own committed digests | Builds a progress timeline from the repository's own committed digests, with a self-check | repo doc paths | LIVE | |
| 298 | tools/tool_census.py | P5 | ADAPT | derive the tool census, the need-keyed index, the kit manifest and the verbatim corpora from one dictionary | Derives the tool census, the need-keyed tool index, the kit manifest and the verbatim corpora from one dictionary, coverage-asserted both ways | repo layout (tools/, docs/SETUP.md rows, the kit paths) | LIVE | |
| 299 | tools/train_lora.py | P8 | ADAPT | fine-tune a code model into a matching specialist on a mined corpus | Fine-tunes a code model into a matching specialist and saves the adapter | dataset paths, training venv | STILL-NEEDED | fine-tune a code model into a matching specialist on the mined corpus |
| 300 | tools/transcript_dump.py | P8 | ADAPT | condense a session transcript into readable text for a successor session | Condenses a session transcript into readable text for a successor session | agent transcript paths | LIVE | |
| 301 | tools/treelock.sh | P8 | ADAPT | hold one mutex over tree-writing campaigns, with status and stale detection | The mutex wrapper for tree-writing campaigns, with status and stale detection | repo lock paths | SUPERSEDED | tools/shared_lock.py |
| 302 | tools/triage_ladder.py | P8 | ADAPT | decide before and after drafting whether a target needs an agent at all | Zero-token pass deciding whether a target needs an agent at all, before and after drafting | repo scratch paths | LIVE | |
| 303 | tools/twin_rescan.py | P6 | ADAPT | report which open stubs became mechanical remaps the moment one was banked | After a bank, reports which open stubs just became mechanical remaps instead of drafts | repo signature files | STILL-NEEDED | report which open stubs became mechanical remaps the moment one was banked |
| 304 | tools/twin_sweep.py | P6 | ADAPT | bank every open stub that already has a banked structural twin | Banks every open stub that has an already-banked structural twin, for near-zero tokens | repo signature files | LIVE | |
| 305 | tools/uniquify_type.py | P10 | ADAPT | give each conflicting camp of a same-named type its own name | Gives each conflicting camp of a same-named type its own name so every camp becomes liftable | repo src layout | STILL-NEEDED | give each conflicting camp of a same-named type its own name so both become liftable |
| 306 | tools/validate_targets.py | P8 | ADAPT | gate every target list for validity before agents are spawned | The validity gate every target list must pass before agents are spawned | repo scratch paths | LIVE | |
| 307 | tools/verbatim_check.py | P10 | ADAPT | guard that every inline-assembly body still reproduces its target bytes | Regression guard that every inline-assembly body still reproduces its target bytes | repo src layout | LIVE | |
| 308 | tools/verbatim_target_s.py | P10 | ADAPT | regenerate a splitter-format target disassembly for a function no longer stubbed | Regenerates 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 target | repo build/asm layout | LIVE | |
| 309 | tools/verbatim_to_stub.py | P10 | ADAPT | turn an inline-assembly body back into a stub the toolchain can reach | Turns an inline-assembly body back into an include-assembly stub | repo src/asm layout | STILL-NEEDED | turn an inline-assembly body back into a stub the toolchain can reach |
| 310 | tools/verify_binary.py | P3 | ADAPT | byte-verify one binary by hand the only correct way, re-extract included | The correct hand verification of one binary: full re-extract plus rebuild, then hash compare | repo make targets | STILL-NEEDED | byte-verify one binary by hand the only correct way, re-extract included |
| 311 | tools/verify_contract.sh | P9 | ADAPT | prove the whole byte-identity contract end to end, step by step | The recorded end-to-end verification run of the byte-identity contract, step by step | repo make targets, output dir | STILL-NEEDED | prove the whole byte-identity contract end to end from a committed tree |
| 312 | tools/verify_map_findings.py | P7 | ADAPT | machine-check an audit's findings against the actual compiler sources | Machine-checks a codegen-map audit's findings against the actual compiler sources | repo reference tree paths | ONE-OFF | the machine-checked verdicts of one codegen-map audit (docs/gcc-2.7.2-map/regalloc.md) |
| 313 | tools/verify_worktree.py | P8 | ADAPT | check a commit out into its own worktree and verify it there | Checks a commit into its own worktree, provisions build deps, and verifies it there | repo worktree/build layout | LIVE | |
| 314 | tools/wall_sweep.py | P5 | ADAPT | enumerate fleet-wide every instance of one known assembler-level blocker class | Enumerates fleet-wide instances of one known assembler-level blocker class | repo asm layout, toolchain quirk | LIVE | |
| 315 | tools/wall_taxonomy.py | P5 | ADAPT | size each avenue by classifying every unmatched residual by blocker class | Census-classifies every unmatched residual by blocker class to size each avenue | canonical source binary name | SUPERSEDED | tools/frontier_classify.py |
| 316 | tools/warmstart.py | P7 | ADAPT | feed the permuter warm-start drafts built from banked exemplars and routed fuel | Feeds the permuter warm-start drafts built from banked exemplars and routed fuel | repo scratch paths | SUPERSEDED | tools/permuter_sweep.py |
| 317 | tools/wave_args.py | P8 | ADAPT | emit the exact drafting-workflow arguments, asserting every target is still open | Emits the exact workflow arguments for a wave, asserting every target is open | repo scratch paths | LIVE | |
| 318 | tools/wave_card_fuel.py | P8 | ADAPT | compute in one library the per-target card fuel a prompt pack carries | The single library computing the per-target card fuel a pack carries | repo scratch paths | LIVE | |
| 319 | tools/wave_judge.py | P8 | ADAPT | gate each arm on the whole binary with a tree reset between arms | Per-arm whole-binary gate with tree reset between arms, then gates the best-of union | repo scratch/src layout | LIVE | |
| 320 | tools/wave_snapshot.py | P8 | ADAPT | give a wave its own immutable copy of the disassembly its agents read | Gives a wave its own immutable copy of the disassembly files its agents read | repo asm paths | LIVE | |
| 321 | tools/wave_targets.py | P8 | ADAPT | select a worker wave's target batch from the manifest with cache filters | Selects a worker-wave target batch from the target manifest with cache filters | repo scratch paths | LIVE | |
| 322 | tools/weave_sweep.py | P6 | ADAPT | apply one proven codegen lever everywhere the bytes say it belongs | Applies one known prologue-scheduling lever everywhere the bytes say it belongs | repo src layout, compiler behaviour | STILL-NEEDED | apply one proven codegen lever everywhere the bytes say it belongs |
| 323 | tools/wiki_render.py | P9 | ADAPT | render doc trees into wiki page names, rewriting every relative link | Renders the doc trees into wiki page names with every relative link rewritten deterministically | repo doc paths | LIVE | |
| 324 | tools/wiki_sync.sh | P9 | ADAPT | render and publish the docs to a hosted wiki, replacing its pages | Renders and publishes the docs to the hosted wiki, replacing its pages | wiki remote URL, repo paths | LIVE | |
| 325 | tools/work_evidence.py | P8 | ADAPT | assert that a tool actually did the work it reports | Assertions that a tool actually did the work it reports | repo scratch paths | LIVE | |
| 326 | tools/worklist.py | P5 | ADAPT | join the target pool and near-miss ledger into one byte-weighted queue | Joins the target pool and the near-miss ledger into one byte-weighted ranked queue | repo scratch paths | LIVE | |
| 327 | tools/xsig/tests/make_fixtures.sh | P6 | ADAPT | regenerate the signature tool's fixtures with the pinned toolchain | Regenerates the signature-tool fixtures with the pinned toolchain | compiler triple, repo tool paths | LIVE | |
| 328 | tools/xsig/tests/test_xsig.py | P6 | PORTABLE | property-test the signature tool on committed fixtures, needing no compiler | Property tests for the signature tool on committed fixtures, needing no compiler | fixture paths | LIVE | |
| 329 | tools/xsig/xsig.py | P6 | PORTABLE | sign functions with relocations masked for cross-project code identification | Relocation-masked per-function signatures for cross-project code identification | MIPS/relocation model only | LIVE | |
| 330 | tools/share_census.py | P10 | ADAPT | measure duplicate function bodies across the fleet and assert one source per unique function | The 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-test | repo paths, the registry and signature schemas | LIVE | |
| 331 | tools/macro_to_header.py | P10 | PROJECT-ONLY | convert a shared-body macro header into per-function plain-C headers included at each site | The 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 / --verify | the macro form is this project's; a kit-born project shares headers from its first bank | LIVE | |
| 332 | tools/share_body.py | P10 | ADAPT | share one byte-identical function class across its binaries through an include-at-site header, gated per binary | The 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|new | repo paths, the registry and signature schemas | LIVE |