FABRIC-3.6.md task 0.1: Category A reachability established

Checked the three §XXII.2 routes for capsules/common/msg.4th,
capsules/process.4th, and the SPAWN-EVENT constant, never by grep
count alone: a boot-path trace of every capsule init.4th loads at
birth, a tools/experiments/docs invocation search, and confirmation
that mere presence in the baked capsule directory doesn't make a name
reachable if nothing constructs it at runtime. All three are dead by
every route -- zero EXEC sites, zero callers of their exported words.

Two findings recorded, neither changing the punchlist's plan:

tools/hermes_smoke.sh calls EVENT-EMIT/EVENT-WAIT/EVENT-DRAIN directly,
a caller FABRIC-3.5.md SXXXIII.3 missed when it said the only other
reference was MANIFEST.md. Doesn't make them live -- the script is
already broken on its own terms (references capsules/core/init.4th and
build/amd64/standard/starforth, neither exists; calls the pre-rename
CD-INIT word). Task 0.3's plan to strip these three words alongside
process.4th stands.

PAUSE-EVENT/RESUME-EVENT/KILL-EVENT are exactly as dead-by-name as
SPAWN-EVENT -- process.4th's own calls pass bare numeric literals, never
the constant names. Task 0.4 only names SPAWN-EVENT; flagged for
whoever picks up Category A stripping next rather than expanding this
task's scope.

Investigation only, no code changed.

Authorized by Captain Bob ("begin.").

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Robert Allan James
2026-09-19 13:18:09 -04:00
co-authored by Claude Sonnet 5
parent 4544877a36
commit 156d1642de
+33 -1
View File
@@ -163,9 +163,41 @@ it has simply not been attempted.)*
**Gate:** all three architectures boot to `zuse)ok>`, `stadium_conserved()` true, no **Gate:** all three architectures boot to `zuse)ok>`, `stadium_conserved()` true, no
`UNKNOWN WORD`. `UNKNOWN WORD`.
- [ ] **0.1** — Establish Category A reachability by §XXII.2's three routes (boot path, tooling, - [x] **0.1** — Establish Category A reachability by §XXII.2's three routes (boot path, tooling,
baked capsule directory). **Never by grep alone.** baked capsule directory). **Never by grep alone.**
*Check:* a written list naming the route that proves each entry dead. *Check:* a written list naming the route that proves each entry dead.
2026-09-19 · investigation only, no code changed. Checked by all three routes — a boot-path
trace of `init.4th`/`hera`/`hermes/init.4th`/`artemis/init.4th` for any `EXEC`/`S" name"`
load, an experiments/tools/docs invocation search, and confirming presence in the baked
capsule directory doesn't by itself make a name reachable if nothing constructs it at
runtime:
| Candidate | Boot path | Tooling/experiments/docs | Verdict |
|---|---|---|---|
| `capsules/common/msg.4th` | zero `EXEC`/load sites in any boot-loaded capsule | zero invocations; its only two words `HERMES-ACK`/`HERMES-NACK` have zero callers anywhere; `messaging.4th` block 5033's own comment: "common:msg.4th's HERMES-ACK/NACK indirection is retired" | **DEAD** |
| `capsules/process.4th` | zero `EXEC` sites anywhere | zero invocations; its four words `SPAWN`/`PAUSE`/`RESUME`/`KILL-VM` have zero callers outside the file itself | **DEAD** |
| `SPAWN-EVENT` (constant, `messaging.4th`) | N/A — a constant, only ever defined, never read by name | zero invocations by name anywhere | **DEAD** |
Both files are present in the baked capsule directory (`mkcapsule` build log: `[p]
common:msg.4th`, `[p] process.4th`) — noted per §XXII.2 that presence alone proves
nothing; it only means nothing constructs either name at runtime to reach them, which the
other two routes confirm.
finding: `EVENT-EMIT`/`EVENT-WAIT`/`EVENT-DRAIN` (`messaging.4th`, Category B, staying)
have one caller beyond `process.4th` that §XXXIII.3 missed — `tools/hermes_smoke.sh` calls
all three directly. This does not make them live: the script is already broken on its own
terms, referencing `capsules/core/init.4th` and `build/amd64/standard/starforth`, neither
of which exists in this repo, and calling the pre-rename `CD-INIT` word (`messaging.4th`
block 5033 renamed it to `MSG-CD-INIT`) — it cannot currently execute. Task 0.3's plan
stands unchanged; recorded because §XXXIII.3's "only other reference is `MANIFEST.md`"
was itself an undercount of exactly the kind §XXII.2 warns about, even though the
conclusion survives.
finding: `PAUSE-EVENT`/`RESUME-EVENT`/`KILL-EVENT` (`messaging.4th`) are exactly as
dead-by-name as `SPAWN-EVENT` — zero references anywhere outside their own definition;
`process.4th`'s calls pass bare numeric literals (`1`/`2`/`3`/`4`), never the constant
names. Task 0.4 only names `SPAWN-EVENT`; not expanding its scope here, but flagging that
the other three meet the identical bar for whoever picks up Category A stripping next.
- [ ] **0.2** — Strip `capsules/common/msg.4th`. *Check:* 3-arch boot; lint clean. - [ ] **0.2** — Strip `capsules/common/msg.4th`. *Check:* 3-arch boot; lint clean.
- [ ] **0.3** — Strip `capsules/process.4th` (takes `EVENT-EMIT`/`-WAIT`/`-DRAIN` with it, - [ ] **0.3** — Strip `capsules/process.4th` (takes `EVENT-EMIT`/`-WAIT`/`-DRAIN` with it,
§XXXIII.3). *Check:* 3-arch boot; lint clean. §XXXIII.3). *Check:* 3-arch boot; lint clean.