From b128a4d6dbdd57d87a52b09cf75b7bc7d5d7ae9b Mon Sep 17 00:00:00 2001 From: rajames Date: Mon, 5 Oct 2026 16:58:55 -0400 Subject: [PATCH] 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 --- docs/v4.0.0/V3-PARITY.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/docs/v4.0.0/V3-PARITY.md b/docs/v4.0.0/V3-PARITY.md index 7ed1b48a..4e1bb5b4 100644 --- a/docs/v4.0.0/V3-PARITY.md +++ b/docs/v4.0.0/V3-PARITY.md @@ -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