From b16b54f5a8012bdfe06770ea88c96506af973ff1 Mon Sep 17 00:00:00 2001 From: Robert Allan James Date: Thu, 3 Sep 2026 13:48:33 -0400 Subject: [PATCH] =?UTF-8?q?FABRIC-3.md:=20add=20=C2=A7I,=20consolidated=20?= =?UTF-8?q?live=20punch=20list=20of=20open=20items?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Groups the 23 confirmed-still-open items from the 2026-09-03 stale- checkbox audit (commit 403f53d) by subsystem instead of scattered document chronology, each pointing back to its full original entry. Doesn't replace §A/§B as historical record -- it's the live index; closing an item here should also update its original location. Two findings surfaced while writing this: - The block-map first-touch allocation item's own described mechanism (blk_meta_t prev_block/next_block/chain_length) is stale -- those fields don't exist since §H.12's BMAPFMT rebuild; flagged for re-scoping against the current layout. - EXPIRE (ACL)'s stated blocker ("Phase 8 doesn't exist yet") is now stale -- Phase 8 closed 2026-08-26/27 -- but the real remaining gaps (no zuse-session lifetime/logout, no Stadium generic ttl-reap mechanism) are narrower and still real, so it's flagged, not unblocked. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01QgooKd5hJNtTYqB6CyK5f9 --- FABRIC-3.md | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/FABRIC-3.md b/FABRIC-3.md index bcb7feb..cd22387 100644 --- a/FABRIC-3.md +++ b/FABRIC-3.md @@ -4248,3 +4248,112 @@ work, not new invention. **Excluded, per H.11's deferred items 10–11**: VM card multi-owner support, live-console `sudo`-style elevation, pre-signed capability tickets. + +--- + +## I. Consolidated punch list — everything confirmed still genuinely open (2026-09-03) + +§A through §H accumulated 34 unchecked (`- [ ]`) lines across five months of carry-forwards +from `FABRIC.md`/`FABRIC-2.md`, several of them stale — closed by later work in this document +or `FABRIC-2.md` but never reconciled back to the original checkbox. A full sweep (commit +`403f53d`, memory `project_fabric3_stale_checkbox_audit_20260903.md`) checked off 11 that were +already done, each with a `RETROACTIVELY CHECKED 2026-09-03` note citing real file:line +evidence in place. This section is what's left: the 23 confirmed still-open items, grouped by +subsystem instead of scattered across the document's chronology, each a one-line summary +pointing back to its full original entry (still there, unmodified, in §A/§B) for detail. + +**This section doesn't replace §A/§B as the historical record — it's the live index.** When an +item here closes, check it here *and* at its original location with a matching note, the same +`RETROACTIVELY CHECKED`-style discipline the 2026-09-03 sweep used, so this list never drifts +stale the way the original carry-forwards did. + +### I.1 — Console prompt chain (one real blocker, three downstream) + +- [ ] **4.4s — `(user)` prompt segment.** Not started; the REPL prompt is still the fixed + `ok> `. This is the actual blocker for the three items below — nothing else stands between + them and closing. *(Full entry: §A, "From FABRIC-2.md §A — Blocked or scoped, not started.")* +- [ ] **4.3 — Console umbrella.** Open only because 4.4s is; everything else under it + (4.3.1–4.3.7f, 4.4–4.4ac) is already done. *(Same location as above.)* +- [ ] **1.11 — Dirty-event granularity.** Blocked on 4.3 by design (settled as part of the + console migration, not speculatively before it). *(Same location as above.)* +- [ ] **§17.4 — framebuffer utility's internal heat/decay dynamics.** Undesigned, blocked on + 1.11 specifically (not "the framebuffer work" generally). *(Full entry: §A, "From + FABRIC-2.md §D — Design questions still genuinely open.")* + +### I.2 — Block subsystem + +- [ ] **First-touch allocation function** (identity pubkey + block count → claimed range). + **Re-scoping note added 2026-09-03**: the item's own text (last touched 2026-08-27) still + describes claims as scanning `blk_meta_t`'s `prev_block`/`next_block`/`chain_length` fields + — those fields no longer exist. `§H.12` steps 12–13 (2026-09-03, this document) rebuilt + `blk_meta_t` for `BMAPFMT`: `owner_fp[8]`/`acl_allow`/`acl_ttl`/`flags` (bits `CLAIMED`/ + `MIGRATING`/`STALE`), no chain-link fields at all. Whoever picks this up next should design + the claim/scan mechanism against the *current* layout, not the described one. *(Full entry: + §A, "From FABRIC-2.md §X, Milestone 3 — Block subsystem extensions.")* +- [ ] **Migration state machine** (states, transition triggers). Direction decided (ACL/ + compudynamics-heat governs *when*; migration itself expected rare, not routine) but no state + machine designed. *(Same location as above.)* + +### I.3 — Milestone 5 remainder (BINDSTEP) + +- [ ] **`EJECT` / detach behavior.** Scoped 2026-08-27 (§F.10): flush via + `blk_vm_flush_all()`, reset the console's active VM if bound to the departing VM, then + `capsule_vm_kill()` (already complete). Needs one new piece of state `WIREBIND` must own — + which `VMUuid` is currently attached via the home-blocks USB path. Not built. *(Full entry: + §A, "From FABRIC-2.md §X, Milestone 5 — Console/VM key-match binding.")* + +### I.4 — Milestone 6 remainder (PKI) + +- [ ] **`MANIFEST_AUTO.md` signature-status column.** Investigated 2026-09-03, left unchecked + on purpose: this document's own Phase 8 close-out already redirected the underlying need to + `capsules/BLOCK_MAP.md`'s real `Signed` column instead — the goal is met, the literal file + this item names was never touched. Box stays open as an accurate "moot as worded" marker, + not a real remaining task. *(Full entry: §A, "From FABRIC-2.md §X, Milestone 6 — Kernel/ + capsule PKI signing chain.")* +- [ ] **Magic-number content-type detection.** Not started — shared scope with Milestone 4's + foreign-drive check and Milestone 7 below. *(Same location as above.)* + +### I.5 — Milestone 7 (contributor capsules / trust tiers) — nothing started + +- [ ] Create `capsules/contrib/` (mechanically trivial once the real decision below is made). +- [ ] Add a `FLAG_CONTRIB` bit to `mkcapsule.c` (path-match, mirrors `FLAG_MAMA_INIT`). +- [ ] **Real open decision, not just an implementation gap**: which of the four spitballed + trust-tier directions (signature-authority tiers / block-namespace sandboxing / QEMU-vs- + real-hardware conditional enforcement) — none chosen. +- [ ] If block-namespace sandboxing is the choice: extend `mkcapsule`'s conflict-detection to + reject a `contrib/` capsule claiming blocks outside its reserved range. + *(Full entries: §A, "From FABRIC-2.md §X, Milestone 7 — Contributor capsules / trust + tiers.")* + +### I.6 — Milestone 8 (real hardware boot) — requires a physical machine and a human present + +Not verifiable from source inspection at all; no evidence in this repo that a physical boot +has ever happened, and sections as recent as §G.1/§G.2 still say "real hardware untested." +Eight sequential steps, none done: build a fresh ISO, identify the target USB device path, +flash it (`dd`, with an open question on whether `isohybrid` is needed first), physically boot +the machine (Secure Boot handling unknown until tried), decide an observation method with no +serial-socket log available, confirm POST reaches the same 1012/0/0 result, confirm `ok>` and +a basic command work identically to QEMU, and document the outcome. *(Full entries: §A, "From +FABRIC-2.md §X, Milestone 8 — Bare-metal boot from physical USB.")* + +### I.7 — Milestone 9 (networking / capsule distribution) — correctly still deferred + +- [ ] Explicitly deferred until Milestone 7 closes — its own precondition isn't met, nothing + to do here yet. *(Full entry: §A, "From FABRIC-2.md §X, Milestone 9.")* + +### I.8 — `EXPIRE` (ACL) — deferred, but its stated blocker is now stale + +- [ ] Decided 2026-08-26 (§B): a zuse superuser session, not a per-word ACL entry, is the + right unit to admit as a Stadium patron and reap on expiry — but explicitly deferred "until + Phase 8 (PKI/zuse session minting) lands," since building a reap mechanism with nothing real + to feed it would be speculative infrastructure ahead of its only consumer. + **Flag, not a fix, 2026-09-03**: that stated precondition is now stale. Phase 8 (Zuse + identity/PKI) closed 2026-08-26/27 — real entropy → Ed25519 keygen → thumbdrive-resident + identity → `ZUSE-AUTHENTICATE`/`zuse_session` all exist and work + (`.claude/CLAUDE.md`'s own ACL section still lists Phase 8 as "the open item," which is + itself now stale — see `project_phase8_milestone6_complete.md`). This does **not** mean + `EXPIRE` is ready to build: a zuse session today has no bounded lifetime or logout at + all (`zuse_session` is set once by `ACL-ZUSE-BOOT` and never cleared), and Stadium's own + generic ttl-decrement/reap mechanism still doesn't exist either — both real gaps, narrower + than "Phase 8 doesn't exist," worth re-scoping against before treating this as unblocked. + *(Full entry: §B, "From FABRIC-2.md §... — EXPIRE (ACL).")*