Move fabric.4th + font.4th to hestia/init.4th -- FABRIC-3.6.md tasks 1.6+1.7 (merged)
Tasks 1.6 and 1.7 are not independent, and the punchlist's split was
wrong: font.4th calls G-LINE/G-ELLIPSE, which are fabric.4th's own
words. Confirmed live before committing to an approach -- removed only
fabric.4th's EXEC from init.4th, left font.4th's in place, booted
amd64: Hera's boot floods with UNKNOWN WORD: 'G-LINE'/'G-ELLIPSE' the
moment font.4th loads (logs/20260919-171047/amd64/, kept as evidence).
Reverted that partial state, asked Captain Bob how to proceed given
neither task can independently pass its own three-arch-boot check, and
was told to use best practices.
Moved both together, in their original relative order, into a new
capsules/hestia/init.4th block 4988 -- a deliberate, documented
deviation from "one task, one commit," not a bundling of convenience.
Three-arch boot clean: amd64/aarch64/riscv64 all reach [zuse@Hera] ok>,
zero UNKNOWN WORD. Hestia's dict_hash identical across all three
architectures. Verified the shrink/grow live, not just inferred from
hash movement: HERE reads 20008 in Hera, 63040 in Hestia post-move.
CART-PLOT in Hera is UNKNOWN WORD; the identical call routed into
Hestia via VM-EXEC reaches the word and fails on a stack underflow
instead, proof it exists there since an unknown word can't underflow.
mkcapsule --lint capsules/ clean, 38 files / 0 violations. MANIFEST.md
updated: init.4th's block 2049 entry no longer lists fabric.4th/
font.4th; hestia/init.4th's entry gains block 4988.
Authorized by Captain Bob ("Use best practices.").
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
487769e18a
commit
5afb33049f
+29
-2
@@ -379,9 +379,36 @@ Hestia; headless policy intact.
|
||||
the idle prompt for 5–10s on all three architectures and confirmed it **stopped growing**
|
||||
(last real output, `StarForth CLI`/`ok>`, with nothing appended after) rather than flooding
|
||||
or silently stalling mid-boot. No compiler warnings.
|
||||
- [ ] **1.6** — Move `fabric.4th` from `init.4th` to `hestia/init.4th`. *Check:* Hera's dict
|
||||
- [x] **1.6** — Move `fabric.4th` from `init.4th` to `hestia/init.4th`. *Check:* Hera's dict
|
||||
shrinks, Hestia's grows; cross-arch identity holds.
|
||||
- [ ] **1.7** — Move `font.4th` likewise. *Check:* same.
|
||||
**Merged with task 1.7 into one commit — see that entry.** Real dependency discovered
|
||||
while attempting 1.6 alone, not a convenience bundling: recorded here and there.
|
||||
- [x] **1.7** — Move `font.4th` likewise. *Check:* same.
|
||||
2026-09-19 · **finding, not a defect: 1.6 and 1.7 are not independent, and doing 1.6 alone
|
||||
breaks Hera's boot.** `font.4th` calls `G-LINE`/`G-ELLIPSE`, which are `fabric.4th`'s own
|
||||
words (`fabric.4th` blocks 5000–5002 per `font.4th`'s own comment). Confirmed live before
|
||||
committing to either approach: removed only `fabric.4th`'s `EXEC` from `init.4th`, left
|
||||
`font.4th`'s in place, booted amd64 — Hera's boot floods with `UNKNOWN WORD: 'G-LINE'`/
|
||||
`'G-ELLIPSE'` the moment `font.4th` loads (`logs/20260919-171047/amd64/`, kept as evidence,
|
||||
not deleted). Reverted that partial state immediately (`git checkout --
|
||||
capsules/init.4th`), asked Captain Bob how to proceed given the two tasks as separately
|
||||
scoped can't each independently pass their own three-arch-boot check, and was told to use
|
||||
best practices. **Merged both into this one commit**, moving `fabric.4th` and `font.4th`
|
||||
together, in their original relative order, into a new `capsules/hestia/init.4th` block
|
||||
4988 — a deliberate, documented deviation from "one task, one commit," not a bundling of
|
||||
convenience.
|
||||
|
||||
`logs/20260919-171942/amd64/`, `logs/20260919-172123/aarch64/`,
|
||||
`logs/20260919-172253/riscv64/` — all three reach `[zuse@Hera] ok>`, zero `UNKNOWN WORD`.
|
||||
Hestia's `dict_hash` (`0xe4e6b1916827e320`, capsule_hash `0x6aa0a1b5daf9d2ec`) identical
|
||||
across all three architectures. **Verified the shrink/grow live, not just inferred from
|
||||
hash movement**: `HERE .` reads `20008` in Hera, `63040` in Hestia (post-move) — a huge gap
|
||||
confirming Hestia's dictionary now genuinely holds the drawing vocabulary. `CART-PLOT` in
|
||||
Hera returns `UNKNOWN WORD: 'CART-PLOT'`; the identical call routed into Hestia via
|
||||
`VM-EXEC` reaches the word and fails on a stack underflow instead (`>R: DSP underflow`) —
|
||||
proof the word exists there, since an unknown word can't underflow. `mkcapsule --lint
|
||||
capsules/` clean, 38 files, 0 violations. `MANIFEST.md` updated: `init.4th`'s block 2049
|
||||
entry no longer lists `fabric.4th`/`font.4th`; `hestia/init.4th`'s entry gains block 4988.
|
||||
- [ ] **1.8** — Move `PLOT`/`FB-WIDTH`/`FB-HEIGHT` registration to Hestia's table **only**.
|
||||
*Check:* **positively verify** a non-Hestia VM calling `PLOT` gets `UNKNOWN WORD`.
|
||||
- [ ] **1.9** — Assert §XVIII.6's headless invariant: Hestia's birth sets no
|
||||
|
||||
Reference in New Issue
Block a user