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
Drew T
8fefb5f4c5
docs(phase-33): gen3-handoff §2.1 — external labels vs derived structure (owner Q&A at E2): the AP world labels ~342 globals and carries no structs; structure comes from our own source under the byte gate; names from observation, cited; Gen3 ordering caution (unify duplicate structs before naming; pins mechanical; naming = judgment + evidence)
2026-09-07 13:39:13 -06:00
Drew T
bb290a5d3d
checkpoint(phase-33): Drew's consolidated post-flip checklist (probe → flip → E1 → E2 → D3 outward → wiki → C11/G2) as checkpoint §0b + runbook §11
2026-09-07 13:36:46 -06:00
Drew T
a30b80b600
docs(phase-33): E2 — docs/outreach/archipelago.md: the Archipelago note with the decomp's answers to the BFM AP world's data (dow byte 0x80078EBA CONFIRMED via func_8014B084 — our dayCounter row corrected u8->u16 and 'dow not yet separable' resolved; their patch sites + Time-Sanity hook resolved to shared engine functions by a 141-image sig scan; the town-ID patch retired as historic; memory-map Q#13 ANSWERED: BASLUS-00726MUSASHI at 0x80072DFC in EXE .data, the client's 0x072e02 fallback is +4 off); GitHub-issue text + Discord short form, plain style, SEND AFTER THE FLIP; SETUP row + E2 section; doc_links default; log + checkpoint (36 of 41: nothing left for Claude before the flip)
2026-09-07 13:29:48 -06:00
Drew T
630c05bafc
checkpoint(phase-33): Drew's six post-flip E1 steps recorded in the checkpoint §3 flip chain + runbook §11 (bundle .run/decompme/drew_bundle/, regenerable)
2026-09-07 13:19:38 -06:00
Drew T
95c142d2ae
docs+tools(phase-33): E1 — docs/decompme-preset.md + tools/decompme_replica.sh: the decomp.me preset proven through decomp.me's OWN toolchain locally (old-gcc 0.13 + maspsx 86ccd7d8 rebuilt from decompme/compilers' Dockerfile; func_80018F20 26/26 words BYTE-IDENTICAL, control identical, cc1/maspsx deltas text-identical; -O1 and empty-TU negative controls; --upstream drift check); SETUP's stale 'decomp.me uses our maspsx pin' corrected (3 rows), §6.5 rewritten, E1 section + rows, ledger 14; presets are created by decomp.me's maintainers from an issue template (no UI create, no owner delete) — Drew's post-flip step = prove the scratch, file the request, the manual search; doc_links default; .run/P33/e1 log allowlisted; log + checkpoint (35 of 41)
2026-09-07 13:12:08 -06:00
Drew T
47d11e29b8
checkpoint(phase-33): C10 — GitHub Support ticket #4736982 filed by Drew via the Virtual Agent 'Clear cached views' flow (the route recorded in runbook §11 with the 'Deletes' trap); checkpoint §1/§2/to-do updated; daily probe until PASS
2026-09-07 12:50:48 -06:00
Drew T
87169e184c
docs(phase-33): C10 preflight — the Activity-view leak measured (157 activity rows expose both pre-force-push tips; the old tip still serves the EXE, dumps and archive; probe 31/33 ALIVE, S76 lineage 4 days un-GC'd); runbook §11 ticket text names both tips + filing route, delete+recreate promoted to the deterministic alternative, enable Wikis before the push; rule candidate (i); log
2026-09-07 12:27:34 -06:00
Drew T
78857d7ca6
checkpoint(phase-33): PR simonlindholm/decomp-permuter#213 opened and issue #214 filed by Drew (recorded in permuter-ils.md §2–§3 + SETUP); NEXT for the next session = step 6, the flip chain, Claude walking Drew through it (probe → flip → E1/E2 docs + Drew's outward actions → D3 outward → wiki push → C11 → G2); the E1/E2 documents may be drafted even before the probe passes
2026-09-07 12:11:21 -06:00
Drew T
ec6db382db
checkpoint(phase-33): S88 update after the outward pushes — the nine commits are pushed and both workflows ran green on them (incl. the new gccmap_cites + xsig audit steps); the gc ran (one 80 MB pack); probe_github's positive control now checks origin/main, not the local main (an unpushed commit failed it); the block's to-do, repo state and file inventory reconciled
2026-09-07 11:54:25 -06:00
Drew T
a00907040d
chore(phase-33): the outward pushes — Druthulu/xsig created public and pushed (c8d862c); decomp-permuter forked and reloc-masked-scorer pushed (f276733: the scorer + a USAGE note sharing the restart recipe); a plain contributor-style pass on the PR content (docstring/comments/help/docs/commit message, 0 AI or em-dash tells) and on tools/xsig/README.md + docs/permuter-ils.md; the tracked patch regenerated (2 commits, git am OK); SETUP rows; log + to-do (Drew: open the PR, file the issue)
2026-09-07 11:51:12 -06:00
Drew T
f215ba0b3c
checkpoint(phase-33): S88 close — the 🛑 block reconciled for a fresh session (34 of 41 done: F3, E3–E6, G1 this session; Drew's ordered to-do — push, gc, ticket + daily probe, the xsig repo, the permuter fork/PR/issue, then the flip chain; NEXT for Claude = C11 after the probe passes, then G2)
2026-09-07 11:37:19 -06:00
Drew T
583ec85d6e
docs(phase-33): G1 — docs/gen3-handoff.md: where Gen2 ends, the owner's next intent (casts -> structs, pins off, names), the starter census DERIVED from the tree with its commands (143 raw address casts, 61,898 D_ symbols, 16,335 func_ names — the plan's numbers reproduced — plus 44,243 register pins, 1,258 Sony tiles, 1,083 symbol-file entries, 1,232 struct defs, 2,220 dedup groups), the one invariant (every edit byte-gated; shared bodies change every member; types are comprehension not bytes), the inherited levers, shiftability honestly scoped, the parked Gen3 ideas, governance for a new generation; SETUP row + P33 G1 section; doc_links default; log + checkpoint (34 of 41: everything Claude can do before the flip is done — NEXT = the probe-gated chain on Drew's side, then C11, then G2); G1 pulled ahead of the plan's C11 -> G1 order (recorded)
2026-09-07 11:35:50 -06:00
Drew T
98e5846662
docs(phase-33): E6 — docs/matching-drafter-pipeline.md: the fine-tuned local matching drafter written up from the Phase 22–25 records (the toolchain-agnostic pipeline export_pairs → format_finetune → train_lora → eval_lora → serve_local → api_draft/lora_grind/bulk_harvest → the byte gate; the measured arc as one table — stock floor ~0, corpus-v2 85% on 6–15 ins, the 0/222 harness bugs, corpus-v3 57.5% held-out + ~352 production banks at $0, bulk_harvest 65% at 0.4 s/fn, GLM5.2 10/18 bodies but 3/18 banks = the def-side wall, v4 discarded; the portable lessons; hardware; a five-step recipe; what is NOT published — the ROM-derived pair dataset and the adapter weights, both gitignored); SETUP row + P33 E6 section; doc_links default; log + checkpoint (Block E complete; NEXT = G1, pulled ahead of the probe-gated items)
2026-09-07 11:32:42 -06:00
Drew T
bf002f84d2
tools(phase-33): E5 — the permuter upstream PR branch (reloc-masked-scorer: src/reloc_scorer.py RelocMaskedScorer as a Scorer subclass, --score-mode {mnemonic,reloc-masked} + score_mode setting, -J refusal, docs, test/test_reloc_scorer.py 10/10 on an embedded gcc-2.7.2 listing; black clean, mypy at upstream's baseline; the real permuter: a swapped-operand base 4 -> 0 in 256 iterations where the default scorer read 3,585) tracked as tools/permuter/upstream/0001-reloc-masked-scorer.patch (git am clean onto upstream main 41bd0bfc); docs/permuter-ils.md (why the stock scorer floats, the scorer + PR, the symbol_regex issue text for PR-2, the ILS warm-restart recipe and its five guards); SETUP row + P33 E5 section; doc_links default; log + checkpoint (NEXT = E6); Drew pushes the branch to his fork and opens the PR + issue
2026-09-07 11:29:35 -06:00
Drew T
9c4d32d651
tools(phase-33): E4 — xsig packaged: tools/xsig/ (xsig.py library + CLI sign-s | sign-objdump | cross | verify | selftest, from the Phase-21 .run/xdedup probe; README with the recorded worked example — BFM × Xenogears + Vagrant Story 103 hits all PsyQ library/BIOS, BFM × Tomba 126 hits 124 library: the decision log's clean negative; MIT LICENSE; tests/ from a game-free fixture compiled with the pinned triple and linked at two addresses with --emit-relocs, relocation records merged into the listings, 8/8) in tools-health + CI + doc_links; SETUP row + P33 E4 section; the standalone copy at .run/P33/xsig-repo/ (one commit, noreply identity, system-python tests OK) for Drew to push as Druthulu/xsig; log + checkpoint (NEXT = E5, a cut candidate for Drew)
2026-09-07 02:51:02 -06:00
Drew T
50c1b69e4d
docs(phase-33): E3 — docs/gcc-2.7.2-map/README.md (the five files by pass group, the condensed §31 triage table, the byte-proof method, the provenance legend: vanilla 2.7.2 subset from the GNU tarball sha256 7cd8bce5… vs pmret/gcc-papermario = gcc 2.8.1, the +611-line drift caveat, the S23 audit 119/40/7/4) + tools/gccmap_cites.py: every file.c:NNN cite in the map tagged [2.7.2]/[2.8.1 pm]/[repo] from the trees (quoted snippets → function extents → nearest occurrence → the author's cues → cite_overrides.tsv, 20 rows with reasons → a tie is a valid 2.7.2 line; a contradiction leaves [?]); 135 cites: 79/55/1, --verify 0 disagreements, --controls 6/6, idempotent; three tagger defects caught by its own controls before any tag landed (window span pairing, code fences, self-read cues); --check (textual) in tools-health + CI audits; doc_links default; SETUP row + P33 E3 section; log + checkpoint (NEXT = E4); 8 orphaned 49h permuter workers stopped
2026-09-07 02:32:57 -06:00
Drew T
0cf971d1f4
docs(phase-33): F3 CLOSE — the wiring: wiki_render --selftest in make tools-health (run: OK, 12/12 inside it), SETUP rows + the P33 F3 section (25 pages / 264 links / 1,896 lines; sources named), runbook §11 gains the post-flip wiki step (first page in the UI, then tools/wiki_sync.sh --push — Drew); CURRENT_PHASE: F3 ticked, the S88 F3 log entry, the checkpoint rewritten for the successor (NEXT = E3; Drew's pending gc + ticket status; rule candidate (h): a probe never writes into the repository it guards)
2026-09-07 02:05:45 -06:00
Drew T
954362c81e
docs(phase-33): F3 the wiki + how-to-AI-decomp, authored in-repo — docs/wiki/ (Home, Build from your own disc, Toolchain setup, Repository layout, The matching workflow, The dedup engine, Overlays and modules, Ghidra rebuild from text, Verification and progress, Contributing and the no-ROM policy, How-to-AI-decomp index, _Sidebar) + docs/how-to-ai-decomp/ chapters 00–12 (governance, byte gate, bootstrap order, oracles and instruments, cards/lanes/waves, knowledge base, compiler source, models and budgets, economics, integration and propagation, publishing, failure museum); tools/wiki_render.py (link rewrite to GitHub-wiki page names, dead link = error, 12-case selftest) + tools/wiki_sync.sh (render → clone → replace → diff; --push is Drew's, R6; dry-run works before the wiki repo exists); doc_links checks both directories by default (DEFAULT_GLOBS); pending list EMPTY, --strict PASS: 40 documents / 290 links / 0 broken; 25 pages rendered, 264 links rewritten
2026-09-07 01:57:24 -06:00
Drew T
214d0dd15b
fix(phase-33): probe_github.sh fetches into a throwaway scratch repo (R57) — the S87 baseline + first S88 probe runs had imported 5.97 GiB / 30 packs of the purged history into ~/bfm-decomp as unreachable objects (a successful git fetch of an old sha pulls its whole closure); now --filter=blob:none --depth=1 into .run/public_rewrite/probe_scratch.git (deleted on exit) + a self-check naming any sampled old commit the working repo still holds + the gc recipe (control: count-objects identical before/after, verdict unchanged 31/33 ALIVE); runbook §11 + SETUP row; S88 preflight logged (Drew pushed; no-rom + progress workflows GREEN on first run; F3 = FULL)
2026-09-07 01:41:08 -06:00
Drew T
5e57e88de2
docs(phase-33): F2 the retrospective — tools/mine_hindsight.py (19 hindsight items over 79 decision-log entries, 2 believed-sections, 237 deviation rows, file:line anchored) -> docs/retrospective.md (belief-vs-truth table, eight failures and why they looked right, costs with denominators, ten 'sooner' items, what stayed hard); doc_links pending list EMPTY (--strict PASS); SETUP row; S87 closes at 87% context — checkpoint rewritten for the successor: NEXT = F3 (scope = Drew's call)
2026-09-07 01:16:08 -06:00
Drew T
c8c4e37f5a
fix(phase-33): doc_links — a missing default document that is on the pending list counts as PENDING, not BROKEN (docs/retrospective.md until F2)
2026-09-07 01:11:04 -06:00
Drew T
5b03ae1d5a
docs(phase-33): F1 the timeline + the story — tools/timeline.py (72 dated rows from the committed digests' history, keyed by date, PhaseEnd ticks, self-check == progress.json; the 07-22 denominator note computed from the rows, not asserted) -> docs/story-timeline.md + .svg; docs/story.md (the narrative from the first commit to the flip, every section citing its PhaseEnd / decision-log / timeline sources); pending list -> 1; SETUP row; checkpoint -> NEXT = F2
2026-09-07 01:10:48 -06:00
Drew T
2cbedf5878
docs(phase-33): D5 governing-docs consistency — CLAUDE.md fail-safe names every purged path (H1 in force), DIGEST §1 H1/R1/R20 + the Phase-14→P33 in-place flip, roadmap-to-100 'Status at Phase 33' block, gen2-roadmap Phase-14 SUPERSEDED banner; tools/doc_links.py (relative-link checker with a tracked pending list that gate 2 refuses; negative control rc 1) in tools-health; SETUP row; checkpoint -> NEXT = F1 (Block D done)
2026-09-07 01:05:53 -06:00
Drew T
f679d4deeb
docs(phase-33): D4 the SETUP.md public-clean pass — public-from-P33 header refresh, the remote (origin + the private archive), generic dump path, §4.7 tarballs tracked, §6.5 the decomp.me preset line, the backup section rewritten as the PUBLIC posture with the private era as a dated note (two-repo mirror plan superseded), ledger row 11 closed / 14 → E1, the one missing R21 row (verify_contract.sh); checkpoint -> NEXT = D5
2026-09-07 01:03:41 -06:00
Drew T
ecf67e6ff3
feat(phase-33): D3 progress publishing — per-binary instruction totals in docs/progress.json, docs/badges/*.json (shields endpoint), --check covers JSON + README block + badges (in make audit-digest), tools/objdiff_report.py (report.proto v2; validated with objdiff-cli 3.8.1 incl. a mutated-unit control), tools/frogress_upload.py (dry-run default), .github/workflows/progress.yml (artifact SLUS_007.26_report, no rebuild); SETUP rows + P33 D1–D3 section; checkpoint -> NEXT = D4
2026-09-07 01:01:28 -06:00
Drew T
af482a02d4
docs(phase-33): D2 — LICENSE (AGPL-3.0 verbatim from gnu.org), src/NOTICE.md (reimplementation for study/preservation, © 1998 Square acknowledged, no license asserted, no 'clean-room'), THIRD_PARTY.md (17 rows, every license read from the upstream LICENSE file or the GitHub API; old-gcc and ghidra_psx_ldr publish none — download-only; the SDK never distributed), tools/README.md (the one AGPL statement); checkpoint -> NEXT = D3
2026-09-07 00:53:58 -06:00
Drew T
848f294fc8
docs(phase-33): D1 the README rewrite — the claim and the contract, a GENERATED numbers block (tools/progress.py --json -> docs/progress.json, --readme rewrites the marked block, --check asserts freshness; wired into make report), what is not our C, build-from-your-own-disc, layout, how it was made (ProjectArchitect), about the history (tokens + commit-map), license split, no-ROM policy, special thanks; forward references to D2/D3/F1/F2 files recorded in the checkpoint
2026-09-07 00:51:24 -06:00