Rename FABRIC series: FABRIC.md->0, FABRIC-2.md->1, FABRIC-3.md->2, FABRIC-4.md unchanged
FABRIC.md -> FABRIC-0.md FABRIC-2.md -> FABRIC-1.md FABRIC-3.md -> FABRIC-2.md (the current/living document) FABRIC-4.md unchanged (new #3 to follow separately) Every cross-reference repo-wide updated to match, including doc-comment citations inside kernel source (.c/.h) files -- done via an ordered placeholder substitution (FABRIC-3.md->placeholder2, FABRIC-2.md-> placeholder1, FABRIC.md->placeholder0, then placeholders resolved to final names) in a single pass per file to avoid double-shifting already-renamed references. One line in capsules/font.4th grew past the 64-char block-format limit as a side effect of the longer filename; shortened it and reverified with mkcapsule --lint (34/34 pass) before rebuilding. Verified 3-arch boot to ok> (amd64/aarch64/riscv64, each in the foreground) after the fix; logs and DoE CSVs from this session's verification runs included per this repo's own audit-artifact convention. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019YcT3H2PQeyujrzjqS3Var
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
ff2941dfb9
commit
b031b802e3
@@ -597,7 +597,7 @@ like `ttf_words.c`, not a word-registration file.
|
||||
## Console Fabric — Framebuffer (`framebuffer_words.c`)
|
||||
|
||||
Kernel-only (`__STARKERNEL__`); no-ops on hosted builds. Raw hardware-boundary access —
|
||||
FABRIC.md item 4.3.3.
|
||||
FABRIC-0.md item 4.3.3.
|
||||
|
||||
| Word | Stack Effect | Description |
|
||||
|---|---|---|
|
||||
@@ -618,7 +618,7 @@ FABRIC.md item 4.3.3.
|
||||
|
||||
## Console Fabric — TrueType Text (`ttf_words.c`)
|
||||
|
||||
Kernel-only (`__STARKERNEL__`); no-op on hosted builds. FABRIC.md item 4.3.7e.
|
||||
Kernel-only (`__STARKERNEL__`); no-op on hosted builds. FABRIC-0.md item 4.3.7e.
|
||||
|
||||
| Word | Stack Effect | Description |
|
||||
|---|---|---|
|
||||
@@ -626,7 +626,7 @@ Kernel-only (`__STARKERNEL__`); no-op on hosted builds. FABRIC.md item 4.3.7e.
|
||||
|
||||
## Console Fabric — Scrollback (`scroll_words.c`)
|
||||
|
||||
Kernel-only (`__STARKERNEL__`); no-op on hosted builds. FABRIC.md item 4.4q (boot-mode
|
||||
Kernel-only (`__STARKERNEL__`); no-op on hosted builds. FABRIC-0.md item 4.4q (boot-mode
|
||||
scrollback added by 4.4ac).
|
||||
|
||||
| Word | Stack Effect | Description |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# M7.1: Init Capsule Architecture
|
||||
|
||||
**Status:** Shipped and live, not just designed — this document predates the actual
|
||||
capsule/Tripod/Stadium work; see `FABRIC.md`/`FABRIC-2.md`/`FABRIC-3.md` for real status
|
||||
capsule/Tripod/Stadium work; see `FABRIC-0.md`/`FABRIC-1.md`/`FABRIC-2.md` for real status
|
||||
(per `.claude/CLAUDE.md`'s standing redirect)
|
||||
**Branch:** `master` (post-split; the old `lithosananke` branch no longer exists in this repo)
|
||||
**Prerequisite:** M7 (VM Parity Validation)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
**Branch:** `master` (post-split: this repo's `master` is the sole LithosAnanke production
|
||||
line; the old `lithosananke` branch belonged to the pre-split combined monorepo and no
|
||||
longer exists here — see `.claude/CLAUDE.md`'s "On the branch topology" note)
|
||||
**Current:** M7.1 in progress — see `FABRIC.md`/`FABRIC-2.md`/`FABRIC-3.md` for real status
|
||||
**Current:** M7.1 in progress — see `FABRIC-0.md`/`FABRIC-1.md`/`FABRIC-2.md` for real status
|
||||
|
||||
---
|
||||
|
||||
@@ -28,7 +28,7 @@ belongs here.
|
||||
|
||||
Applied to the two planned releases: the **v2.0.0** cut (even major, so LTS) is the QEMU
|
||||
release; **v2.5.0** is the hardware bare-metal release that transfers v2.0.0's QEMU story to
|
||||
real boards. See `FABRIC-3.md` §G for the release-gate punch lists.
|
||||
real boards. See `FABRIC-2.md` §G for the release-gate punch lists.
|
||||
|
||||
**Board-by-board hardware rollout, decided 2026-08-29 (extends the above as boards come
|
||||
online).** Real silicon is arriving incrementally (Beelink SER5 in hand now; RasPi 5 + Milk-V
|
||||
@@ -151,8 +151,8 @@ M4 APIC ██████████████████
|
||||
M5 Timer ████████████████████ COMPLETE
|
||||
M6 Heap ████████████████████ COMPLETE
|
||||
M7 VM Parity ████████████████████ COMPLETE
|
||||
M7.1 Capsules ████████████████░░░░ LIVE — see FABRIC.md/FABRIC-2.md/FABRIC-3.md
|
||||
M8 REPL ░░░░░░░░░░░░░░░░░░░░ OBSOLETE — see FABRIC.md §25.5 item 4.4
|
||||
M7.1 Capsules ████████████████░░░░ LIVE — see FABRIC-0.md/FABRIC-1.md/FABRIC-2.md
|
||||
M8 REPL ░░░░░░░░░░░░░░░░░░░░ OBSOLETE — see FABRIC-0.md §25.5 item 4.4
|
||||
M9 Block I/O ░░░░░░░░░░░░░░░░░░░░ PLANNED
|
||||
M10 Networking ░░░░░░░░░░░░░░░░░░░░ FUTURE
|
||||
```
|
||||
@@ -328,15 +328,15 @@ APIC Timer: started
|
||||
**Goal:** Content-addressed, immutable init capsules for VM birth
|
||||
|
||||
**Status:** Design Complete (see [M7.1.md](M7.1.md)) — this section predates the actual
|
||||
capsule/Tripod/Stadium work and is not current. **See `FABRIC.md`/`FABRIC-2.md` for real
|
||||
capsule/Tripod/Stadium work and is not current. **See `FABRIC-0.md`/`FABRIC-1.md` for real
|
||||
status** (per `.claude/CLAUDE.md`'s standing redirect) — Tripod (Hera/Hermes/Artemis),
|
||||
word-level ACL Phases 1–7, and the Stadium physics-economy migration are all live, not just
|
||||
designed. Most recently: item 4.6 (Artemis's block-heat arena migrated to Stadium
|
||||
admission-on-allocate) verified passing its 30-rep stress campaign on all three
|
||||
architectures 2026-08-18, after fixing a quota-grant ordering bug (`capsule_birth.c`) that
|
||||
had made every admission fail; see `FABRIC-2.md` Section H. The same pass also fixed a
|
||||
had made every admission fail; see `FABRIC-1.md` Section H. The same pass also fixed a
|
||||
long-standing aarch64-only crash on `BYE` (wrong PSCI conduit — SMC has nothing to answer it
|
||||
under AAVMF/no-EL3 boot; switched to HVC), see `FABRIC-2.md` Section I.
|
||||
under AAVMF/no-EL3 boot; switched to HVC), see `FABRIC-1.md` Section I.
|
||||
|
||||
**Core Concepts:**
|
||||
|
||||
@@ -379,7 +379,7 @@ under AAVMF/no-EL3 boot; switched to HVC), see `FABRIC-2.md` Section I.
|
||||
## Phase 4: Interactive Forth (M8)
|
||||
|
||||
> **⚠ OBSOLETE (2026-08-11).** This entire M8 section is superseded by
|
||||
> `FABRIC.md` §25.5 item 4.4 (REPL). The console/REPL design has moved past
|
||||
> `FABRIC-0.md` §25.5 item 4.4 (REPL). The console/REPL design has moved past
|
||||
> what's scoped here — do not use this section as a source for REPL or
|
||||
> CANVAS design decisions. Kept in place for history only.
|
||||
|
||||
@@ -387,7 +387,7 @@ under AAVMF/no-EL3 boot; switched to HVC), see `FABRIC-2.md` Section I.
|
||||
|
||||
**Status:** Scoped 2026-08-11 (this section). Substrate (interrupt-driven keyboard
|
||||
input, glyph rendering) already complete via Stadium's Console fabric work
|
||||
(FABRIC.md §25.5 items 4.3.5–4.3.7f) — see "What's already done" below. This
|
||||
(FABRIC-0.md §25.5 items 4.3.5–4.3.7f) — see "What's already done" below. This
|
||||
scoping pass covers what's left: wiring the existing keyboard-event stream into
|
||||
the REPL's character input path.
|
||||
|
||||
@@ -401,11 +401,11 @@ is a second input source feeding the same loop.
|
||||
aarch64/riscv64 virtio-keyboard-pci + GIC/PLIC), converged behind one shared
|
||||
interface: `KEY-EVENT ( -- keycode pressed -1 | 0 )` in
|
||||
`src/word_source/keyboard_words.c`, `keycode` in the Linux input keycode
|
||||
namespace. FABRIC.md items 4.3.5–4.3.5f, verified live on all three
|
||||
namespace. FABRIC-0.md items 4.3.5–4.3.5f, verified live on all three
|
||||
architectures with real keypresses.
|
||||
- Glyph rendering, both paths: the stroke-drawn font (`TEXT`, capsule-based,
|
||||
113-glyph v1 repertoire, FABRIC.md 4.3.6–4.3.6g) and TrueType (`TTF-TEXT`,
|
||||
proportional spacing via real `hmtx` advance widths, FABRIC.md 4.3.7–4.3.7f).
|
||||
113-glyph v1 repertoire, FABRIC-0.md 4.3.6–4.3.6g) and TrueType (`TTF-TEXT`,
|
||||
proportional spacing via real `hmtx` advance widths, FABRIC-0.md 4.3.7–4.3.7f).
|
||||
Neither is required for the REPL text itself, though — see the VT100 finding
|
||||
below.
|
||||
- **The REPL's on-screen text already renders independently of both of the
|
||||
@@ -468,7 +468,7 @@ ok 1 2 + .
|
||||
3 ok
|
||||
```
|
||||
(via a real keypress on all three architectures, same live-keypress
|
||||
verification standard FABRIC.md 4.3.5f already established — not a
|
||||
verification standard FABRIC-0.md 4.3.5f already established — not a
|
||||
serial-injected synthetic test, though serial injection must still work
|
||||
identically afterward.)
|
||||
|
||||
@@ -546,7 +546,7 @@ LithosAnanke is successful when:
|
||||
1. **M7 Parity** — VM dictionary hash reproducible across boots
|
||||
2. **M7.1 Capsules** — Birth protocol enforced, provenance logged
|
||||
3. ~~**M8 REPL** — Interactive Forth at bare metal~~ — superseded, this criterion is now met
|
||||
via Stadium's Console fabric work (`FABRIC.md` §25.5 item 4.4), not a standalone M8; see
|
||||
via Stadium's Console fabric work (`FABRIC-0.md` §25.5 item 4.4), not a standalone M8; see
|
||||
the OBSOLETE banner above Phase 4
|
||||
4. **M9 Persistence** — State survives reboot
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ What actually exists, as of 2026-08-19:
|
||||
|-----------|------|--------------|---------------|
|
||||
| Word-level DoE (**this HOWTO**) | `doe.4th` | `DOE` / `EXEC-DOE ( seed n-reps -- )` | A single embedded arithmetic workload (`DOE-WORK`), run across the 16 L8 factor configurations, streaming a CSV row per run to serial. Not auto-run anywhere. |
|
||||
| Compudynamics fleet campaign | `doe-campaign.4th` | `CAMPAIGN` / `SMOKE-CAMPAIGN` / `THREE-VM-CAMPAIGN` | Spawns Hermes/Artemis and drives real `VM-EXEC` touches between them to measure fleet heat conservation (`VM-CONSERVED?`). Not auto-run anywhere. |
|
||||
| Artemis stress campaign | `capsules/artemis/init.4th` | `ART-STRESS-CAMPAIGN` | Runs unconditionally at the bottom of the file, so it fires automatically every time Artemis is born. This is the actual source of the live `[Artemis][HADES][DOE ]` CSV rows visible during every kernel boot — unrelated to either mechanism above, and the subject of FABRIC-2.md's item 4.6 fix. |
|
||||
| Artemis stress campaign | `capsules/artemis/init.4th` | `ART-STRESS-CAMPAIGN` | Runs unconditionally at the bottom of the file, so it fires automatically every time Artemis is born. This is the actual source of the live `[Artemis][HADES][DOE ]` CSV rows visible during every kernel boot — unrelated to either mechanism above, and the subject of FABRIC-1.md's item 4.6 fix. |
|
||||
|
||||
Only the first is a self-contained "package/library" in the sense the
|
||||
cookbook wants — a capsule you load and call with your own parameters, not
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
# SDK HOWTO — `capsules/sdk.4th`
|
||||
|
||||
**Status:** WORKING. Part of the v1.9.0 scoping work (FABRIC-2.md section K).
|
||||
**Status:** WORKING. Part of the v1.9.0 scoping work (FABRIC-1.md section K).
|
||||
Loads the two cookbook capsules (turtle graphics, DoE library) and adds an
|
||||
`SDK` vocabulary entry point plus `FENCE` protection on top of them.
|
||||
|
||||
@@ -54,7 +54,7 @@ word wrongly destroyed every other word back to the fence too; forgetting
|
||||
an older word (which correctly cascades to remove newer words, per
|
||||
FORTH-79 semantics) crashed with a SIGSEGV — a use-after-free in the
|
||||
dictionary relink logic. Found and fixed as part of this work; full
|
||||
root-cause writeup in FABRIC-2.md section K. Three POST cases were added to
|
||||
root-cause writeup in FABRIC-1.md section K. Three POST cases were added to
|
||||
`dictionary_manipulation_words_test.c` (Module 14) alongside `FORGET`'s
|
||||
own, including the exact regression scenario, so it can't silently return.
|
||||
|
||||
|
||||
@@ -144,7 +144,7 @@ rather than a `POLYGON` call with `n=5`.
|
||||
documented in `DOE-LIBRARY-HOWTO-20260819.md`) — it carried a stale
|
||||
`TEMP: ... revert once that run is done` comment for a verification
|
||||
run that had already closed. Reverted to disabled, matching the
|
||||
file's own note (FABRIC-2.md section K/L).
|
||||
file's own note (FABRIC-1.md section K/L).
|
||||
- The kernel's heartbeat CSV logging (`[HADES][DOE ]` rows) draws to
|
||||
the *same* console surface `PLOT` draws pixels to, and scrolls
|
||||
continuously — anything drawn gets visually overwritten within a
|
||||
|
||||
Reference in New Issue
Block a user