Fix USE/RUN dictionary shadowing: remove dead lib.4th aliases
capsules/lib.4th:13-14 defined ": USE ( addr u -- ) EXEC ;" and the same for RUN, shadowing the C-registered mama_word_use()/RUN primitives (CLAUDE.md names both, with BIRTH, as untouchable C primitives) with an unrelated "load/exec a capsule" meaning. This broke the interactive USE-based VM-redirect (S" Artemis" USE printed "EXEC: failed: Artemis" instead of redirecting), discovered while chasing FABRIC-3.md's live-MIGRATE verification. Traced every real caller before touching anything: RUN's alias was dead code, never called anywhere as bare RUN. USE's alias had exactly one real caller -- capsules/hermes/init.4th:397, intentionally exploiting the shadow to load common:msg.4th right after lib.4th itself loaded. Both aliases were pure EXEC wrappers with zero added behavior, so this deletes both definitions outright and switches the one real call site (plus its matching doc comment in capsules/common/msg.4th) to call EXEC directly. No new names invented, the C primitives untouched. Verified live: Hermes still births and her COMMON-CH-eviction self-test (depends on common:msg.4th having loaded) still passes; interactively, S" Artemis" USE now correctly redirects the REPL and prints "USE: now using Artemis". mkcapsule --lint clean (31/31). Clean compile and clean boot with Stadium conservation intact (resident_sum + reservoir == Q48_ONE) on all three architectures. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CXjAPTEKrgY2Mrk25KoLDn
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
0f683c15fd
commit
af1eb0ca2d
+44
-44
@@ -1,5 +1,5 @@
|
||||
# Capsule Block Manifest — Auto-generated
|
||||
<!-- Generated by mkcapsule --manifest 2026-08-26T03:26:40Z -->
|
||||
<!-- Generated by mkcapsule --manifest 2026-08-26T04:59:35Z -->
|
||||
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
|
||||
<!-- Hand-written justifications and immutability notes live -->
|
||||
<!-- in MANIFEST.md alongside this auto-generated index. -->
|
||||
@@ -10,12 +10,12 @@
|
||||
|---------|----------------|----------|
|
||||
| `ACL.4th` | 4000, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4015 | `0xd781d22148ff171d` |
|
||||
| `artemis:init.4th` | 4110, 4111, 4112, 4113, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4160, 4161, 4162, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4174, 4177, 4178, 4179, 4180, 4181, 4182, 4851, 4852 | `0x1859f0148048a2c1` |
|
||||
| `common:msg.4th` | 4055 | `0xa99c5bcd3877f80e` |
|
||||
| `common:msg.4th` | 4055 | `0x850a0382344ea6c4` |
|
||||
| `doe-campaign.4th` | 4060, 4061, 4062, 4063, 4064, 4065 | `0x3d4549142d91ec20` |
|
||||
| `doe.4th` | 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107 | `0xf154616d248e861f` |
|
||||
| `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 | `0x9b1d061339cea98d` |
|
||||
| `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 | `0x720792b4fc758156` |
|
||||
| `hermes:init.4th` | 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4114, 4115, 4116, 4117, 4118, 4119, 4120, 4121, 4142, 4143, 4144, 4145, 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4158, 4159, 4175, 4176 | `0x85c7b311d1e5bf97` |
|
||||
| `hermes:init.4th` | 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4114, 4115, 4116, 4117, 4118, 4119, 4120, 4121, 4142, 4143, 4144, 4145, 4146, 4147, 4148, 4149, 4150, 4151, 4152, 4153, 4154, 4155, 4156, 4157, 4158, 4159, 4175, 4176 | `0xfbb1208133abbeef` |
|
||||
| `init-0.4th` | 2200, 2201 | `0xd0a9550baf786bb3` |
|
||||
| `init-1.4th` | 4406, 4415, 4425, 4435 | `0x63e251adb0a03613` |
|
||||
| `init-2.4th` | 4506, 4515, 4525, 4535, 4545 | `0xf113b3d0bcccae47` |
|
||||
@@ -33,7 +33,7 @@
|
||||
| `init-l8-transition.4th` | 4840, 4841, 4842 | `0xbcc1a81976f0a4c9` |
|
||||
| `init-l8-volatile.4th` | 4810, 4811, 4812, 4813 | `0x98caabbbd92abac4` |
|
||||
| `init.4th` | 2049, 2050, 2057 | `0x214d424abd382707` |
|
||||
| `lib.4th` | 4050 | `0x20625ebf1276c239` |
|
||||
| `lib.4th` | 4050 | `0x1c77d7c9562a5b62` |
|
||||
| `process.4th` | 4300, 4301 | `0x781afc1dbd0294f7` |
|
||||
| `sdk.4th` | 5109, 5110, 5111, 5112, 5113, 5114, 5115 | `0x008fdbbb62c94a3a` |
|
||||
| `turtle.4th` | 5100, 5101, 5102, 5103, 5104, 5105, 5106, 5107, 5108 | `0x4d470418ca543365` |
|
||||
@@ -106,36 +106,36 @@
|
||||
| 4016 | `zuse.4th` | `0x12f38ec782434a77` | ok |
|
||||
| 4017 | `zuse.4th` | `0x12f38ec782434a77` | ok |
|
||||
| 4018 | `zuse.4th` | `0x12f38ec782434a77` | ok |
|
||||
| 4050 | `lib.4th` | `0x20625ebf1276c239` | ok |
|
||||
| 4055 | `common:msg.4th` | `0xa99c5bcd3877f80e` | ok |
|
||||
| 4050 | `lib.4th` | `0x1c77d7c9562a5b62` | ok |
|
||||
| 4055 | `common:msg.4th` | `0x850a0382344ea6c4` | ok |
|
||||
| 4060 | `doe-campaign.4th` | `0x3d4549142d91ec20` | ok |
|
||||
| 4061 | `doe-campaign.4th` | `0x3d4549142d91ec20` | ok |
|
||||
| 4062 | `doe-campaign.4th` | `0x3d4549142d91ec20` | ok |
|
||||
| 4063 | `doe-campaign.4th` | `0x3d4549142d91ec20` | ok |
|
||||
| 4064 | `doe-campaign.4th` | `0x3d4549142d91ec20` | ok |
|
||||
| 4065 | `doe-campaign.4th` | `0x3d4549142d91ec20` | ok |
|
||||
| 4100 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4101 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4102 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4103 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4104 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4105 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4106 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4107 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4108 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4109 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4100 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4101 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4102 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4103 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4104 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4105 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4106 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4107 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4108 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4109 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4110 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4111 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4112 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4113 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4114 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4115 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4116 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4117 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4118 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4119 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4120 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4121 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4114 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4115 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4116 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4117 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4118 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4119 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4120 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4121 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4122 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4123 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4124 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
@@ -156,24 +156,24 @@
|
||||
| 4139 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4140 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4141 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4142 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4143 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4144 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4145 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4146 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4147 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4148 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4149 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4150 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4151 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4152 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4153 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4154 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4155 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4156 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4157 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4158 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4159 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4142 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4143 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4144 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4145 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4146 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4147 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4148 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4149 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4150 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4151 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4152 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4153 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4154 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4155 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4156 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4157 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4158 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4159 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4160 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4161 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4162 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
@@ -189,8 +189,8 @@
|
||||
| 4172 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4173 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4174 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4175 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4176 | `hermes:init.4th` | `0x85c7b311d1e5bf97` | ok |
|
||||
| 4175 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4176 | `hermes:init.4th` | `0xfbb1208133abbeef` | ok |
|
||||
| 4177 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4178 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
| 4179 | `artemis:init.4th` | `0x1859f0148048a2c1` | ok |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Block 4055
|
||||
( common:msg.4th — Hermes participant interface )
|
||||
( Load into every messaging VM at birth: )
|
||||
( S" common:msg.4th" USE )
|
||||
( S" common:msg.4th" EXEC )
|
||||
: HERMES-ACK ( -- )
|
||||
LOG-DEBUG" msg: ACK sent"
|
||||
S" MSG-ACK-LAST" S" Hermes" VM-EXEC ;
|
||||
|
||||
@@ -394,7 +394,7 @@ Block 4120
|
||||
COMMON-INIT
|
||||
VM-NAMES-INIT
|
||||
S" lib.4th" EXEC
|
||||
S" common:msg.4th" USE
|
||||
S" common:msg.4th" EXEC
|
||||
LOG-INFO" Hermes: ready" ;
|
||||
Block 4121
|
||||
( Hermes v1 — ACK/NACK server )
|
||||
|
||||
@@ -10,5 +10,3 @@ Block 4050
|
||||
: CSV-COL ( n -- ) N. COMMA ;
|
||||
: CSV-LAST ( n -- ) N. CRLF ;
|
||||
: Q.SHOW ( q -- ) Q.PRINT CR ;
|
||||
: USE ( addr u -- ) EXEC ;
|
||||
: RUN ( addr u -- ) EXEC ;
|
||||
|
||||
Reference in New Issue
Block a user