From 818b9569d3ea30fb1f3de4d24d5e59ac9ed009cf Mon Sep 17 00:00:00 2001 From: Robert Allan James Date: Sat, 15 Aug 2026 06:03:53 -0400 Subject: [PATCH] FABRIC-2.md: add pre-Artemis closeout triage (Section F) Buckets every open item across the document into: closed this pass, genuinely blocked on non-Artemis work, and items needing Captain Bob's ruling before they can move. Closes the loop on the "close everything until Artemis is the blocker" instruction with a concrete state instead of an open-ended list. Co-Authored-By: Claude Sonnet 5 --- FABRIC-2.md | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 79 insertions(+), 3 deletions(-) diff --git a/FABRIC-2.md b/FABRIC-2.md index 38f9556..4949727 100644 --- a/FABRIC-2.md +++ b/FABRIC-2.md @@ -462,13 +462,15 @@ and recorded. 2026-08-13): flag and leave as-is** — this metadata subsystem is scaffolding expected to get consumed once Artemis's design (content-typed/owned/ACL'd blocks) is completed, not a bug to fix now. -- [ ] `tools/README.md` documents a `fbtest.c` example that does not actually exist in +- [x] `tools/README.md` documents a `fbtest.c` example that does not actually exist in `tools/` — stale-doc discrepancy. Confirmed 2026-08-13, and the discrepancy is two-sided: `git log --all` shows `fbtest.c` was never added to the repo at any point — the table entry describes a tool that was documented but never built. Meanwhile `tools/ttftest.c` (added `5f6cc05`, item 4.3.7, TrueType parser core test) is a real tool that exists on - disk but has no README table entry at all. Left unfixed pending explicit instruction - (README edit would be a fix, not just an investigation). + disk but has no README table entry at all. + + > **DONE 2026-08-15.** Replaced the `fbtest.c` row with `ttftest.c`, matching the tool + > that actually exists. Doc-only, no build impact. Committed `b9e8fdc`. - [x] **`hotwords_cache_promote()` has a NULL-write bug on a full cache.** Confirmed 2026-08-13: the full-cache branch (`src/physics_hotwords_cache.c:362-371`) writes `word` into `cache->cache[cache->lru_index]` unconditionally once `cache->cache_count >= @@ -671,3 +673,77 @@ and recorded. enabled real compiler optimization. Nobody has re-measured, or even confirmed the old and new numbers are comparable at all. Flagged in passing during item 4.5f, never formally scoped. + +--- + +## F. Pre-Artemis closeout triage — 2026-08-15 + +Captain Bob's instruction: close everything closeable in the codebase — analysis gaps, +documentation, dead code, proofs — until Artemis (item 4.6) is the *only* remaining blocker +to further development. This section is the resulting triage of every open item above (plus +a fresh pass), bucketed so the closeable work gets done now and the rest gets a clean, +one-shot decision request instead of guesswork. + +**Bucket A — closed this pass:** + +- [x] `tools/README.md`'s stale `fbtest.c` row → `ttftest.c`. Commit `b9e8fdc`. +- [x] `bump-z`/`bump-y` — broken targets removed outright (ruling: redundant with the + documented `VERSION`/`LITHOS_VERSION` hand-edit convention). `.claude/CLAUDE.md` updated to + match. Commit `b9e8fdc`. +- [x] Proofs — `:`'s `compiling_word_id` tracking closed, matching CREATE/VARIABLE/CONSTANT's + depth. All 52 theories verify. Commit `ee3a2e5`. This is the natural stopping point for the + proof sweep: every remaining gap (DEFER's runtime dispatch, the FIND-family lookup itself, + vocabulary-chain mechanics, the block-window cache, the hot-words cache) needs either a new + subsystem model or is Artemis-adjacent (the block-window cache is storage-layer, downstream + of Artemis's own design) — not a same-session close. + +**Bucket B — genuinely blocked, not on Artemis directly but on other unstarted work:** + +- **4.4s** (`(user)` prompt segment) → blocked on ACL Phase 8 (PKI/user-minting identity + storage), itself a separate open item on CLAUDE.md's own record, not this session's scope. +- **1.11** / **4.3** (dirty-event granularity / Console umbrella) → both close only when 4.4s + closes; no independent path. +- **§17.4** (framebuffer heat/decay physics) → blocked on 1.11, same chain. +- **5.1** (DoE re-run on the Stadium substrate) and **ACL-RWT re-measurement** → both + campaign-scale QEMU-timing measurement work. Recommend running both *after* Artemis lands, + since Artemis's own storage/timing work is likely to perturb whatever gets measured now — + Captain Bob's call, not made here. + +**Bucket C — needs Captain Bob's ruling, each already investigated as far as it can go +without one:** + +- **`src/*.c.bak` deletion.** Confirmed stale (added at the initial commit, never touched + since, not referenced by any build wildcard, fully recoverable via `git show a5ed8c3`). + `git rm` was attempted and blocked by this session's permission classifier as a destructive + tracked-file removal. Needs Bob to run the `git rm` directly, or to confirm in a context + where the classifier allows it. +- **`CONSOLE.md`'s fate** (item 5.3). Structurally superseded by `FABRIC.md` §17.5's later, + decided ruling (utility, not a 4th Tripod VM) and by the keyboard-driver work that shipped + since. Needs either a full rewrite against §17.5/§27 as the design-of-record, or an explicit + "superseded, kept for history" header. +- **`HERMES.md`'s stale block map and cell-count table** (item 5.3). Confirmed wrong (9 cells + shipped, not 8; block map missing 4142/4144–4159/4175/4176). Reconciling the full map is + real work, not a one-line fix — needs a scoping decision, not a guess at what to include. + Recommend after Artemis, since Hermes's own message layout may shift again once Artemis is + a live message endpoint. +- **§12 Q5's `STADIUM_CAPACITY_TICK` wiring.** A real, verified ordering violation (the + fleet-capacity loop can fire faster than a VM's own heat loop, backwards from §22.4's + required 1000:1 separation) exists today, but is structurally invisible until a second VM's + heat loop is live long enough to race it in practice — recorded as a known defect, not an + active one. Whether to wire the existing-but-unread `STADIUM_CAPACITY_TICK` Kconfig symbol + in for real, or resolve it some other way, is Bob's call. +- **5.3's larger ask** (actually shrinking `ARTEMIS.md`/`HERMES.md`/`CONSOLE.md`/`TRIPOD.md`'s + line counts, not just fixing stale claims). Blocked on the `CONSOLE.md`/`HERMES.md` rulings + above — can't shrink a document whose fate/content isn't settled yet. + +**Closed-by-ruling, not reopened this pass** (each already has a recorded "flag and leave" +decision from Captain Bob — reversing that without being asked would be exactly the +uninstructed initiative CLAUDE.md warns against): `arch_mmu_init()` stubs, +`block_subsystem.h`'s `encoding`/`blk_meta_t` dead fields, `hotwords_cache_promote()`'s +unreachable NULL-write, `m5_time_trust`/`m5_variance` dead fields. + +**Net result:** after this pass, bucket A is done, bucket B is genuinely gated (mostly on +4.4s → ACL Phase 8, and on Artemis-timing-sensitivity for the two measurement items), and +bucket C is six itemized questions ready for one round of Captain Bob's rulings rather than +open-ended investigation. Nothing in B or C is closeable without either Artemis or an explicit +decision — which is the state this pass was asked to produce.