CLAUDE.md: correct four stale claims, add reshuffle pointer; record as FABRIC-3.5 §XLIV
Authorized by Captain Bob. Each claim re-verified against source immediately before editing rather than from this session's notes. Theory files: 23 becomes 52, all listed in proof/ROOT, with a pointer to COVERAGE.md's own statement that the deliverable is the verified boundary rather than a green build. LITHOS_VERSION: 2.0.1 becomes 2.0.0, noting §I.2 rolled it back because 2.0.1 names the SER5 hardware-track line and claims progress not yet verified, and that the policy is semantic rather than sequential. ACL pinning carried two mutually inconsistent rules, neither matching the code: policy never in C with no vm_find_word plus field assignment, and separately that kernel-only words should be pinned in a kernel-specific capsule. kernel_main.c:771-782 pins BIRTH and CAPSULE-BIRTH exactly the forbidden way, deliberately, and ACL.4th's block-4005 comment explains why -- so ACL.4th stays host-portable. Now stated as the rule plus its one sanctioned exception. The mkcapsule block rule was described as a 1024-byte budget verified with wc -c. Reading tools/mkcapsule.c shows validate_forth_blocks enforces 64 chars by 16 lines and a block number in [2048,5120). 64 times 16 is 1024, which is where the figure came from, but the enforcement is per-line: eight lines of 128 chars is 1024 bytes and still fails. Note that FABRIC-3 §XXXII.2's own correction of this claim was itself incomplete, fixing the number while missing the line-length rule. Adds a WORK IN PROGRESS pointer directing a fresh session to FABRIC-3.6.md's START HERE, since CLAUDE.md is what auto-loads. It states no reshuffle code exists and that the file's current Tripod descriptions stay correct until the reshuffle lands, deliberately not pre-writing the post-reshuffle state. FABRIC-3.6.md: trap 5 rewritten, since it told a fresh session to distrust four claims that are now fixed; it now names MANIFEST.md and FABRIC-0 §25.7 as the documents that still drift. Also removes a quoted commit id from the handoff that will always be stale. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VkM1zHGvBerLF6aqkHPweP
This commit is contained in:
@@ -4620,3 +4620,48 @@ lock and no new state.
|
||||
**Phase 3's design blocker is cleared. What remains before it is buildable are two decisions,
|
||||
neither of which requires further investigation:** channels (one membership or negotiation), and
|
||||
the switch-slot ceiling. **The reshuffle has no undesigned mechanism left.**
|
||||
|
||||
---
|
||||
|
||||
## XLIV. `.claude/CLAUDE.md` corrected (authorized 2026-09-19)
|
||||
|
||||
Item 20's four known-stale claims, plus a discoverability pointer, applied to `.claude/CLAUDE.md`
|
||||
under explicit authorization. **Each was verified against source immediately before editing, not
|
||||
from this document's own notes.**
|
||||
|
||||
| Claim | Was | Now | Evidence |
|
||||
|---|---|---|---|
|
||||
| Theory files | 23 (18 core + 5 ACL) | **52** (47 `StarForth_*` + 5 `ACL_*`), all in `proof/ROOT` | direct count; `COVERAGE.md` agreed all along |
|
||||
| `LITHOS_VERSION` | `2.0.1` | **`2.0.0`** | `Makefile.starkernel:83`; §I.2 rolled it back 2026-09-04 |
|
||||
| ACL pinning | "never in C… no `vm_find_word` + field assignment", *and separately* "pin it in a kernel-specific capsule" | **the rule, plus its one live exception** | `kernel_main.c:771-782` does exactly that, deliberately; `ACL.4th` block 4005 explains why |
|
||||
| `mkcapsule` blocks | "1024-byte limit… verify with `wc -c`" | **64 chars × 16 lines, range `[2048,5120)`; verify with `--lint`** | `mkcapsule.c:344-345`, `:408-409`, `:430` |
|
||||
|
||||
**Also added:** a `WORK IN PROGRESS` pointer at the top directing a fresh session to
|
||||
`FABRIC-3.6.md`'s `START HERE`, since `.claude/CLAUDE.md` is what auto-loads and this document
|
||||
is not. It states explicitly that no reshuffle code exists yet, and that the file's existing
|
||||
Tripod descriptions remain correct until the reshuffle lands — **deliberately not pre-writing
|
||||
the post-reshuffle state as though it were current.**
|
||||
|
||||
### XLIV.1 — A finding: §XXXII.2's own correction was incomplete
|
||||
|
||||
`FABRIC-3.md` §XXXII.2 corrected the `mkcapsule` framing to "block range `[2048, 5120)` and a
|
||||
hard 16-content-line-per-block cap." **Reading the tool directly shows a third constraint it
|
||||
missed: line length ≤ 64 characters** (`mkcapsule.c:344-345`, `:430` — `validate_forth_blocks`
|
||||
enforces a "64-char × 16-line block format").
|
||||
|
||||
**And it explains where the wrong figure came from: 64 × 16 = 1024.** The old "1024-byte limit"
|
||||
was arithmetically right and operationally wrong — **8 lines of 128 characters is 1024 bytes and
|
||||
still fails.** A correction that fixes a number while leaving the wrong *kind* of rule in place
|
||||
is the subtler version of the same error, and §XXXII.2 made it.
|
||||
|
||||
**Recorded rather than propagated:** `FABRIC-3.md` is a living document for another topic and is
|
||||
not edited from here. `.claude/CLAUDE.md` now carries the full 64×16 rule.
|
||||
|
||||
### XLIV.2 — Punch list
|
||||
|
||||
- ✅ **Item 20 — CLOSED**: all four `.claude/CLAUDE.md` errors corrected, with the pointer added.
|
||||
- ⬜ **Item 42** (qualify "K"/"conservation", §XXXIX.6) and the `MANIFEST.md` corrections
|
||||
(§XIII.2) remain — they belong to the files they describe, not to `CLAUDE.md`, and
|
||||
`MANIFEST.md`'s ride the strip per §XXII.5.
|
||||
- ⬜ **Item 45, NEW** — carry §XLIV.1's 64-char line limit into the `experiments/bare_metal/README.md`
|
||||
capsule guidance if it repeats the byte framing. **Not checked; flagged.**
|
||||
|
||||
Reference in New Issue
Block a user