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
+1 -1
View File
@@ -405,7 +405,7 @@ execute IDENTITY (capsule code) → execute PERSONALITY (block 1 from ramdrive)
**Capsule files:** `capsules/` has 23 `.4th` files (the `mkcapsule` build tool reports "26 **Capsule files:** `capsules/` has 23 `.4th` files (the `mkcapsule` build tool reports "26
capsule(s)" registered — some files apparently register more than one capsule entry; not capsule(s)" registered — some files apparently register more than one capsule entry; not
further investigated). Includes `init.4th`, `init-0.4th``init-9.4th`, further investigated). Includes `init.4th`, `workload-0.4th``workload-9.4th`,
`init-l8-{stable,volatile,diverse,temporal,transition,omni}.4th`, plus `doe.4th`, `init-l8-{stable,volatile,diverse,temporal,transition,omni}.4th`, plus `doe.4th`,
`doe-campaign.4th`, `lib.4th`, `process.4th`, `ACL.4th`, `zuse.4th` — more than the 17 older `doe-campaign.4th`, `lib.4th`, `process.4th`, `ACL.4th`, `zuse.4th` — more than the 17 older
docs claimed. docs claimed.
+55 -55
View File
@@ -1,5 +1,5 @@
# Capsule Block Manifest — Auto-generated # Capsule Block Manifest — Auto-generated
<!-- Generated by mkcapsule --manifest 2026-09-12T23:21:59Z --> <!-- Generated by mkcapsule --manifest 2026-09-12T23:43:33Z -->
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. --> <!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
<!-- Hand-written justifications and immutability notes live --> <!-- Hand-written justifications and immutability notes live -->
<!-- in MANIFEST.md alongside this auto-generated index. --> <!-- in MANIFEST.md alongside this auto-generated index. -->
@@ -19,16 +19,6 @@
| `fabric.4th` | 4900, 4901, 4902, 4903, 4904, 4905, 4906, 4907, 4908, 4909, 4910, 4911, 4912, 4913, 4914, 4915, 4916, 4917, 4918, 4919, 4920, 4921, 4922, 4923, 4924, 5000, 5001, 5002 | `0x9d9489cbeca4099b` | yes | | `fabric.4th` | 4900, 4901, 4902, 4903, 4904, 4905, 4906, 4907, 4908, 4909, 4910, 4911, 4912, 4913, 4914, 4915, 4916, 4917, 4918, 4919, 4920, 4921, 4922, 4923, 4924, 5000, 5001, 5002 | `0x9d9489cbeca4099b` | yes |
| `font.4th` | 4925, 4926, 4927, 4928, 4929, 4930, 4931, 4932, 4933, 4934, 4935, 4936, 4937, 4938, 4939, 4940, 4941, 4942, 4943, 4944, 4945, 4946, 4947, 4948, 4949, 4950, 4951, 4952, 4953, 4954, 4955, 4956, 4957, 4958, 4959, 4960, 4961, 4962, 4963, 4964, 4965, 4966, 4967, 4968, 4969, 4970, 4971, 4972, 4973, 4974, 4975, 4976, 4977, 4978, 4979, 4980, 4981, 4982, 4983, 4984, 4985 | `0x3f305911500c78f6` | yes | | `font.4th` | 4925, 4926, 4927, 4928, 4929, 4930, 4931, 4932, 4933, 4934, 4935, 4936, 4937, 4938, 4939, 4940, 4941, 4942, 4943, 4944, 4945, 4946, 4947, 4948, 4949, 4950, 4951, 4952, 4953, 4954, 4955, 4956, 4957, 4958, 4959, 4960, 4961, 4962, 4963, 4964, 4965, 4966, 4967, 4968, 4969, 4970, 4971, 4972, 4973, 4974, 4975, 4976, 4977, 4978, 4979, 4980, 4981, 4982, 4983, 4984, 4985 | `0x3f305911500c78f6` | yes |
| `hermes:init.4th` | 4153, 4855, 5116 | `0x2df61924448a6812` | yes | | `hermes:init.4th` | 4153, 4855, 5116 | `0x2df61924448a6812` | yes |
| `init-0.4th` | 2200, 2201 | `0xd0a9550baf786bb3` | yes |
| `init-1.4th` | 4406, 4415, 4425, 4435 | `0x63e251adb0a03613` | yes |
| `init-2.4th` | 4506, 4515, 4525, 4535, 4545 | `0xf113b3d0bcccae47` | yes |
| `init-3.4th` | 4606, 4615, 4625, 4635, 4645, 4655, 4665 | `0x62b7a71576ad1041` | yes |
| `init-4.4th` | 2130, 2131, 2132 | `0x89e3ef1db5ac0627` | yes |
| `init-5.4th` | *(none — raw code capsule)* | `0xda0c179af10a46a9` | yes |
| `init-6.4th` | 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095 | `0x06fc0ce1e369ef5a` | yes |
| `init-7.4th` | 2150 | `0xb88df2efeb753d64` | yes |
| `init-8.4th` | 2160 | `0x714746312b72f83d` | yes |
| `init-9.4th` | 4706, 4715, 4725, 4735, 4745 | `0x3f2bec73142aa424` | yes |
| `init-l8-diverse.4th` | 4820, 4821, 4822 | `0xaa293201a6c91838` | yes | | `init-l8-diverse.4th` | 4820, 4821, 4822 | `0xaa293201a6c91838` | yes |
| `init-l8-omni.4th` | 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079 | `0x5979e314d6452045` | yes | | `init-l8-omni.4th` | 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, 2078, 2079 | `0x5979e314d6452045` | yes |
| `init-l8-stable.4th` | 4806 | `0xdc3830f189063a9a` | yes | | `init-l8-stable.4th` | 4806 | `0xdc3830f189063a9a` | yes |
@@ -41,6 +31,16 @@
| `sdk.4th` | 5109, 5110, 5111, 5112, 5113, 5114, 5115 | `0x008fdbbb62c94a3a` | yes | | `sdk.4th` | 5109, 5110, 5111, 5112, 5113, 5114, 5115 | `0x008fdbbb62c94a3a` | yes |
| `turtle.4th` | 5100, 5101, 5102, 5103, 5104, 5105, 5106, 5107, 5108 | `0x4d470418ca543365` | yes | | `turtle.4th` | 5100, 5101, 5102, 5103, 5104, 5105, 5106, 5107, 5108 | `0x4d470418ca543365` | yes |
| `user-font-demo.4th` | 4200, 4201, 4202 | `0xce1fd7d1b581a56d` | yes | | `user-font-demo.4th` | 4200, 4201, 4202 | `0xce1fd7d1b581a56d` | yes |
| `workload-0.4th` | 2200, 2201 | `0x93f86f60aeba8feb` | yes |
| `workload-1.4th` | 4406, 4415, 4425, 4435 | `0x63e251adb0a03613` | yes |
| `workload-2.4th` | 4506, 4515, 4525, 4535, 4545 | `0xf113b3d0bcccae47` | yes |
| `workload-3.4th` | 4606, 4615, 4625, 4635, 4645, 4655, 4665 | `0x62b7a71576ad1041` | yes |
| `workload-4.4th` | 2130, 2131, 2132 | `0x099619264e650b1c` | yes |
| `workload-5.4th` | *(none — raw code capsule)* | `0x526964c7c9506a11` | yes |
| `workload-6.4th` | 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095 | `0x06fc0ce1e369ef5a` | yes |
| `workload-7.4th` | 2150 | `0x02862291387eb7ac` | yes |
| `workload-8.4th` | 2160 | `0x56b7f2f0efa000df` | yes |
| `workload-9.4th` | 4706, 4715, 4725, 4735, 4745 | `0x3f2bec73142aa424` | yes |
| `zuse-eligibility.4th` | 4021, 4022 | `0x8b49c1bc1e01dc58` | yes | | `zuse-eligibility.4th` | 4021, 4022 | `0x8b49c1bc1e01dc58` | yes |
| `zuse.4th` | 4016, 4017, 4018 | `0x490ded9be257a90b` | yes | | `zuse.4th` | 4016, 4017, 4018 | `0x490ded9be257a90b` | yes |
@@ -67,22 +67,22 @@
| 2077 | `init-l8-omni.4th` | `0x5979e314d6452045` | ok | | 2077 | `init-l8-omni.4th` | `0x5979e314d6452045` | ok |
| 2078 | `init-l8-omni.4th` | `0x5979e314d6452045` | ok | | 2078 | `init-l8-omni.4th` | `0x5979e314d6452045` | ok |
| 2079 | `init-l8-omni.4th` | `0x5979e314d6452045` | ok | | 2079 | `init-l8-omni.4th` | `0x5979e314d6452045` | ok |
| 2080 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2080 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2081 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2081 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2082 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2082 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2083 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2083 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2084 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2084 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2085 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2085 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2086 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2086 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2087 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2087 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2088 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2088 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2089 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2089 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2090 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2090 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2091 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2091 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2092 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2092 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2093 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2093 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2094 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2094 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2095 | `init-6.4th` | `0x06fc0ce1e369ef5a` | ok | | 2095 | `workload-6.4th` | `0x06fc0ce1e369ef5a` | ok |
| 2100 | `doe.4th` | `0xf154616d248e861f` | ok | | 2100 | `doe.4th` | `0xf154616d248e861f` | ok |
| 2101 | `doe.4th` | `0xf154616d248e861f` | ok | | 2101 | `doe.4th` | `0xf154616d248e861f` | ok |
| 2102 | `doe.4th` | `0xf154616d248e861f` | ok | | 2102 | `doe.4th` | `0xf154616d248e861f` | ok |
@@ -91,13 +91,13 @@
| 2105 | `doe.4th` | `0xf154616d248e861f` | ok | | 2105 | `doe.4th` | `0xf154616d248e861f` | ok |
| 2106 | `doe.4th` | `0xf154616d248e861f` | ok | | 2106 | `doe.4th` | `0xf154616d248e861f` | ok |
| 2107 | `doe.4th` | `0xf154616d248e861f` | ok | | 2107 | `doe.4th` | `0xf154616d248e861f` | ok |
| 2130 | `init-4.4th` | `0x89e3ef1db5ac0627` | ok | | 2130 | `workload-4.4th` | `0x099619264e650b1c` | ok |
| 2131 | `init-4.4th` | `0x89e3ef1db5ac0627` | ok | | 2131 | `workload-4.4th` | `0x099619264e650b1c` | ok |
| 2132 | `init-4.4th` | `0x89e3ef1db5ac0627` | ok | | 2132 | `workload-4.4th` | `0x099619264e650b1c` | ok |
| 2150 | `init-7.4th` | `0xb88df2efeb753d64` | ok | | 2150 | `workload-7.4th` | `0x02862291387eb7ac` | ok |
| 2160 | `init-8.4th` | `0x714746312b72f83d` | ok | | 2160 | `workload-8.4th` | `0x56b7f2f0efa000df` | ok |
| 2200 | `init-0.4th` | `0xd0a9550baf786bb3` | ok | | 2200 | `workload-0.4th` | `0x93f86f60aeba8feb` | ok |
| 2201 | `init-0.4th` | `0xd0a9550baf786bb3` | ok | | 2201 | `workload-0.4th` | `0x93f86f60aeba8feb` | ok |
| 4000 | `ACL.4th` | `0xd781d22148ff171d` | ok | | 4000 | `ACL.4th` | `0xd781d22148ff171d` | ok |
| 4001 | `ACL.4th` | `0xd781d22148ff171d` | ok | | 4001 | `ACL.4th` | `0xd781d22148ff171d` | ok |
| 4002 | `ACL.4th` | `0xd781d22148ff171d` | ok | | 4002 | `ACL.4th` | `0xd781d22148ff171d` | ok |
@@ -198,27 +198,27 @@
| 4202 | `user-font-demo.4th` | `0xce1fd7d1b581a56d` | ok | | 4202 | `user-font-demo.4th` | `0xce1fd7d1b581a56d` | ok |
| 4300 | `process.4th` | `0x781afc1dbd0294f7` | ok | | 4300 | `process.4th` | `0x781afc1dbd0294f7` | ok |
| 4301 | `process.4th` | `0x781afc1dbd0294f7` | ok | | 4301 | `process.4th` | `0x781afc1dbd0294f7` | ok |
| 4406 | `init-1.4th` | `0x63e251adb0a03613` | ok | | 4406 | `workload-1.4th` | `0x63e251adb0a03613` | ok |
| 4415 | `init-1.4th` | `0x63e251adb0a03613` | ok | | 4415 | `workload-1.4th` | `0x63e251adb0a03613` | ok |
| 4425 | `init-1.4th` | `0x63e251adb0a03613` | ok | | 4425 | `workload-1.4th` | `0x63e251adb0a03613` | ok |
| 4435 | `init-1.4th` | `0x63e251adb0a03613` | ok | | 4435 | `workload-1.4th` | `0x63e251adb0a03613` | ok |
| 4506 | `init-2.4th` | `0xf113b3d0bcccae47` | ok | | 4506 | `workload-2.4th` | `0xf113b3d0bcccae47` | ok |
| 4515 | `init-2.4th` | `0xf113b3d0bcccae47` | ok | | 4515 | `workload-2.4th` | `0xf113b3d0bcccae47` | ok |
| 4525 | `init-2.4th` | `0xf113b3d0bcccae47` | ok | | 4525 | `workload-2.4th` | `0xf113b3d0bcccae47` | ok |
| 4535 | `init-2.4th` | `0xf113b3d0bcccae47` | ok | | 4535 | `workload-2.4th` | `0xf113b3d0bcccae47` | ok |
| 4545 | `init-2.4th` | `0xf113b3d0bcccae47` | ok | | 4545 | `workload-2.4th` | `0xf113b3d0bcccae47` | ok |
| 4606 | `init-3.4th` | `0x62b7a71576ad1041` | ok | | 4606 | `workload-3.4th` | `0x62b7a71576ad1041` | ok |
| 4615 | `init-3.4th` | `0x62b7a71576ad1041` | ok | | 4615 | `workload-3.4th` | `0x62b7a71576ad1041` | ok |
| 4625 | `init-3.4th` | `0x62b7a71576ad1041` | ok | | 4625 | `workload-3.4th` | `0x62b7a71576ad1041` | ok |
| 4635 | `init-3.4th` | `0x62b7a71576ad1041` | ok | | 4635 | `workload-3.4th` | `0x62b7a71576ad1041` | ok |
| 4645 | `init-3.4th` | `0x62b7a71576ad1041` | ok | | 4645 | `workload-3.4th` | `0x62b7a71576ad1041` | ok |
| 4655 | `init-3.4th` | `0x62b7a71576ad1041` | ok | | 4655 | `workload-3.4th` | `0x62b7a71576ad1041` | ok |
| 4665 | `init-3.4th` | `0x62b7a71576ad1041` | ok | | 4665 | `workload-3.4th` | `0x62b7a71576ad1041` | ok |
| 4706 | `init-9.4th` | `0x3f2bec73142aa424` | ok | | 4706 | `workload-9.4th` | `0x3f2bec73142aa424` | ok |
| 4715 | `init-9.4th` | `0x3f2bec73142aa424` | ok | | 4715 | `workload-9.4th` | `0x3f2bec73142aa424` | ok |
| 4725 | `init-9.4th` | `0x3f2bec73142aa424` | ok | | 4725 | `workload-9.4th` | `0x3f2bec73142aa424` | ok |
| 4735 | `init-9.4th` | `0x3f2bec73142aa424` | ok | | 4735 | `workload-9.4th` | `0x3f2bec73142aa424` | ok |
| 4745 | `init-9.4th` | `0x3f2bec73142aa424` | ok | | 4745 | `workload-9.4th` | `0x3f2bec73142aa424` | ok |
| 4806 | `init-l8-stable.4th` | `0xdc3830f189063a9a` | ok | | 4806 | `init-l8-stable.4th` | `0xdc3830f189063a9a` | ok |
| 4810 | `init-l8-volatile.4th` | `0x98caabbbd92abac4` | ok | | 4810 | `init-l8-volatile.4th` | `0x98caabbbd92abac4` | ok |
| 4811 | `init-l8-volatile.4th` | `0x98caabbbd92abac4` | ok | | 4811 | `init-l8-volatile.4th` | `0x98caabbbd92abac4` | ok |
+21 -21
View File
@@ -83,7 +83,7 @@ match any of this file's actual blocks. Rewritten to match the live file.
| 2106 | No | `EMIT-ROW`: CSV row emitter, pulls inference-engine state (`INFER-RUN`, `L8-MODE`, `WINDOW-DIVERSITY`, etc.) | | 2106 | No | `EMIT-ROW`: CSV row emitter, pulls inference-engine state (`INFER-RUN`, `L8-MODE`, `WINDOW-DIVERSITY`, etc.) |
| 2107 | No | `EXEC-DOE`/`DOE`: main entry point — seeds, shuffles, runs the full matrix, emits CSV | | 2107 | No | `EXEC-DOE`/`DOE`: main entry point — seeds, shuffles, runs the full matrix, emits CSV |
### `init-4.4th` — Mama variant (numbered) ### `workload-4.4th` — Mama variant (numbered)
Blocks: **21302132** Blocks: **21302132**
@@ -93,7 +93,7 @@ Blocks: **21302132**
| 2131 | No | Variant personality block 2 | | 2131 | No | Variant personality block 2 |
| 2132 | No | Variant personality block 3 | | 2132 | No | Variant personality block 3 |
### `init-7.4th` — Mama variant (numbered) ### `workload-7.4th` — Mama variant (numbered)
Blocks: **2150** Blocks: **2150**
@@ -101,7 +101,7 @@ Blocks: **2150**
|-------|-----------|---------------| |-------|-----------|---------------|
| 2150 | No | Single-block Mama variant | | 2150 | No | Single-block Mama variant |
### `init-8.4th` — Mama variant (numbered) ### `workload-8.4th` — Mama variant (numbered)
Blocks: **2160** Blocks: **2160**
@@ -109,7 +109,7 @@ Blocks: **2160**
|-------|-----------|---------------| |-------|-----------|---------------|
| 2160 | No | Single-block Mama variant | | 2160 | No | Single-block Mama variant |
### `init-0.4th` — Mama variant (numbered) ### `workload-0.4th` — Mama variant (numbered)
Blocks: **22002201** Blocks: **22002201**
@@ -118,11 +118,11 @@ Blocks: **22002201**
| 2200 | No | Mama variant init | | 2200 | No | Mama variant init |
| 2201 | No | Mama variant personality continuation | | 2201 | No | Mama variant personality continuation |
### `init-6.4th` — Full-range Mama variant ### `workload-6.4th` — Full-range Mama variant
Blocks: **20802095** Blocks: **20802095**
Moved from 20482063 (2026-07-05). That range put both `init-6.4th` and Moved from 20482063 (2026-07-05). That range put both `workload-6.4th` and
its byte-identical twin `init-l8-omni.4th` on top of `init.4th`'s real its byte-identical twin `init-l8-omni.4th` on top of `init.4th`'s real
blocks (20492052, 2057) — a genuine collision the original Conflict blocks (20492052, 2057) — a genuine collision the original Conflict
Register missed by only tracking "6 vs omni" (C1) and "init vs doe" (C2) Register missed by only tracking "6 vs omni" (C1) and "init vs doe" (C2)
@@ -137,8 +137,8 @@ Conflict Register C1.
Blocks: **20642079** Blocks: **20642079**
Moved from 20482063 (2026-07-05), for the same reason as `init-6.4th` Moved from 20482063 (2026-07-05), for the same reason as `workload-6.4th`
above. `init-l8-omni.4th` is byte-identical to `init-6.4th` (same content, above. `init-l8-omni.4th` is byte-identical to `workload-6.4th` (same content,
same xxHash64) — presumably a copy-forward placeholder awaiting real L8 same xxHash64) — presumably a copy-forward placeholder awaiting real L8
Jacquard omni-mode content that was never written. Given as a separate Jacquard omni-mode content that was never written. Given as a separate
capsule anyway (rather than deleted) since it's referenced by name capsule anyway (rather than deleted) since it's referenced by name
@@ -148,13 +148,13 @@ numbering one.
| Block | Immutable | Justification | | Block | Immutable | Justification |
|-------|-----------|---------------| |-------|-----------|---------------|
| 20642079 | No | L8 Jacquard omni Mama personality; currently identical content to init-6.4th (see note above) | | 20642079 | No | L8 Jacquard omni Mama personality; currently identical content to workload-6.4th (see note above) |
### `init-5.4th` — Raw code capsule (no block format) ### `workload-5.4th` — Raw code capsule (no block format)
Blocks: **none** (no `Block N` headers) Blocks: **none** (no `Block N` headers)
`init-5.4th` defines words inline without FORTH block formatting. It is a raw `workload-5.4th` defines words inline without FORTH block formatting. It is a raw
code capsule compiled directly into the dictionary at load time. It does not code capsule compiled directly into the dictionary at load time. It does not
claim any LBN slot and cannot be LOADed by number. This is intentional for claim any LBN slot and cannot be LOADed by number. This is intentional for
volatile/chaos workloads where block-structured layout adds no value. volatile/chaos workloads where block-structured layout adds no value.
@@ -179,7 +179,7 @@ non-L8 workloads keep their original sparse per-phase spacing (still room
to add a phase without renumbering); the contiguous L8 workloads keep their to add a phase without renumbering); the contiguous L8 workloads keep their
original contiguous style, just relocated. original contiguous style, just relocated.
### `init-1.4th` — Non-L8 workload, 4 phases ### `workload-1.4th` — Non-L8 workload, 4 phases
Blocks: **4406, 4415, 4425, 4435** Blocks: **4406, 4415, 4425, 4435**
@@ -190,25 +190,25 @@ Blocks: **4406, 4415, 4425, 4435**
| 4425 | No | Phase 3 workload words | | 4425 | No | Phase 3 workload words |
| 4435 | No | Phase 4 workload words | | 4435 | No | Phase 4 workload words |
### `init-2.4th` — Non-L8 workload, 5 phases ### `workload-2.4th` — Non-L8 workload, 5 phases
Blocks: **4506, 4515, 4525, 4535, 4545** Blocks: **4506, 4515, 4525, 4535, 4545**
Same sparse slot pattern as `init-1.4th`, own private hundred-block zone, Same sparse slot pattern as `workload-1.4th`, own private hundred-block zone,
plus one additional phase block. plus one additional phase block.
### `init-3.4th` — Non-L8 workload, 7 phases ### `workload-3.4th` — Non-L8 workload, 7 phases
Blocks: **4606, 4615, 4625, 4635, 4645, 4655, 4665** Blocks: **4606, 4615, 4625, 4635, 4645, 4655, 4665**
Largest non-L8 workload. Own private hundred-block zone with room for Largest non-L8 workload. Own private hundred-block zone with room for
three more phases (4675, 4685, 4695) before needing a new zone. three more phases (4675, 4685, 4695) before needing a new zone.
### `init-9.4th` — Non-L8 workload, 5 phases ### `workload-9.4th` — Non-L8 workload, 5 phases
Blocks: **4706, 4715, 4725, 4735, 4745** Blocks: **4706, 4715, 4725, 4735, 4745**
Structurally identical slot pattern to `init-2.4th`; different workload content. Structurally identical slot pattern to `workload-2.4th`; different workload content.
### `init-l8-stable.4th` — L8 stable mode workload ### `init-l8-stable.4th` — L8 stable mode workload
@@ -466,7 +466,7 @@ former ranges are now UNASSIGNED (see Namespace Map).
|-------------|-------------|-------| |-------------|-------------|-------|
| 02047 | KERNEL | VM internal; never use in capsules | | 02047 | KERNEL | VM internal; never use in capsules |
| 20532056, 20582063 | UNASSIGNED | init.4th extension space (after its real 20492052,2057) | | 20532056, 20582063 | UNASSIGNED | init.4th extension space (after its real 20492052,2057) |
| 20962099 | UNASSIGNED | Between init-6.4th and doe.4th | | 20962099 | UNASSIGNED | Between workload-6.4th and doe.4th |
| 21082129 | UNASSIGNED | doe.4th extension space (within its 21002199 range) | | 21082129 | UNASSIGNED | doe.4th extension space (within its 21002199 range) |
| 21332149 | UNASSIGNED | Between init-4 and init-7 variants | | 21332149 | UNASSIGNED | Between init-4 and init-7 variants |
| 21512159 | UNASSIGNED | Between init-7 and init-8 variants | | 21512159 | UNASSIGNED | Between init-7 and init-8 variants |
@@ -482,7 +482,7 @@ former ranges are now UNASSIGNED (see Namespace Map).
| 42004299 | UNASSIGNED | Former compudynamics.4th range (deleted `9323f776`) | | 42004299 | UNASSIGNED | Former compudynamics.4th range (deleted `9323f776`) |
| 43024399 | UNASSIGNED | process extension space | | 43024399 | UNASSIGNED | process extension space |
| 44004405 | UNASSIGNED | Former fleet-k.4th range (deleted `9323f776`) | | 44004405 | UNASSIGNED | Former fleet-k.4th range (deleted `9323f776`) |
| 44104414, 44204424, 44304434 | UNASSIGNED | init-1.4th's private zone, room for growth | | 44104414, 44204424, 44304434 | UNASSIGNED | workload-1.4th's private zone, room for growth |
| 4853+ | OPEN | Future capsules — claim here first | | 4853+ | OPEN | Future capsules — claim here first |
--- ---
@@ -491,7 +491,7 @@ former ranges are now UNASSIGNED (see Namespace Map).
| ID | Blocks | Capsule A | Capsule B | Risk | Resolution | | ID | Blocks | Capsule A | Capsule B | Risk | Resolution |
|-----|-----------|-----------------|---------------------|----------|------------| |-----|-----------|-----------------|---------------------|----------|------------|
| C1 | ~~20482063~~ | init-6.4th | init-l8-omni.4th / init.4th | Resolved (was mislabeled Low — the pair also silently overlapped `init.4th`'s real blocks, missed because the register only tracked "6 vs omni") | `init-l8-omni.4th` moved to 20642079; `init-6.4th` moved to 20802095. Both now clear of `init.4th` (20492052,2057) and of each other. | | C1 | ~~20482063~~ | workload-6.4th | init-l8-omni.4th / init.4th | Resolved (was mislabeled Low — the pair also silently overlapped `init.4th`'s real blocks, missed because the register only tracked "6 vs omni") | `init-l8-omni.4th` moved to 20642079; `workload-6.4th` moved to 20802095. Both now clear of `init.4th` (20492052,2057) and of each other. |
| C2 | ~~20492056~~ | init.4th | doe.4th | Resolved (was real — both baked into the same binary; "never co-loaded" doesn't stop a shared-manifest ambiguity) | `doe.4th` moved to 21002107, the range this doc had already earmarked for it but the file never actually used. | | C2 | ~~20492056~~ | init.4th | doe.4th | Resolved (was real — both baked into the same binary; "never co-loaded" doesn't stop a shared-manifest ambiguity) | `doe.4th` moved to 21002107, the range this doc had already earmarked for it but the file never actually used. |
| C3 | ~~30013060~~ | init-1..3,9 | init-l8-*.4th | Resolved (was real for the `N LOAD` re-cache path — see the disk-routing callout above the Infrastructure Capsules section; harmless for boot compilation, still worth fixing) | Each of the 9 workload capsules moved to its own private range in 44064842; sparse per-phase spacing preserved for the numbered non-L8 workloads. | | C3 | ~~30013060~~ | init-1..3,9 | init-l8-*.4th | Resolved (was real for the `N LOAD` re-cache path — see the disk-routing callout above the Infrastructure Capsules section; harmless for boot compilation, still worth fixing) | Each of the 9 workload capsules moved to its own private range in 44064842; sparse per-phase spacing preserved for the numbered non-L8 workloads. |
| C4 | ~~40104012~~ | ACL.4th | zuse.4th | Resolved | zuse.4th moved to 40164018; no overlap | | C4 | ~~40104012~~ | ACL.4th | zuse.4th | Resolved | zuse.4th moved to 40164018; no overlap |
@@ -505,7 +505,7 @@ new capsule.
*This document is authoritative for capsule block assignments.* *This document is authoritative for capsule block assignments.*
*Last updated: 2026-07-05 — C1/C2/C3 resolved: eliminated every remaining *Last updated: 2026-07-05 — C1/C2/C3 resolved: eliminated every remaining
documented "safe by design" overlap, not just the real C5 one. init-6.4th documented "safe by design" overlap, not just the real C5 one. workload-6.4th
and init-l8-omni.4th (byte-identical) moved off init.4th's range; doe.4th and init-l8-omni.4th (byte-identical) moved off init.4th's range; doe.4th
moved into its own already-documented 21002199 range; all 9 workload moved into its own already-documented 21002199 range; all 9 workload
capsules moved off the shared 30013060 range into private zones at capsules moved off the shared 30013060 range into private zones at
+1 -1
View File
@@ -12,7 +12,7 @@ changes the hash and the birth protocol rejects the image.
| `ACL.4th` | user | Word-level ACL system; self-activating at boot | | `ACL.4th` | user | Word-level ACL system; self-activating at boot |
| `zuse.4th` | user | Bootstrap superuser; loaded by `ACL.4th` | | `zuse.4th` | user | Bootstrap superuser; loaded by `ACL.4th` |
| `doe.4th` | user | DoE workload words (`EXEC-DOE`) — opt-in | | `doe.4th` | user | DoE workload words (`EXEC-DOE`) — opt-in |
| `init-0.4th``init-9.4th` | `(p)` | Numbered personality variants | | `workload-0.4th``workload-9.4th` | `(p)` | Numbered personality variants |
| `init-l8-*.4th` | `(p)` | L8 Jacquard mode variants (stable/volatile/diverse/temporal/transition/omni) | | `init-l8-*.4th` | `(p)` | L8 Jacquard mode variants (stable/volatile/diverse/temporal/transition/omni) |
| `hermes/init.4th` | `(p)` | Hermes baby VM personality | | `hermes/init.4th` | `(p)` | Hermes baby VM personality |
| `artemis/init.4th` | `(p)` | Artemis baby VM personality | | `artemis/init.4th` | `(p)` | Artemis baby VM personality |
@@ -1,5 +1,5 @@
Block 2200 Block 2200
( init-0.4th - mat transpose ) ( workload-0.4th - mat transpose )
: TRANSPOSE-CHUNK : TRANSPOSE-CHUNK
64 0 DO 64 0 DO
64 0 DO 64 0 DO
@@ -1,5 +1,5 @@
Block 2130 Block 2130
( init-4.th - pi series ) ( workload-4.4th - pi series )
VARIABLE PI-ACC VARIABLE PI-ACC
VARIABLE PI-SGN VARIABLE PI-SGN
1000000 CONSTANT PI-SCALE 1000000 CONSTANT PI-SCALE
@@ -1,4 +1,4 @@
\ init-5.4th — Volatile, high-CV workload \ workload-5.4th — Volatile, high-CV workload
: CHAOS-BLOCK : CHAOS-BLOCK
256 0 DO 256 0 DO
@@ -1,5 +1,5 @@
Block 2150 Block 2150
( init-7.4th - matrix mul ) ( workload-7.4th - matrix mul )
: MM-CHUNK : MM-CHUNK
16 0 DO 16 0 DO
16 0 DO 16 0 DO
@@ -1,5 +1,5 @@
Block 2160 Block 2160
( init-8.4th - fib ) ( workload-8.4th - fib )
: FIB-SEQ : FIB-SEQ
0 1 0 1
100000 0 DO 100000 0 DO
BIN
View File
Binary file not shown.
+25 -35
View File
@@ -122,8 +122,15 @@ There are two roles:
| **Workload capsule** | DoE machinery | Provides a computational task to time | | **Workload capsule** | DoE machinery | Provides a computational task to time |
`init.4th` is the Mama VM's init capsule — executed exactly once at kernel `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 boot, and the only file `mkcapsule` special-cases by exact filename as the
files (`init-l8-*.4th`) are workload capsules used by the DoE. 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) | | 20482099 | init.4th (Mama VM boot sequence) |
| 21002199 | doe.4th (DoE machinery) | | 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 | | 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 last line should execute the workload so `EXEC` runs it immediately when
the capsule is loaded. 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. `doe.4th` has no pluggable workload dispatch table today — its own
Find `WL-HI` (Block 2057) and replace one of the existing entries, or extend factorial (entropy/CV/temporal-decay/stability × reps) drives a single
the range: self-contained synthetic workload (`DOE-WORK`, Block 2103), not a file
picked from a list. To measure your own workload's physics behavior
```forth instead, run it standalone as the boot's own capsule rather than trying
Block 2057 to wire it into `doe.4th`'s factorial:
: 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.**
```bash ```bash
cp capsules/my-workload.4th capsules/init.4th # substitutes it in
make -f Makefile.starkernel ARCH=amd64 clean qemu make -f Makefile.starkernel ARCH=amd64 clean qemu
``` ```
Your workload's heartbeat rows will appear in the CSV under whatever (`mkcapsule` special-cases the exact filename `init.4th` as the one
`CURR-WL` index maps to `my-workload.4th`. Match by the `DOE-RUN` marker capsule flagged `MAMA_INIT` and loaded at boot — this is genuinely a
lines in the CSV: substitution, not a selection from a list, so restore the real `init.4th`
afterward, e.g. `git checkout capsules/init.4th`.)
``` Your workload's heartbeat rows will appear in the CSV the same way any
DOE-RUN,run_id,cfg,wl_id,rep 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.
--- ---
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -834,7 +834,7 @@ static void generate_manifest(FILE *out) {
* gate: any two capsules claiming the same LBN fail the build outright. * gate: any two capsules claiming the same LBN fail the build outright.
* This exists because the ordinary build path (process_file / nftw below) * This exists because the ordinary build path (process_file / nftw below)
* bakes capsules with zero collision checking, which is exactly how two * bakes capsules with zero collision checking, which is exactly how two
* real bugs (Hermes vs Artemis; init-6.4th/init-l8-omni.4th vs init.4th) * real bugs (Hermes vs Artemis; workload-6.4th/init-l8-omni.4th vs init.4th)
* went undetected for days until someone happened to run --manifest by * went undetected for days until someone happened to run --manifest by
* hand. See capsules/MANIFEST.md Conflict Register C1/C2/C5. * hand. See capsules/MANIFEST.md Conflict Register C1/C2/C5.
*===========================================================================*/ *===========================================================================*/