FABRIC-3.md §XXXV.14: flag missing fault-triggered SSM_MODE_C0 fallback
Build / build-amd64-iso (push) Canceled after 0s
Build / build-aarch64-iso (push) Canceled after 0s
Build / build-riscv64-img (push) Canceled after 0s

Raised discussing what the multiuser DoE might reveal: the intended
design is a faulting VM drops to SSM_MODE_C0 and continues as a plain,
non-adaptive VM rather than faulting outright. Confirmed via source:
ssm_l8_update() computes its mode purely from workload metrics, no
fault input anywhere -- a real regression from the hosted StarForth
repo's design ("forgot to carry that over... building the stadium"),
not invented here. ssm_l8_force_config() already exists as the natural
hook a real fix would use. Flagged and logged, not built -- per the
explicit instruction to keep the campaign running and log bugs/gaps as
they surface rather than stopping to fix each one.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BWpNjdwPtFLuVLaAq44L9K
This commit is contained in:
Robert Allan James
2026-09-17 21:03:02 -04:00
co-authored by Claude Sonnet 5
parent c02fed140f
commit 553ca9163d
2 changed files with 26 additions and 1 deletions
+25
View File
@@ -5830,3 +5830,28 @@ as done; both real bugs here would have been caught immediately by checking one
value, which is what finally surfaced them. Worth remembering the next time "verified live"
gets written down for something that only checked word resolution.
### XXXV.14 -- Flagged, not built: L8 Jacquard has no fault-triggered fallback to SSM_MODE_C0
Raised directly by Captain Bob mid-campaign, discussing what this DoE might reveal: the
intended design is that a faulting VM should drop to `SSM_MODE_C0` ("Minimal, stable/predictable
workloads," `include/ssm_jacquard.h`) and continue as a plain, non-adaptive VM rather than fault
outright -- "the faulting VM simply becomes a plain old uncompudynamic VM." Confirmed by reading
the actual source, not assumed: `ssm_l8_update()` (`src/ssm_jacquard.c:88`) computes its target
mode purely from four workload-metric loop-gate bits (L2/L3/L5/L6, fed from `vm_time.c`) -- no
reference to `vm->error` or any fault condition anywhere in the file. `SSM_MODE_C0` is real and
is every VM's boot-time starting mode (`vm_bootstrap.c`), but nothing routes a VM back to it in
response to a fault; the mode selector is an adaptive performance tuner, not a fault safety net,
and only the first job is wired up. Bob's own diagnosis: "an oversight when building the
stadium... forgot to carry that over from the hosted StarForth" -- a real regression from the
standalone StarForth repo's design, not a new gap invented here (this repo has no visibility
into that repo to confirm exactly how it was wired there).
One relevant building block already exists on this side: `ssm_l8_force_config()`
(`src/word_source/inference_words.c`) -- a manual FORTH-callable primitive that force-sets a
VM's L8 mode. Currently only ever invoked by hand; nothing calls it automatically on a fault.
That is the natural mechanism a real fix would hook, not something to build from scratch.
**Not built.** Flagged per Bob's own explicit instruction ("we will continue in this direction
with the workflow") -- find and log these live, keep the campaign running, don't stop to fix
each one as found. Real feature, real gap, deliberately deferred.
+1 -1
View File
@@ -1,5 +1,5 @@
# Capsule Block Manifest — Auto-generated
<!-- Generated by mkcapsule --manifest 2026-09-17T23:25:36Z -->
<!-- Generated by mkcapsule --manifest 2026-09-17T23:29:17Z -->
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
<!-- Hand-written justifications and immutability notes live -->
<!-- in MANIFEST.md alongside this auto-generated index. -->