Rename init-0.4th..init-9.4th to workload-0.4th..workload-9.4th; fix stale WL-HI/WL-LO doc
Build / build-amd64-iso (push) Waiting to run
Build / build-aarch64-iso (push) Waiting to run
Build / build-riscv64-img (push) Waiting to run

These are alternate boot personality capsules, not files doe.4th
dispatches from -- confirmed by reading doe.4th itself (it generates
its own synthetic workload internally, DOE-WORK) and mkcapsule.c
(only the exact filename "init.4th" is special-cased as the active
MAMA_INIT capsule). "workload-N.4th" names them for what they are
without colliding with that reserved name.

Renamed the 10 files (git mv, preserving history) and their own
self-referential header comments (also fixed a pre-existing typo,
"init-4.th" -> "workload-4.4th"), updated capsules/README.md,
capsules/MANIFEST.md (21 references), .claude/CLAUDE.md, and a
tools/mkcapsule.c comment.

Also fixed experiments/bare_metal/README.md's "Adding a Custom
Workload Capsule" section, discovered stale while doing this rename:
it documented a WL-HI/WL-LO dispatch table and a wl_id CSV column
that don't exist anywhere in the current capsules/ tree or doe.4th's
own CSV header -- corrected to describe what's actually there (no
pluggable workload dispatch; a custom workload is run by substituting
it in as the boot's own init.4th).

Verified: mkcapsule --lint clean (35 files, 0 violations), all 3
architectures build with zero new warnings, amd64 boots to zuse)ok>
with an unchanged dict_hash/capsule_hash from every prior boot this
session (0xc8f4b09e36f4fc4a / 0x1ef4939ed32ec1e6) and zero faults.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EXieurDfDSsDFdnSyusuWo
This commit is contained in:
Robert Allan James
2026-09-12 19:43:50 -04:00
co-authored by Claude Sonnet 5
parent 71bcb72a59
commit 5c1b31669e
18 changed files with 9144 additions and 119 deletions
+25 -35
View File
@@ -122,8 +122,15 @@ There are two roles:
| **Workload capsule** | DoE machinery | Provides a computational task to time |
`init.4th` is the Mama VM's init capsule — executed exactly once at kernel
boot. The numbered files (`init-0.4th``init-9.4th`) and the L8 variant
files (`init-l8-*.4th`) are workload capsules used by the DoE.
boot, and the only file `mkcapsule` special-cases by exact filename as the
active `MAMA_INIT` capsule. The numbered files (`workload-0.4th`
`workload-9.4th`) and the L8 variant files (`init-l8-*.4th`) are alternate
personality capsules, not a workload dispatched by `doe.4th`'s own DoE —
`doe.4th` generates its own synthetic arithmetic workload internally
(`DOE-WORK`) and has no pluggable per-workload dispatch table today. To
exercise one of the numbered capsules' own workload, substitute it in as
the boot's `init.4th` (e.g. `cp capsules/workload-3.4th capsules/init.4th`
before building) rather than wiring it into `doe.4th`.
---
@@ -177,7 +184,7 @@ Convention used in this repository:
|-------|----------|
| 20482099 | init.4th (Mama VM boot sequence) |
| 21002199 | doe.4th (DoE machinery) |
| 30003999 | Workload capsules (init-0 … init-9, init-l8-*) |
| 30003999 | Reserved for user-defined workload capsules (see below) |
| 4000+ | User-defined capsules |
---
@@ -206,45 +213,28 @@ RUN-MY-WORKLOAD
The last line should execute the workload so `EXEC` runs it immediately when
the capsule is loaded.
**Step 2 — Wire it into the DoE.**
**Step 2 — Run it.**
Open `capsules/doe.4th` and add your capsule to the workload dispatch table.
Find `WL-HI` (Block 2057) and replace one of the existing entries, or extend
the range:
```forth
Block 2057
: WL-HI ( n -- c-addr u )
CASE
0 OF S" init-8.4th" ENDOF
1 OF S" init-9.4th" ENDOF
2 OF S" init-l8-diverse.4th" ENDOF
3 OF S" init-l8-omni.4th" ENDOF
4 OF S" init-l8-stable.4th" ENDOF
5 OF S" init-l8-temporal.4th" ENDOF
6 OF S" init-l8-transition.4th" ENDOF
7 OF S" my-workload.4th" ENDOF replace slot 7
DROP S" init-0.4th"
ENDCASE ;
```
There are 16 workload slots total (07 in `WL-LO`, 07 in `WL-HI`).
The DoE machinery picks workloads blindly from these slots — your capsule
will appear in the shuffled run matrix alongside the built-in workloads.
**Step 3 — Run the experiment.**
`doe.4th` has no pluggable workload dispatch table today — its own
factorial (entropy/CV/temporal-decay/stability × reps) drives a single
self-contained synthetic workload (`DOE-WORK`, Block 2103), not a file
picked from a list. To measure your own workload's physics behavior
instead, run it standalone as the boot's own capsule rather than trying
to wire it into `doe.4th`'s factorial:
```bash
cp capsules/my-workload.4th capsules/init.4th # substitutes it in
make -f Makefile.starkernel ARCH=amd64 clean qemu
```
Your workload's heartbeat rows will appear in the CSV under whatever
`CURR-WL` index maps to `my-workload.4th`. Match by the `DOE-RUN` marker
lines in the CSV:
(`mkcapsule` special-cases the exact filename `init.4th` as the one
capsule flagged `MAMA_INIT` and loaded at boot — this is genuinely a
substitution, not a selection from a list, so restore the real `init.4th`
afterward, e.g. `git checkout capsules/init.4th`.)
```
DOE-RUN,run_id,cfg,wl_id,rep
```
Your workload's heartbeat rows will appear in the CSV the same way any
boot's do — match by the `DOE-RUN` marker lines described below, once your
capsule's own trial-loop word emits one the same way `doe.4th`'s does.
---