feat(v4): the system hands no GONE on; (GONE-HOOK) goes (MESH step 7, increment 2)
Ruling 7 as amended: the kernel tells a node's going, so the system's
hand-on is not used. (GONE-HOOK), (DOWN) and (RUN) go from quit.f18, and
COLD's hook-clearing from system.f18; the cell is free again. The tests of
the hand-on go with it (mesh: the hand-on checks and the fourth disturbed
exchange; depth sweep: path 10, as before 529ba0fc). A believed GONE going
no further is still checked. test_host_unit.c's message for GONE down the
graph now says the kernel tells. MESH.md: 9a.6 items 5 and 7, and step 7's
record of both increments.
Suite EXIT 0; depth sweep 230 runs, 0 failures; mkcapsule lint 0
violations. Hosted and bare metal, all three ISAs: word_count=317
dict_hash=0xfec8c47cfc6f437f.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
9138ebd8bb
commit
6cb8f1285f
+35
-5
@@ -1524,18 +1524,23 @@ Each test is written to fail first.
|
||||
4. **GONE down the graph.** A node of unit 2 waiting on a node of unit 1
|
||||
ends "Node gone" when Hera kills that node. A GONE from any node but a
|
||||
node's own centre is still not believed.
|
||||
5. **The new message path** (a centre passing a GONE on to the nodes it
|
||||
5. ~~**The new message path** (a centre passing a GONE on to the nodes it
|
||||
birthed): every depth of both stacks (`v4/tests/test_host_depth.c`);
|
||||
and the passing on disturbed at every engine step -- the centre
|
||||
removed, a child removed, the wire cut -- with every node left coming
|
||||
to rest and answering (`v4/tests/test_host_mesh.c`'s way).
|
||||
to rest and answering (`v4/tests/test_host_mesh.c`'s way).~~
|
||||
**Withdrawn with ruling 7 (2026-10-16):** no node passes a GONE on, so
|
||||
there is no new message path on a node. The kernel's telling is tested
|
||||
in C at both widths (`v4/tests/test_manage.c`) and in the fabric
|
||||
(`v4/tests/test_host_unit.c`, item 4).
|
||||
6. **The kernel's side.** The registry and who may ask, tested in C at
|
||||
both cell widths.
|
||||
7. **Nothing else changes.** `make -C v4 test test-32 sanitize
|
||||
hosted-check`; `mkcapsule --lint capsules/`; the three QEMU boots and
|
||||
`make -C v4 test-32`, as `.claude/CLAUDE.md` says. The system changes
|
||||
(`(GONE-HOOK)`), so the products' `dict_hash` changes; it must be the
|
||||
same on all three ISAs (ruled 2026-10-16, planning).
|
||||
`make -C v4 test-32`, as `.claude/CLAUDE.md` says. The system changes,
|
||||
so the products' `dict_hash` changes; it must be the same on all three
|
||||
ISAs (ruled 2026-10-16, planning). (The change was first `(GONE-HOOK)`;
|
||||
with ruling 7 it is that word's going.)
|
||||
|
||||
**A limit kept, not widened:** `test_host_unit.c` is not run at 32 bits;
|
||||
POST's expected results are 64-bit (step 5).
|
||||
@@ -2114,6 +2119,31 @@ Each is tested, committed and pushed before the next.
|
||||
(riscv64): POST 538 of 538, `word_count=318`,
|
||||
`dict_hash=0x248b4edc47f4357e` on all six systems (the system changed,
|
||||
so the hash did); `make -C v4 test-32`, 0 failures.
|
||||
- **Amended 2026-10-20, ruling 7 (the kernel tells a node's going).**
|
||||
Two increments, each accepted on its own.
|
||||
*Increment 1* (5707b07a): `manage.c`'s `KILL` puts a GONE about the
|
||||
node on the wire of every live node from its parent, as if its parent
|
||||
had sent it; `centre.4th` loses `GONE-DOWN` and its table of the
|
||||
nodes it birthed; `hera.4th`'s `KILL` is the kernel's kill and
|
||||
`NO-ROUTE`. Accepted in 9138ebd8: `logs/20261020-084230` (amd64),
|
||||
`-084520` (aarch64), `-084933` (riscv64), POST 538 of 538,
|
||||
`dict_hash=0x248b4edc47f4357e` on all three.
|
||||
*Increment 2*: the system's hand-on goes -- `(GONE-HOOK)`, `(DOWN)`
|
||||
and `(RUN)` from `quit.f18`, `COLD`'s hook-clearing from
|
||||
`system.f18`; the cell is free again (`v4/tests/host_map.h`). The
|
||||
tests of the hand-on go with it: the mesh test's hand-on checks and
|
||||
its fourth disturbed exchange, and the depth sweep's path "AWAIT
|
||||
ended by a GONE that is handed on", which is again as before
|
||||
529ba0fc. What stays: a GONE believed from a node's centre goes no
|
||||
further (`v4/tests/test_host_mesh.c`, 244 checks); GONE down the graph
|
||||
ends a wait in the second unit (`v4/tests/test_host_unit.c`, 126
|
||||
checks); the kernel's side (`v4/tests/test_manage.c`, 52 checks, both
|
||||
widths). Verified: `make -C v4 test test-32 sanitize hosted-check`
|
||||
(depth sweep 230 runs, 0 failures); `mkcapsule --lint capsules/`, 0
|
||||
violations; three bare-metal boots, `logs/20261020-125114` (amd64),
|
||||
`-125411` (aarch64), `-125820` (riscv64): POST 538 of 538, `PARITY:OK`,
|
||||
`word_count=317`, `dict_hash=0xfec8c47cfc6f437f` on all six systems;
|
||||
`make -C v4 test-32`, 0 failures.
|
||||
8. **The hosted product is the five nodes**, on three ISAs: acceptance 1
|
||||
to 5.
|
||||
9. **The same on bare metal:** acceptance 6.
|
||||
|
||||
Reference in New Issue
Block a user