diff --git a/FABRIC-2.md b/FABRIC-2.md index a0c4154..5930095 100644 --- a/FABRIC-2.md +++ b/FABRIC-2.md @@ -61,6 +61,77 @@ and recorded. > `HERMES.md`, `CONSOLE.md` were not read for similar staleness, and none of the four > documents' actual line-count reduction (the item's real ask) has been attempted. + > **AUDIT of the other three, 2026-08-13.** Read each in full. One got the same + > well-scoped fix as `TRIPOD.md`; the other two turned up staleness too large to + > silently correct — reported here for a call, not fixed. + > + > **`ARTEMIS.md` — fixed, same pattern as `TRIPOD.md`.** Its Build Status section + > claimed Artemis "boots live in the Tripod fleet (announces ready to Hermes) on every + > amd64/aarch64/riscv64 kernel boot." Same conflation as `TRIPOD.md` had: confirmed + > `capsules/init.4th` births no VM but Hera (item 0.1), so Artemis-as-VM-patron capsule + > birth is not automatic — but Artemis's block-storage *device* (the virtio-blk disk) + > genuinely does auto-attach at the C level at boot (`kernel_main.c` M7.pre), which is + > real and unchanged. Corrected in place; rest of the document (Build Status detail, + > Storage Design future material) read as accurate and current, not touched further. + > + > **`CONSOLE.md` — not fixed, staleness is structural, needs Captain Bob's call on how + > to handle it.** This document is dated 2026-08-02 and states outright "nothing + > described here is implemented yet... there is no Console code in the tree yet." That + > is no longer true in two different ways: + > 1. **Its central premise was superseded by a later, DECIDED ruling.** `CONSOLE.md` + > says Console is "the fleet's fourth leg — Quadrupod, not Tripod. A real StarForth + > VM, spawned by Hera, participating in fleet K≡1.0." `FABRIC.md` §17.5 later ruled + > the opposite, explicitly and by name: the framebuffer is **not** a patron, it is a + > utility — "closer to the power company... Not the Stadium. Not the basement of the + > Stadium. A third thing." Confirmed no Console VM exists anywhere in the tree + > (grepped `stadium.h`, `vm_uuid.c`, the fleet machinery — zero hits for a Console + > VM kind). `CONSOLE.md`'s entire "What Console Is" section describes a design that + > was designed *away from*, not toward. + > 2. **Its "explicitly out of scope" list is now false.** `CONSOLE.md` lists keyboard + > input as out of scope, stating flatly "there is no keyboard driver anywhere in + > this codebase yet." Confirmed false: `src/starkernel/arch/amd64/i8042.c` (PS/2, + > exactly the driver `CONSOLE.md` itself predicted as "the pragmatic first target") + > and `src/starkernel/virtio/virtio_input.c` (USB HID, which the doc predicted + > "should come later, if at all") both exist, and a keyboard-to-REPL bridge is live + > (`FABRIC.md` item 4.4v, `src/word_source/keyboard_words.c`, + > `src/starkernel/repl.c`'s `sk_kbd_getc()`). + > + > Some of the document's technical content did land as described and is *not* + > stale: the bottom-left-origin/Y-up Cartesian coordinate flip is real + > (`framebuffer.c:225`'s comment confirms the pre-flip/post-flip distinction), and + > stroke-font glyph capsules plus a later TrueType adjunct did ship (`FABRIC.md` + > §27.6/§27.7). The font/pen layer and heat-driven-redraw sections were not + > independently re-verified line-by-line here — flagged as unverified, not claimed + > accurate or inaccurate. + > + > Given the console/framebuffer work that actually shipped went a different + > architectural direction than this document's core design (utility, not a 4th + > Tripod VM; direct C/StarForth console code, not Hermes-routed VM messages), a + > minimal correction paragraph the way `TRIPOD.md`/`ARTEMIS.md` got would understate + > the gap. This needs either a full rewrite against `FABRIC.md` §17.5/§27 as the + > design-of-record, or an explicit "superseded, kept for history" header — Captain + > Bob's call, not made here. + > + > **`HERMES.md` — not fixed, one concrete verified discrepancy plus a stale block map, + > needs Captain Bob's call.** `HERMES.md`'s own "Message node — 8 cells" layout table + > (offsets 0–7: type, sender, recipient, payload addr, payload len, heat, seq, channel) + > contradicts the capsule's own `9 CONSTANT MSG-CELLS` (`capsules/hermes/init.4th`, + > confirmed twice already this session — once in this document's §23.4 #2 closure, + > once independently here). The real 9-cell layout item 4.2 shipped stores a Stadium + > cell index at offset 5, not a raw heat value directly, and adds an `ORIG-TYPE` field + > at offset 8 that `HERMES.md` doesn't mention at all. Separately, `HERMES.md`'s "v1 + > Block Map — LOCKED" lists only blocks 4100–4128; the actual capsule + > (`grep '^Block ' capsules/hermes/init.4th`) also has blocks 4142, 4144–4159, 4175, + > 4176 — a substantial amount of item 4.2's Stadium-integration content (VM-name + > routing, StadiumBehaviour tags, the admission-heat math) isn't in the documented map + > at all, and it's not verified here whether 4122–4128 as `HERMES.md` numbers them + > still hold the same content. `HERMES.md` closes with "This document is authoritative. + > If it conflicts with something in the codebase, the codebase is wrong" — that claim + > does not hold for the cell count, which is a deliberate, intentional change (the + > capsule's own comments say "item 4.2 -- heat/capacity via Stadium"), not a drift bug. + > Reported, not fixed — reconciling the full block map is real work, not a one-line + > correction. + --- ## B. Live and unmeasured — deferred while Tripod was pruned to Hera-alone, now genuinely live since item 4.2 restored Hermes