Unified punch-list graph (§E) -- the pile as a graph, not a list
No code changes -- per direct request to represent the accumulated Milestone 2/3/5 punch-list items plus D's Tripod-vision gaps as a graph rather than flat lists, since several items turn out to be the exact same open question asked in different places, and several converge on the same blocker. Mermaid dependency graph in FABRIC-3.md §E, cross-referencing: - WRITE(10) (Milestone 2) as a true hub: independently gates the block-map write path, the ongoing MINT word, detach/flush-back, and all real-hardware testing -- landing it once unblocks four separate-looking fronts. - Milestone 5's "key/lock data shape" and D.4's "ACL bumps and holes" gap are literally the same open question, not two separate ones. - Runtime capsule construction (a D.4 detail) sits on the critical path to the MINT word, not a side note. - Message-bus migration has three currently-unbuilt hardwired prerequisites, confirming it's correctly last in this whole area. - Only 4 of the ~20 nodes are genuinely standalone; everything else connects to at least one other open item. No ordered plan yet -- this is the graph itself, not a sequence. Documented as the input to the next iterative planning pass. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U14ET9CWAtbQMbYqomKgXd
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
1d0df69127
commit
ee2018179f
+113
@@ -1370,3 +1370,116 @@ materializing.
|
||||
**Next step:** no implementation yet — this section is capture only, per direct request. Next
|
||||
session should turn D.3/D.4 into an actual scoped, ordered plan (the user's own framing:
|
||||
"identify gaps, answer what we can, defer what we can't... push the pile out in front of us").
|
||||
|
||||
---
|
||||
|
||||
## E. The pile as a graph (2026-08-27)
|
||||
|
||||
Stated directly: "if this is all documented, scoped and correctly interwoven we can begin
|
||||
iterating... I see no reason to not create this as a graph, it might better handle the way I
|
||||
think." Auditing D.1-D.4/D.2b against the older Milestone 2/3/5 punch lists (§X in this
|
||||
document) confirms the instinct is right, not just stylistic — several items across
|
||||
*different* milestones are, on inspection, **literally the same open question**, and one
|
||||
single blocker (`WRITE(10)`) gates work in at least four unrelated-looking places. A flat
|
||||
punch list hides that; a graph doesn't.
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
W10["❌ WRITE(10) SCSI support<br/>(Milestone 2 — biggest single blocker)"]
|
||||
HOTPLUG["🟡 Hotplug event surfacing<br/>partially addressed, M2"]
|
||||
STALL["❌ USB error/stall recovery (M2)"]
|
||||
|
||||
M6["✅ Milestone 6 — capsule PKI<br/>DONE 2026-08-26"]
|
||||
PH8["✅ Phase 8 — Zuse identity<br/>+ block-fence, DONE 2026-08-26"]
|
||||
|
||||
CERTVERIFY["🔓 CA-signed-cert verification path (M3)<br/>UNBLOCKED by M6, not yet built"]
|
||||
FIRSTTOUCH["❌ First-touch identity→block-range<br/>allocation (M3)"]
|
||||
BMAPFMT["❓ On-drive block-map format (M3)<br/>real design decision, not started"]
|
||||
BMAPWRITE["❌ Write block-map to drive (M3)"]
|
||||
BMAPREAD["❌ Read/validate block-map on insert (M3)"]
|
||||
MIGSM["🟡 Migration state machine (M3)<br/>partially answered: ACL decides *when*"]
|
||||
UNCLEAN["❌ Unclean-removal handling (M3)"]
|
||||
|
||||
ACLKEY["❓ ACL 'bumps and holes' comparison<br/>semantics — SAME GAP in M5 and D.4"]
|
||||
WIREBIND["❌ Wire hotplug → capsule_birth_baby() (M5)"]
|
||||
BINDSTEP["❌ Extend sk_repl_set_active_vm()<br/>with key-match (M5)"]
|
||||
DETACH["❌ Detach behavior (M5)"]
|
||||
|
||||
EXPIRE["✅ EXPIRE reframed: session end<br/>= VM detach via COOL (§B + D.2)"]
|
||||
RUNCAP["❓ Runtime capsule construction<br/>from thumbdrive content (D.4) — new mechanism"]
|
||||
MINT["❌ Ongoing MINT word (Phase 8 + D.3)"]
|
||||
PENTAGON["📍 Pentagon: Hera/Hermes/Artemis/<br/>User-VM/Console, K5 (D.2b)"]
|
||||
MSGSHAPE["✅ Hermes message shape known<br/>(MSG-CELLS, MSG-ALLOC/DELIVER)"]
|
||||
MSGMIGRATE["❓ Message-bus migration of<br/>attach/verify/bind (D.4)"]
|
||||
|
||||
SSDSCOPE["❓ SSD identity-store scope<br/>for regular users (D.4)"]
|
||||
ROUNDTRIP["❓ Session state round-trip<br/>across attaches (D.4)"]
|
||||
POLYBLOCK["❓ Polymorphic block-boundary<br/>behavior (D.1, since 2026-08-25)"]
|
||||
PROMPTBUG["🐛 (Zuse)ok> prompt typo<br/>trivial, independent"]
|
||||
|
||||
W10 -->|blocks| BMAPWRITE
|
||||
W10 -->|blocks| MINT
|
||||
W10 -->|blocks| DETACH
|
||||
W10 -.->|blocks real-hardware testing of everything below| M8["Milestone 8 — bare metal"]
|
||||
|
||||
M6 -->|unblocks| CERTVERIFY
|
||||
PH8 -->|supplies crypto primitives| CERTVERIFY
|
||||
PH8 -->|supplies mint-then-pin precedent| MINT
|
||||
|
||||
BMAPFMT --> BMAPWRITE
|
||||
BMAPFMT --> BMAPREAD
|
||||
BMAPFMT --> FIRSTTOUCH
|
||||
|
||||
CERTVERIFY --> RUNCAP
|
||||
RUNCAP --> MINT
|
||||
|
||||
HOTPLUG --> WIREBIND
|
||||
ACLKEY --> BINDSTEP
|
||||
WIREBIND --> BINDSTEP
|
||||
BINDSTEP --> DETACH
|
||||
DETACH -->|triggers| EXPIRE
|
||||
|
||||
MSGSHAPE --> MSGMIGRATE
|
||||
WIREBIND -.->|hardwired version must exist first| MSGMIGRATE
|
||||
BINDSTEP -.->|hardwired version must exist first| MSGMIGRATE
|
||||
CERTVERIFY -.->|hardwired version must exist first| MSGMIGRATE
|
||||
PENTAGON -->|which of the 10 edges get messaged| MSGMIGRATE
|
||||
|
||||
classDef done fill:#1a3,stroke:#333,color:#fff
|
||||
classDef blocked fill:#a33,stroke:#333,color:#fff
|
||||
classDef unblocked fill:#a83,stroke:#333,color:#fff
|
||||
classDef open fill:#666,stroke:#333,color:#fff
|
||||
classDef partial fill:#883,stroke:#333,color:#fff
|
||||
class M6,PH8,EXPIRE,MSGSHAPE done
|
||||
class W10,STALL,FIRSTTOUCH,BMAPWRITE,BMAPREAD,UNCLEAN,WIREBIND,BINDSTEP,DETACH,MINT blocked
|
||||
class CERTVERIFY unblocked
|
||||
class BMAPFMT,ACLKEY,RUNCAP,MSGMIGRATE,SSDSCOPE,ROUNDTRIP,POLYBLOCK open
|
||||
class HOTPLUG,MIGSM partial
|
||||
```
|
||||
|
||||
**Legend:** ✅ done · 🔓 unblocked-but-not-built · ❌ not started, no open design question left
|
||||
(just needs building) · ❓ real open design question, not just missing implementation ·
|
||||
🟡 partially addressed · 📍 topology/context node, not a work item itself · 🐛 trivial,
|
||||
independent bug. Solid arrows = hard dependency (A must exist before B can be built or
|
||||
finished). Dashed arrows = softer "gates/informs" relationships.
|
||||
|
||||
**What the graph makes visible that the flat lists didn't:**
|
||||
- **`WRITE(10)` is a true hub**, not just "the M2 punch list's biggest item" — it independently
|
||||
gates the block-map write path, `MINT`, detach/flush-back, *and* all real-hardware testing.
|
||||
Landing it once unblocks four separate-looking fronts at once.
|
||||
- **`ACLKEY` (the exact ACL comparison semantics) is one node, not two** — Milestone 5's "key
|
||||
and lock data shape" and D.4's "bumps and holes" gap are the literal same open question,
|
||||
asked in two different sessions/documents. Answering it once closes both.
|
||||
- **`RUNCAP` (runtime capsule construction) sits on the critical path to `MINT`** — a gap that
|
||||
read as "D.4 leftover detail" is actually load-bearing for the ongoing-minting flow, not a
|
||||
side note.
|
||||
- **`MSGMIGRATE` has three separate hardwired prerequisites**, all currently unbuilt — the
|
||||
message-bus migration can't even start until `WIREBIND`/`BINDSTEP`/`CERTVERIFY` exist to
|
||||
migrate *from*, confirming this is correctly the last thing to tackle in this whole area, not
|
||||
a parallel track.
|
||||
- **Only `SSDSCOPE`, `ROUNDTRIP`, `POLYBLOCK`, and `PROMPTBUG` are genuinely standalone** —
|
||||
everything else in the pile connects to at least one other node.
|
||||
|
||||
**Not yet done:** an ordered plan (which node to attack first, given the graph). Per Captain
|
||||
Bob's own framing, that's the next pass — "start asking and answering questions iteratively
|
||||
until we've planned as much as possible."
|
||||
|
||||
Reference in New Issue
Block a user