docs(v4.0.0): console -- the kernel hands a v4 node a line, as it does a v3 VM
Records v3's console as built (fabric, Hestia, proxies, the kernel's REPL owning input and the prompt) and the ruling of 2026-10-05: for now a v4 node is handed a whole line and gives characters back; its own prompt loop plays no part at that level. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
79db64c4e2
commit
b128a4d6db
@@ -96,6 +96,43 @@ Section 2 below was written before this correction. Its account of what
|
||||
v3's inner loop does is from the code and stands. Its section 2.2, "what
|
||||
v4 has", describes the lone node, not v4 in its place in the system.
|
||||
|
||||
## 1b. Console (discussed and ruled 2026-10-05)
|
||||
|
||||
**v3, as built** (`FABRIC-3.5.md` sections XVII and XVIII):
|
||||
|
||||
- Layer 0, the fabric: UART, framebuffer, VT100, font, in kernel C
|
||||
(`kernel/src/hal`). Singular, permanent, and it never knows a VM exists;
|
||||
anything VM-shaped reaches it by a registered callback.
|
||||
- Layer 1, Hestia: the Tripod leg that owns console policy and is the bind
|
||||
point. Her vocabulary is the drawing words.
|
||||
- Layer 2, console proxies: one VM per attached user, born at `WIREBIND`;
|
||||
their traffic goes through kernel-Hermes.
|
||||
- Input belongs to the kernel. `kernel/src/repl.c` reads the serial port and
|
||||
the keyboard, echoes, edits and builds the line, then hands the whole line
|
||||
to the VM `USE` has made active (`vm_interpret`), or sends it through
|
||||
kernel-Hermes. It services the heartbeat while idle.
|
||||
- Output: a VM's `EMIT` goes to the host service `putc`, then
|
||||
`console_putc`. The fabric puts `[user@VM]` before each line. The prompt
|
||||
is the REPL's, not the VM's.
|
||||
|
||||
A v3 VM never reads its own command line and never prints its own prompt.
|
||||
|
||||
**Ruling (Captain Bob, "for now, yeah"):** the kernel hands a v4 node a
|
||||
whole line and takes characters back, exactly as it does a v3 VM. The
|
||||
node's own prompt loop plays no part at that level. Layers 0, 1 and 2 and
|
||||
the kernel's REPL stay as they are. `KEY`, `EXPECT`, `QUERY` and `QUIT`
|
||||
remain FORTH-79 words but are not how the kernel drives a node.
|
||||
|
||||
"For now": `DECOMPOSITION.md` makes `EMIT` and `KEY` messages to a console
|
||||
device node, which in the mesh is Hestia's part. That is the destination,
|
||||
not this step.
|
||||
|
||||
**What this says about the lone-node boot.** It has the node run its own
|
||||
`QUIT` loop, print its own prompt and ` ok`, and wait in `KEY`;
|
||||
`v4/system/boot.c` then takes the ` ok` and prompt back out of what the
|
||||
node prints. That is a work-around for the node owning what the kernel
|
||||
owns, and it goes when the engine takes the VM's place.
|
||||
|
||||
## 2. Row 3: physics and per-word heat
|
||||
|
||||
### 2.1 What v3 does
|
||||
|
||||
Reference in New Issue
Block a user