Commit Graph

4112 Commits

Author SHA1 Message Date
Drew T fe45f7f016 docs(phase-34): task 6 addendum — Drew's #ai reply posted; docs/outreach/ untracked and ignored on his decision (sent notes stay local); doc_links DEFAULT, Reference-index row, SETUP rows updated; corpus regenerated 2026-09-08 13:23:18 -06:00
Drew T 19c676f474 docs(phase-34): outreach — the decomp.me #ai channel reply drafted from the record (Drew's words to edit) 2026-09-08 13:05:16 -06:00
Drew T 95c9c0d122 docs(phase-34): task 6 closed — the tools post in the decomp.me Discord; Decompedia rows for xsig (PlayStation tools) and BFM-decomp (PlayStation projects), verified 2026-09-08 13:02:49 -06:00
Drew T 6ce1a38c61 docs(phase-34): tools announcement — add the xsig v2 direction (1:1 first, then wider tiers with context) to the post draft 2026-09-08 12:54:55 -06:00
Drew T b018bb8cec docs(phase-34): task 6 addendum — xsig v2 (the whole knowledge base behind one search: 1-to-1, then the best expansion path with context) recorded in gen3-handoff §7 as a parked Gen3 idea 2026-09-08 12:48:23 -06:00
Drew T b3d72df3a5 docs(phase-34): task 6 (Claude's half) — xsig topics + homepage set and verified; the permuter fork confirmed gone; the tools post awaits Drew 2026-09-08 12:39:31 -06:00
Drew T 279f440c04 docs(phase-34): task 5 — the wiki is live: 32 pages synced to BFM-decomp.wiki (75c17d0) on Drew's one-off R6 waiver; pages verified unauthenticated, 0 dead links 2026-09-08 12:38:55 -06:00
Drew T a601c74cb9 docs(phase-34): task 4 — D3: decomp.dev registered and verified (decomp.dev/Druthulu/BFM-decomp, 100.00%/100.00%, hero image); frogress skipped this phase, pending by name 2026-09-08 12:34:54 -06:00
Drew T 559122ed17 docs(phase-34): task 3 — E2 sent: the Archipelago note as AegeusEvander/Brave-Fencer-Musashi-AP-World#1; reply handling recorded as pending 2026-09-08 12:11:25 -06:00
Drew T 9e8a055e6c docs(phase-34): task 2 — E1 done: scratch mIu4d at 100%, preset request decompme/decomp.me#2106, manual search closes ledger row 14; preset creation pending 2026-09-08 12:07:15 -06:00
Drew T c9a3d7b891 tools+docs(phase-34): task 2 part 1 — the decomp.me paste form: verbatim_target_s.py --gas (assemblable target), decompme_replica.sh steps D (the paste through decomp.me's as, 26/26) + E (the bundle), doc §5 step 2, SETUP rows, dictionary, kit corpus regenerated 2026-09-08 11:54:22 -06:00
Drew T f12e103e51 docs(phase-34): task 1 addendum — Actions green on the public repo (no-rom 34257901983, progress 34257901996 on df055e36c); task 1 closed 2026-09-08 11:37:23 -06:00
Drew T df055e36c0 docs(phase-34): task 1 — C10 the flip: public, after-flip probe PASS 33/33, archive private, wiki enabled + description/topics/homepage, ruleset protect-main (22564862); Actions check pending the push 2026-09-08 11:30:37 -06:00
Drew T 710ef6ffd9 docs(phase-34): task 0 — the pre-flip probe: PASS, 33/33 sampled old hashes gone, control OK (.run/P34/probe/pre_flip.log) 2026-09-08 10:43:35 -06:00
Drew T c9dffdcfd8 docs(phase-34): task 0a — open the phase: CURRENT_PHASE.md (the gate-1 plan verbatim + the 🛑 block), R84–R95 ratified into DIGEST §3 (+ §0), the .run/P34 evidence allowlist, the 10-row harness task list 2026-09-08 10:42:18 -06:00
Drew T eb342dc9fe chore(phase-33.5): CLOSE — the wiki as source of truth, 59 docs + 34 tools sunset, tracked .run flip-ready, the memory reconciled, the day-one decomp kit with three dictionaries / DK-1–80 / G1–67 / a coverage check / five dry-runs (v1.32.1)
- PhaseEnd_Phase33.5.md written; CURRENT_PHASE.md archived to phase-ends/logs/Phase33.5.md (R19); DIGEST §0/§2/§3/§4 appended (step 3b)
- 3 sessions (S90–S92): the six wiki pages + the Archive index; the six documents folded; doc_links rewritten (six checks) +
  render reachability + timeline wired + gitignore_template_check + audit_public check 4; .run 1,086 → 868 (+ this phase's evidence);
  the memory store 80 == 80 + the 18-file seed; the kit (436 files): intake, SETUP, methodology, 19 templates, G1–G67, DK-1–DK-80,
  corpus/tools 302+28, corpus/cookbook, corpus/record 57 files incl. the health chain, memory-seed 18, MANIFEST; tool_census +
  config/tool_dictionary.tsv + docs/tool-index.md; kit_lint; kit_coverage + config/kit_coverage_map.tsv; the worklog mining pass
  (777 candidates / 634 banked / 143 new → DK-69–80); dry-runs 1–5 (judge PASS 20/20 on the final kit)
- close: tools-health OK (5,917 lines; kit_coverage's first run in the chain); real render 32 pages; doc_links --strict 0/0/0;
  audit_public OK over 6,945 paths; gate_scan PASS; every milestone item met with literal output
- rules: R74–R83 ratified at gate 1; candidates (i)–(xi) + the S91-b doctrine proposed for Phase 34 gate 1
- v1.32.0 -> v1.32.1
2026-09-08 09:36:10 -06:00
Drew T 845fd8848b kit+docs(phase-33.5): task 15 prep — the health chain into the record corpus (14.5 addendum), the regenerated timeline, the task-15 log + the closed checkpoint
- Drew's question "is make tools-health set up for the decomp-architect to use as well?" — it was not: the chain's checks ship as
  tools and its lessons as kernels, but the Makefile recipe (a comment per rung naming the incident that earned it) lived outside
  tools/. tool_census --corpus now extracts `tools-health:` + `audit-digest:` VERBATIM into decomp-architect/corpus/record/build/
  tools-health.mk (derived text; --check regenerates and compares; 92 lines); the record front page's row; the intake's Phase-5
  tools column and the methodology's instruments section point at it. No installer step changed → no sixth dry-run owed; the
  installable snippet (a TODO(phase-N) per rung, Step 8) is recorded for the split phase.
- docs/story-timeline.md regenerated by tools-health's report step (R75)
- CURRENT_PHASE.md: the task-15 entry — real render 32 pages rc 0; tools-health OK (5,917 lines, kit_coverage's first run in the
  chain); doc_links --strict OK; audit_public OK over 6,945 paths; gate_scan PASS; the P7 walk of the six milestone items, each MET
  with literal output; Ghidra stopped (R23) — and the CLOSED checkpoint (NEXT = Drew's close commit, then Phase 34 in a fresh session)
- verify: tool_census --check OK; kit_lint OK; kit_coverage OK; doc_links --strict OK; audit_public OK on the new file
2026-09-08 00:09:39 -06:00
Drew T 9044c35b65 docs(phase-33.5): task 14.5 close — log entry (the record 56 files / 358 copies; kit_coverage 83 rules + 59 entries, 0 uncovered; the mining pass 777/634/143 → DK-69–DK-80; dry-run 5 PASS 20/20; the two instrument findings) + checkpoint (NEXT = task 15, Max, Tier 1) 2026-09-07 23:54:29 -06:00
Drew T 8594081d86 kit+docs(phase-33.5): task 14.5 part 3a — dry-run 5 of the final kit (fresh throwaway, fresh Opus agent): PASS, 0 failed verify lines; the run-5 rows
- run 5 under BRIEF-run5.md (the D6 guardrails restated): ProjectArchitect 2.0 §1–§9 then the kit Steps 0–10, unattended from
  answers.md; 4 trailer-free commits; stopped_at null; manifest 57 == 57 (docs/inherited-record.md included); G 67; seeds 34/34;
  check-ignore 9/9 + 5/5; placeholder audit clean; the audit exits 0 in the throwaway; PhaseEnd_Phase0.5 + the archived log; tree
  clean; settings/statusline/memory/ghidra/dumps/~/.claude guardrails unchanged
- the agent's notes, acted on: the installer named pa-overlays.md without its templates/ folder at Steps 6 and 8 → `$KIT/templates/…`;
  its own write-scope slip (two staging files under /tmp, deleted) recorded; the manifest rule's silence on a file the installer
  creates and deletes itself noted
- the judge: my run-5 BEFORE snapshot stripped the first porcelain line's status space and so failed to exclude a deletion under the
  dry-run's own directory (the false flag of the first judge pass — re-filtered, not re-snapshotted); the judge's reader crashed on an
  empty dirty set (a one-token line) → tolerated; run-4 evidence kept under the .run4 suffix
- wiki page (five dry-runs, the run-5 row), Home/Tools/README/SETUP rows: five runs
2026-09-07 23:53:11 -06:00
Drew T 8a698e1b79 kit+docs(phase-33.5): task 14.5 part 2 — the phase-log mining pass banked: DK-69–DK-80 from 143 worklog lessons; the S92 accelerators + decision-log entries
- 21 read-only Opus slices over the 26 worklogs (30,540 lines read; the three giants by line range), briefed by
  .run/P33.5/log-mining/BRIEF.md with the "already banked?" grep protocol: 777 candidates, 634 already banked, 143 NEW;
  every cited log line verified to exist by harvest.py and read; 142 banked + 1 dropped (the miner's own low-value verdict)
- decomp-kernels.md: twelve kernels DK-69–DK-80 (instrument blind spots; verdict staleness + the health suite; what earns
  belief; denominators/units/labels; leverage vs tractability + campaign scoping; models and prompts; the unattended run;
  agents and the tree; edits that keep proofs; the search harness + the compiler as evidence; maintaining the knowledge base;
  hosts and services), each provenance line generated from the slices' cited worklog lines (bank.py); section 8 retitled;
  Coverage "In all: DK-1 … DK-80"; every count mention → 80 (kit README, methodology, SETUP row, wiki page)
- docs/accelerators.md "P33.5 S92" (two accelerators: a distillation ships with a coverage check; the end-of-project worklog
  pass recovers the fixed-but-never-generalised lessons — 1 in 5 here) → cited by the twelve kernels (kit_coverage: 59 entries,
  42 cited + 15 dispositioned, 0 UNCOVERED; the matcher now requires an un-numbered entry's FULL group text);
  docs/decision-log.md "P33.5 S92" (R31: the question, the measurement, the pivot, the 82%/18% why, the hindsight path)
- evidence tracked under .run/P33.5/log-mining/ (BRIEF, 21 slice reports, HARVEST.md, HARVEST_TABLE.md, harvest.py, bank.py;
  a dated .gitignore block); expected-manifest +1 (docs/inherited-record.md); make kit-corpus regenerated the record copies
- verify: tool_census --check OK (358 copies); kit_coverage OK; kit_lint OK (0 leaks over 436 files); doc_links --strict OK;
  wiki_render --selftest 32/0; audit_public OK on the new files; 80 DK ids cited, 0 dangling
2026-09-07 23:24:14 -06:00
Drew T 0c29c9e16b tools+kit(phase-33.5): task 14.5 part 1 — the record as the third dictionary + kit_coverage (every rule and every accelerator entry cited or dispositioned)
- decomp-architect/corpus/record/: the how-to (13), decision-log, accelerators, retrospective, story, wave-playbook, effort-map,
  gen3-standards, gen3-handoff, DIGEST and every PhaseEnd (34) verbatim behind an authored front page (what each is, how to
  read it, what is NOT there — the phase logs, R19 — and that the mining pass is their distillation); tool_census: RECORD_SOURCES
  + record_dest + the third corpus in plan/write/check (358 copies + 28 pointers, --check OK); kit_lint exempts corpus/record;
  SETUP Step 6 gains 2c docs/inherited-record.md (+ the verify line; expected-manifest +1); ops-setup/README/tree/methodology/
  wiki page/Home/Tools page/README bullet/SETUP row: "two dictionaries" → three
- tools/kit_coverage.py (+ config/kit_coverage_map.tsv): derives R1..R83 from DIGEST §3 (asserted contiguous) and the 58
  accelerator entries (headings + numbered items), asserts each is cited by a provenance line of the registry seed / the
  kernels or dispositioned (G / DK / FOLDED:G / ENV / PA / SEED: / KIT: / RECORD / COOKBOOK / NOT-PORTABLE; unknown ids
  refused); first run: 26 uncited rules + 21 uncited entries → DK-66 (a ledger's tie-break, a checker's widening and a blanket
  commit are part of the instrument — R70/R80/R52), DK-67 (the ignore file's directory-form wall — S91 (1)), DK-68 (a
  summarised signal is a claim, not ground truth — R14/R66) in a new kernels section 8 (the museum is 9; "In all" 68) + 41
  dispositions (15 PA, 3 ENV, folds into G6/G18/G38/G66/DK-12/19/20/22/25/26/31/35/44/45/46/57/61, 1 KIT template, 1 COOKBOOK);
  now 0 UNCOVERED on both populations; wired into tools-health after tool_census --check; SETUP row + dictionary row
- verify: tool_census --check OK; kit_coverage OK (rules 57 cited + 26 dispositioned / 83; accelerators 41 + 15 / 58);
  kit_lint OK; doc_links --strict OK; wiki_render --selftest 32 pages / 0 unlisted
2026-09-07 23:03:34 -06:00
Drew T ecd1c2f51c docs(phase-33.5): plan amendment 3 (Drew, S92) — task 14.5: the record as the third dictionary (how-to, decision log, accelerators, retrospective, story, playbook, effort map, gen3 docs, DIGEST, every PhaseEnd — verbatim, asserted equal), tools/kit_coverage.py (every R-rule and every accelerator entry cited by a kit provenance line or dispositioned in config/kit_coverage_map.tsv), and the phase-log mining pass (22 read-only agent slices over the 26 logs, only lessons banked nowhere, verified against the cited lines); the measured answer to Drew's question recorded (57 of 83 rules cited, 40 of 53 accelerator entries, 0 PhaseEnds/logs) 2026-09-07 22:51:20 -06:00
Drew T 9937fd7e39 docs+kit(phase-33.5): task 14 — the S91-b types hindsight implemented in the kit + the wiki page Start-a-new-decomp-project.md + the rows
- kit: DK-65 "types are a banking lever and a width lever, not a byte lever" (kernel, when, cost, calibration fence, provenance;
  the kernels file now states its own total "In all: DK-1 … DK-65" and SETUP Step 6 compares grep -c against it instead of a typed
  64); intake row 6's milestone gains the canonical type layer (one definition per shape, widths proven by the bytes at bank time,
  a bank refused for a duplicate definition or a raw address cast) + the type tools moved forward + G62/DK-65 in its columns; row 10
  reads "short if Part C and Phase 6's type layer held"; G62 extended with the bank-time clause (G1–G67 kept); tool_dictionary:
  lift_types + canon_sig_reconcile P10 → P6 and the five type tools' need-keys name the type layer at Phase 6 (the phase column is
  one token — the corpus dir derives from it); the cookbook front page's type-verdict sentence (a NAME never moves a byte, a WIDTH
  or SIGNEDNESS is the one place a type does, the permuter cannot reach it); the methodology's "Types — the two-sided verdict"
  paragraph; the kit README's table + tree now name the two dictionaries and layout-contract.md; make kit-corpus regenerated the
  tool index, the MANIFEST and the corpora (302 copies + 28 pointers)
- wiki: docs/wiki/Start-a-new-decomp-project.md — the three steps, what it installs / does not (the two dictionaries), the ladder
  (11 rows), the five AI-use rules, the six inversions (raw casts → declared symbols; DK-65), the compiler question, the accelerators
  one line each (58 rows), the four dry-runs, how it is kept honest; sidebar + Home rows; Tools-from-this-project rows for the kit
  and the tool index; README bullets for both; SETUP row for decomp-architect/ (R21); Where-the-project-goes-next links the page and
  records the probe PASS (2026-09-07); phase34-seed: task 0 PASSED, the kit carried whole through the flip and split later
- verify: wiki_render --selftest 12/12 + reachability 32 pages / 0 unlisted; doc_links --strict 58 documents / 451 links / 0 pending /
  0 broken / coverage 65 of 65 (one BROKEN on the first draft — a foreign project's docs/ path cited in backticks — reworded);
  kit_lint OK (leak 0 / placeholders 22 == 22 / syntax 0 / gitignore 75 identical); tool_census --check OK; 65 DK ids cited, 0
  dangling; audit_public OK on the touched files; no build input changed
- log + checkpoint (NEXT = task 15, Max, Tier 1 — prompt Drew and wait for gate 2)
2026-09-07 22:40:17 -06:00
Drew T 3c4e185feb docs(phase-33.5): decision-log 'P33.5 S91-b' — hindsight on types (Drew's question): Phase 17 measured struct context byte-neutral (0/10/2) so types are not a codegen lever, but banking was the bottleneck and 1,232 drafter-invented definitions + the width/signedness near-miss class say types are a BANKING and WIDTH lever — the achievable early form is a canonical type file from the first bank (one definition per shape, widths proven at bank time, no duplicate definition or raw cast banked); task 14 amended to implement items (a)–(e) in the kit (DK-65, the Phase-6 milestone, G62 extended, the type tools' need-keys, the cookbook front page, the methodology); checkpoint updated 2026-09-07 22:19:25 -06:00
Drew T 827295e241 tools+docs(phase-33.5): task 13.5 — the tools audit + the two dictionaries: tools/tool_census.py (two agreeing enumerations of 327 tool files; docstring/SETUP row/consumers/class derived from the tree; the authored half in config/tool_dictionary.tsv — phase · portability · the NEED each tool answers · what · adapts · verdict — with coverage asserted both ways) → docs/tool-index.md (need-keyed, KEEP-GEN, Reference-index row, wiki + how-to pointers), the kit's tools/MANIFEST.md regenerated (header states live 293 + superseded 28 = 321 rows), and the two verbatim corpora in-tree (Drew, confirmed S91): decomp-architect/corpus/tools/<phase>/ (302 copies + 28 superseded pointers + INDEX) and corpus/cookbook/ (the cookbook, its symptom index, the codegen map, a front page stating what transfers per compiler) — sha1-equal to their sources by tool_census --check in tools-health, regenerated by make kit-corpus; kit_lint exempts the corpus dirs (verbatim evidence) but syntax-checks them; G66 (consult the tool dictionary first) + G67 (translate an inherited idiom through its pass) + two memory seeds (34 at install); SETUP Step 6 installs docs/knowledge-corpus.md and checks the manifest against its own stated total; the ops-setup dictionary rows; the intake's Phase 7 cites G66/G67 and Phase 10 + Part C name the raw-cast → declared-symbol step; templates/layout-contract.md (the five-tool probe, a draft for the split). The review under Drew's criterion: 93 no-consumer tools (one Opus agent's draft, verified: 0 defects, every successor live, 0 live consumers, 0 collisions; four one-off verdicts overturned to STILL-NEEDED) → 34 retired by git mv to tools/sunset/ (28 superseded, 6 one-offs; README review table; SETUP rows moved; Archive-index group). Run 4 (fresh throwaway, the final kit): stopped on my Step-6 check (321 vs the live 293) → both sides derived → resumed → PASS 10/10, manifest 56 == 56, 4 commits, guardrails held (the one foreign path was the timeline regenerated by the detached tools-health). tools-health OK; doc_links --strict rc 0; audit_public OK over 6,842 paths; the purge probe PASSED (Phase 34's gate open). decision-log "P33.5 S91" + accelerators "P33.5 S91" banked; log + checkpoint (NEXT = task 14, xHigh, fresh session) 2026-09-07 22:09:15 -06:00
Drew T 3307775e5b docs(phase-33.5): plan amendment 2 (Drew, 2026-09-07) — task 13.5 gains the dictionaries, in-tree now: the tool index rows as need-keyed dictionary entries, tool_census --corpus materialising the toolset and the knowledge base verbatim into decomp-architect/corpus/{tools,cookbook}/ with equality asserted in tools-health, kit_lint exempting the corpus dirs by directory, two memory seeds + two rules (consult the tool dictionary first; translate the source idiom through the pass), the five-tool layout-contract probe; the checkpoint's open decision marked confirmed 2026-09-07 21:00:35 -06:00
Drew T a291c2b479 tools+docs(phase-33.5): task 13 — the kit's dry-run install under D6's guardrails: three runs in a throwaway repo (PA 2.0 + the kit, one Opus subagent per run, every answer from answers.md, writes only inside the throwaway), judged independently by judge.py (manifest set, placeholder audit, 14 check-ignore probes, G == 65, seeds == 32, trailer-free commits, the audit, PhaseEnd/log state, BEFORE/AFTER guardrails incl. the real tree's dirty paths). Run 1 FAILED at kit Step 3.7: ProjectArchitect's directory-form .run/ ignore defeats every re-include beneath it and the kit forbade the edit → SETUP Step 3.0 (the one named edit above a marker) + Step 0.4 + Step 10.1 scoped past both packages with a plain grep + a troubleshooting row. Run 2 (resumed from Step 3, the fixed kit) PASSED 10/10 and found two more → Step 10.2 in-memory compile (py_compile always writes bytecode), the "never paste a literal double-brace" rule (SETUP + docs-README), Step 10.6's digest synopsis, README "Findings for ProjectArchitect" (three upstream items); the judge's own two false FAILs fixed (scope; dirty PATHS not count). Run 3 (fresh throwaway, fresh agent, the final kit) PASSED 10/10 with 0 defects; its 57-line manifest vs my 46 exposed a spec gap → Step 10.5 tightened to an exact derivable rule; regenerated 53 == 53; judge PASS 20/20; every guardrail value unchanged. Evidence tracked under .run/P33.5/kit-dryrun/ (answers, expected manifest, before/after ×2, install logs, manifests ×3, verdicts ×2, judge.py; the gitignore block re-includes *.py); audit_public OK over the 14 fixture files; log + checkpoint (NEXT = task 13.5, xHigh; the dictionary amendment recorded as awaiting Drew's go) 2026-09-07 20:54:03 -06:00
Drew T 4c1d5d9f7c docs(phase-33.5): task 12 — kit part 3: decomp-architect/SETUP.md (Step 0 contract with the write-scope guardrails; Step 1 the PA-2.0 pin, the ladder-in-constitution check, the §E precondition, Path A only, the Phase-0.5 phase file; Step 2 the interview + the answers: file contract; Step 3 the firewall with the planted-fixture negative control and the check-ignore probes; Step 4 layout; Step 5 bootstrap + the checkpoint commit; Step 6 the flywheel documents that outlive the package; Step 7 the registry seed inserted before §E′ with the renumber fallback; Step 8 the overlays by marker + config templates instead of a live settings/mcp merge + the skeletons; Step 9 the memory seed; Step 10 the leftover-placeholder audit, the sorted install manifest, PhaseEnd_Phase0.5, the close commit, the five-part final message, hard stop; install manifest; troubleshooting); class 7 of the firewall gains /.claude-state/transcripts/ (a decomp's transcripts quote the target) and the scratch block re-includes .run/README.md — wiki fence + template re-extracted (75 lines identical); pa-overlays Block 7 → config/decomp-hooks.snippet.json + config/mcp.json.template (no comment keys in JSON); PLACEHOLDERS "Filled" wording aligned with the steps; verify: kit_lint OK over 44 files, doc_links --strict rc 0, 19/19 PA installer mechanisms with counterparts, 12/12 markers present in their templates, all placeholders named, every Step reference resolves; log + checkpoint (NEXT = task 13, the dry-run, xHigh) 2026-09-07 19:42:41 -06:00
Drew T 6fb2bc7f8c docs(phase-33.5): plan amendment (Drew, 2026-09-07) — task 13.5 added: the tools audit + a derived tool index (tool_census.py → docs/tool-index.md, the kit MANIFEST re-derived, the 91 no-consumer tools reviewed under Drew's criterion: still needed for a future decomp / superseded by a named successor / one-off; retirement into tools/sunset/ only after the consumer census); measured baseline 326 tool files, 224 SETUP rows, 91 without a runtime consumer 2026-09-07 19:35:19 -06:00
Drew T 9235800fb7 tools+docs(phase-33.5): task 11 — kit part 2: the firewall pack (templates/gitignore.decomp extracted byte-for-byte from the wiki fence — gitignore_template_check now runs in tools-health; firewall.txt with purge:/glob:/required:/pending:/fixture: rules; audit_public.template.py generalised from the repo's audit with its sources in the config, refusing zero sources; firewall-fixture/ = 16 synthetic bytes + sha1, the planted negative control), no-rom.template.yml, the docs/.run READMEs, ops-setup.decomp.md, bootstrap.template.sh (skeleton), CLAUDE.decomp-overlay.md (the four fail-safes + session-start extras), pa-overlays.md (7 fenced blocks: DIGEST, the 🛑 checkpoint block, the PhaseEnd narrative axis, effort rows, cookbook entry shape + triage table, wave-playbook skeleton, settings/mcp), the LICENSE/NOTICE/README/CONTRIBUTING skeletons, .clang-format + make-format.snippet.mk; tools/MANIFEST.md (325 tool files by ladder phase from one read-only survey, coverage 325/325, as Phase-N tasks); tools/kit_lint.py (fence-aware leak grep, the PLACEHOLDERS set-diff, in-memory compile / bash -n / JSON+YAML, the gitignore diff, TODO counts, coverage; --selftest = the R39 control) wired into tools-health; decomp-architect/README.md in doc_links DEFAULT; SETUP row; PLACEHOLDERS Used-in cells reconciled; make tools-health OK on this tree (detached run, .run/P33.5/tools_health_t11.log); story-timeline regenerated by the report step; log + checkpoint (NEXT = task 12, Max) 2026-09-07 19:22:51 -06:00
Drew T 83de29c023 docs(phase-33.5): task 10 — kit part 1: decomp-architect/README.md (the three install steps, what it installs and does NOT, the PA-2.0 pin, new-projects-only), intake.decomp.md (PA Mode-1's twelve items pre-answered + the 11-row phase ladder with a machine-checkable milestone, the tools built, the G-rules in force and the DK-kernels that earned each row + the six readability inversions + the §E-empty instruction for PA's generation step), decomp-architect.md (the methodology, 13 sections), templates/registry-E.decomp.md (G1–G65 in seven groups, each with a provenance line), corpus/decomp-kernels.md (DK-1…DK-64 + the failure museum condensed), templates/PLACEHOLDERS.md (the 22-placeholder contract kit_lint diffs against); fence-aware lint 0 hits over 23 files, placeholders 22 == 22, ladder 11/11 rows cite a kernel, 0 dangling G/DK cites; The-ROM-firewall.md residue paragraph re-pointed to the tracked untracked_after_rewrite.txt (doc_links exited 1 in BOTH modes at e1463d430 — the citation went UNTRACKED at task 8's git rm --cached; strict rc 0 now); log + checkpoint (NEXT = task 11, xHigh) 2026-09-07 18:44:49 -06:00
Drew T e1463d4300 docs(phase-33.5): S90 checkpoint — decision-log entry 'P33.5 S90' (the re-charter, the three audits + the adversarial review, the six owner decisions, what tasks 0–9 measured, the hindsight path); CURRENT_PHASE checkpoint refreshed for a fresh session (tasks 0–9 done, NEXT = task 10 at Max; the decision-log item of task 14 already banked) 2026-09-07 18:12:31 -06:00
Drew T caefe98728 docs(phase-33.5): task 9 — memory reconciliation + the kit's memory seed: decomp-architect/memory-seed/ (16 de-BFM'd seeds + MEMORY.md citing PA 2.0's own sixteen: the byte gate as the only claim, the matching flywheel, MCP reconnect, offline tooling first, a slow gate is a bug, breadth is isolated agents, route by measured difficulty, one runbook is the procedure, the accelerator ledger, checkpoint = already in a file, the PhaseEnd narrative axis, tool change ships with consumers + docs, no sleep-polling, long checks in the foreground, resume means resume the run, answer before grinding — five tagged upstream: PA); the project's own store outside git: the off-project memory parked, seven stale memories given dated update blocks, two index defects fixed (80 rows == 80 files); log + checkpoint 2026-09-07 18:10:00 -06:00
Drew T ae71efe56f chore(phase-33.5): task 8 — tracked .run/ pruned to flip-ready: 218 paths untracked (172 tracked-but-ignored inertia files, 39 uncited t3s3 session logs + 5 duplicate close logs, the two fable_cd4 disassembly listings) — all still on disk; .gitignore re-includes narrowed under dated comments; tools/public_rewrite/untracked_after_rewrite.txt (audit-only sibling of the purge set, which stays byte-unchanged so gate_scan stays PASS); audit_public check 4 CONTENT (longest contiguous run of disassembly-shaped lines, cap 64; controls: 398/179 fail, the 40-line fixtures pass; 0 offenders among 6,443 paths after); runbook §11 residue paragraph; four tool comments annotated; SETUP row; log + checkpoint; P6 rules check 2026-09-07 18:04:15 -06:00
Drew T 21c98ed5a5 tools(phase-33.5): task 7 — the checkers: doc_links.py six checks (links + pending; the archive refusal; the wiki-first allow-list derived from the Reference index + README; docs/ coverage 64/64; TRACKED/UNTRACKED citations by git with --disk and the '(not kept)' declaration; wiki-first warnings), wiki_render --selftest reachability (31 pages, 0 unlisted), timeline.py wired into report/audit-digest (was stale: 72 -> 73 rows), gitignore_template_check.py behind a loud skip in tools-health; the cookbook control 13 -> 0 dangling (5 archived-doc cites re-pointed to docs/sunset, 8 scratch cites declared not kept); SETUP rows; log + checkpoint 2026-09-07 17:55:59 -06:00
Drew T 6ec4786bda docs(phase-33.5): task 6 — 59 documents archived into docs/sunset/ with git mv (25 closed-phase plans/studies, distill 2, history 4, tool-designs 11, generated-snapshots 17); docs/wiki/Archive-index.md (every file: what it was, what came of it, where it lives now — paths, never links) + docs/sunset/README.md (the owner's review checklist); DIGEST §4 rewritten around the wiki, §1 gen2-roadmap marked archived; history README + SETUP row refreshed; family-hseq.md stays (regenerated by the contract run) and joins the Reference index; pending list empty; checks: 59 rows == 59 files, archive coverage 0 missing, docs coverage 0 uncovered, doc_links 56 docs / 429 links / 0 broken; log + checkpoint 2026-09-07 17:48:52 -06:00
Drew T a0d4ae8368 docs(phase-33.5): task 5 — the six INTEGRATE documents folded into the wiki and how-to (three agent diffs): 'Matching by hand' in The-matching-workflow (two decompiles + the asm as arbiter, the loop, THE FIVE SIGNATURE MOVES, choosing targets, running it as a wave); ch.07 'Levers from the hand-matching era'; ch.02 conflicts-before-the-gate + the red-gate diagnosis + propagation as a gate; ch.09 'A wave, priced' / 'Instruction weight, not head count' / 'The gate's cost is paid in wall-clock' + yield rows with denominators; ch.05 the banked twin, face vs delivered mass, pipeline vs batch, gate the directory, step 6b Reconcile, the harvest yield series; the S37 execution block into wave-playbook §5; ch.03 the permuter-failures paragraph + the band attribution; ch.04 cites tooling-audit; 11 referrers re-pointed (0 links to the four leavers remain); 12 stale classes and 2 superseded figures deliberately not folded; log + checkpoint 2026-09-07 17:43:56 -06:00
Drew T 9970f1e628 docs(phase-33.5): task 4 — wiki: Reference-index (48 rows + 4 directory rows; the only sanctioned wiki→docs link site), Where-the-project-goes-next (Phase 34, then Gen3: the floor, the bar, the census with one pin count, the invariant, the order, the levers, conduct, shiftability, parked ideas), Contributing 'AI use — conduct', Home rewritten with the source-of-truth statement, sidebar sections Reference / Where next / History; gen3-handoff §8 R1–R83 + 43,925; Reference-index pending entry cleared; coverage check: uncovered == the task-6 leavers; log + checkpoint; P6 rules check 2026-09-07 17:32:09 -06:00
Drew T 5d10a0d126 docs(phase-33.5): task 3 — wiki 'Working conventions': Docs-and-scratch-conventions (where each kind of knowledge goes, authored vs generated, the link policy, the archive, .run/ ignored-by-contents with dated exceptions, the per-session layout) and The-ROM-firewall (the rule with no private exemption, the nine classes with their tracked forms, the copyable .gitignore template, the three enforcement layers + the one-list rule, the rewrite lessons as R76–R82, the one recorded residue); sidebar section; Repository-layout/Contributing/how-to ch.11 cross-links; two forward links registered PENDING (Reference-index task 4, Archive-index task 6); log + checkpoint 2026-09-07 17:25:30 -06:00
Drew T d06923a06c docs(phase-33.5): task 2 — unblock, doc side: six status banners corrected in place (concurrency-design implemented; gen2-mips model built; psyq-worklist COMPLETE; distill ledgers LANDED as §265–§269; hindsight-study HISTORICAL + supersession table); SETUP §1a rewritten (.run/ ignored by contents, allowlisted by dated exception); the pin count = 43,925 from one command in both Gen3 docs (44,243 counted comment lines, 43,857 missed the bare-name form); log + checkpoint 2026-09-07 17:19:09 -06:00
Drew T a0cf302e5b docs(phase-33.5): task 1 — unblock, code side: seven tool docstring/comment cites re-pointed off docs/tool-designs and docs/hindsight-study (decision-log S61 entry, cookbook §260, how-to ch.03 Phase 2b); CLAUDE.md R1–R83, the H1 fail-safe dated to Phase 33 C3, the effort default = the DIGEST §1 doctrine; log + checkpoint 2026-09-07 17:16:17 -06:00
Drew T 39d5249917 chore(phase-33.5): OPEN — gate 1 (Drew, 2026-09-07, plan mode, Max): docs consolidation + the wiki as source of truth + the tracked-.run/ prune + the day-one decomp kit (v1.32.0 -> v1.32.1)
- R74–R83 ratified at gate 1 (the PhaseEnd_Phase33 candidates (a)–(j)), full text in DIGEST §3; DIGEST §0 notes the open sub-phase
- phase-ends/CURRENT_PHASE.md: milestone, effort map, the nine owner decisions, 16 tasks, the three audit ledgers (docs/ per-file
  classification; tracked .run/ groups incl. the 172 tracked-but-ignored and the two fable_cd4 disassembly listings; the memory-store
  classes), the 🛑 checkpoint, and the approved plan verbatim
- docs/phase34-seed.md: candidates (a)–(j) now R74–R83; Phase 33.5 runs before Phase 34 and touches no flip step
- harness task list built (16 rows, R28)
2026-09-07 17:06:45 -06:00
Drew T 80d45b29bb chore(phase-33): CLOSE (re-chartered) — verified, rewritten, published-ready: the contract run, the in-place history rewrite, LICENSE/NOTICE/README, the releases, story/retrospective/wiki/how-to, the Gen3 charter; the flip is Phase 34 (v1.32.0)
- PhaseEnd_Phase33.md written; CURRENT_PHASE.md archived to phase-ends/logs/Phase33.md (R19); DIGEST §0/§2/§3 appended (step 3b)
- 4 sessions (S86–S89): A1–A5 (the recorded run; main game-code 45,150/45,150), B1–B9 (public build path, Ghidra text export, CI),
  C1–C9 (filter-repo rewrite: 4,031 pairs / 0 failures, commit-map.tsv, force-pushed in place, .git 93 MB), D1–D5, E1–E6, F1–F3, G1
- close R22 on b46358f27: extract-all 217/217 (+main), check-all 218 passed / 0 failed (exits 0/0/0); tools-health OK
- re-charter (Drew): the flip-gated remainder (probe → C10 → outward E1/E2/D3/F3 → discoverability → C11 → v2.0.0) is Phase 34
  (docs/phase34-seed.md); Gen3 = Phase 35 from gen3-handoff.md + gen3-standards.md
- rules: R65–R73 ratified at gate 1; candidates (a)–(j) proposed for Phase 34 gate 1
- v1.31.0 -> v1.32.0
2026-09-07 15:33:55 -06:00
Drew T b46358f279 docs(phase-33): the Gen3 charter docs/gen3-standards.md (accuracy met + stricter than the field; sotn STYLE.md adopted + four rules of ours; the use-of-AI conduct; the measured gap; a definition of done), README 'Standards, and how the AI was used', docs/phase34-seed.md (RE-CHARTER, Drew 2026-09-07: P33 closes now at v1.32.0; the flip-gated remainder = Phase 34 = the flip + Gen2 exit at v2.0.0; Gen3 = Phase 35+); doc_links + SETUP rows; checkpoint §0a + header; log 2026-09-07 14:46:53 -06:00
Drew T aa73085a6b docs(phase-33): gen3-handoff §2.2 — the standard to meet (sotn STYLE.md + CONTRIBUTING AI clause, decomp.me FAQ, rood-reverse), the community's gripe decomposed, the tree's readability gap measured (1,094 named vs 16,335 func_; 43,857 pins; 5,147 macro bodies in one 8.4 MB header; 3,558 carve-split files), and the Gen3 sequencing against P33; log 2026-09-07 14:36:55 -06:00
Drew T fae69a9175 fix(phase-33): the wiki waits for the flip after all — free-plan GitHub offers wikis only on public repos (settings page text recorded); wiki_sync message + checklist item 5 corrected 2026-09-07 14:23:14 -06:00
Drew T c05c6081bd docs(phase-33): README 'Tools from this project' section + wiki page (sidebar, Home row): xsig, the permuter driver (upstream pinned unmodified + our class swap; the only copy lives here), the codegen map, the decomp.me replica, the drafter write-up, the how-to; docs/outreach/tools-announcement.md stored for post-flip (developer's voice); checklist 5/5b (the wiki can be pushed NOW while private; xsig topics, fork deletion, the post); wiki_sync message corrected; SETUP rows; doc_links default 2026-09-07 14:20:05 -06:00
Drew T 7696b856e5 docs(phase-33): rule candidate (j) + decision-log pivot reworded to Drew's decision (developer's voice, no AI disclosure) 2026-09-07 14:08:42 -06:00
Drew T 642107493d docs(phase-33): Drew's decision on outward text — no AI acknowledgement; write the way a developer writes (rewritten from the facts, not de-telled model prose; the dense code-span formatting was the likely giveaway): E1 preset request + E2 Archipelago message rewritten in a developer's voice; rule candidate (j), decision log P33 S89, failure museum row 37, how-to §11 and the checklist reworded 2026-09-07 14:08:15 -06:00
Drew T a5943af98c docs(phase-33): E5 outcome — permuter PR #213 + issue #214 closed unmerged by the maintainer (wildcard rule intentional; rename symbols in the asm; nonzero floors fine interactively; the model-drafted text read as LLM-written) — recorded in permuter-ils §2/§3, SETUP row, decision log P33 S89, failure museum, how-to §11; binding lesson + rule candidate (j): outward text in Drew's own words or disclosed — the pending E1/E2 texts and the checklist re-labelled 2026-09-07 14:01:47 -06:00