MESH.md 7d.3 amended while the plan was written: first and next in place
of find by type; sleep is woken by a message coming, not by one being
there; operation 10, room. 7d.4: room for a text's answer is kept on
the wire back. 7d.9: a ping across hops, thought about and not ruled.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MESH.md 7b: no message is lost without its sender being told, and no
node waits for ever. What v3 does, from the code, and what could not be
established. A refusal travels back as a NACK; Hera ends a wait on a
stuck node by killing it and tells the others it is gone; a line from the
console breaks a wait. Step 6c has the acceptance.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
NUCLEUS.md 6.3 and section 7 as approved 2026-10-07: the kernel holds the
cases as a table and feeds them to the node; a runner judges from outside;
what the cases define stays, as in v3; a PARITY:V4_SYSTEM line after POST.
The capsule harness and its two nucleus variables are withdrawn (6.3a
keeps what they were). MESH.md step 6b has the acceptance.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A block request with fewer than two values on the stack is refused; it
had acted on whatever the stack ring held and stopped the node.
Bare metal: when the kernel's chain takes the place of POST's block RAM
the node's two buffers are emptied, so it no longer holds POST's copy of
a block; and the chain's fast RAM is cleared, so a node cannot read what
was in the kernel's heap.
blocks.c is built with each test under that test's own warnings and
sanitizers; it had been left out of both. The hosted link cleans its
object directory first: it had linked the withdrawn store_v3.o left there
from the day before.
node.h and DECOMPOSITION.md D-19 no longer describe the message device or
the four registers as current. MESH.md 8.5 records two findings for
ruling: a node's own copy of a block, and a block read over a node's code.
From a clean build: make -C v4 test, sanitize and hosted-check pass;
amd64, aarch64 and riscv64 boot, POST 538 of 538, same hashes, blocks 1
and 2047 clean at the prompt: logs/20261007-085017, -085254, -085636.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Ruled 2026-10-07 (Captain Bob): POST on every node, nodes without
storage, and block requests passed from node to node had left v3's
design. MESH.md section 8 is rewritten: a block is a kernel request, as
ENGINE.md 3.3 already had it; every node has blocks; there is one chain.
Private drives and the message device are withdrawn, and listed in 8.5
so that they are not proposed again. Acceptance 1 and 3 change with it.
A born node is not POSTed, and the kernel is to hold POST's cases.
The plan for step 6 is revised to match.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
blk_subsys_init loses its unused VM argument (ruled). Block done has a
fourth answer, no such block. MESH.md 8.4 says which chain a number
means, that storage has a number like a node, and that a block number is
not signed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>