Add VM-HEAT primitive: groundwork for a compudynamic turn-attractor (FABRIC-3.md §XIX)
Prompted by reading the std79-doe K report: checked whether the campaign's
"real cross-VM dispatch load" was actually concurrent or strictly
serialized. It's serialized at two levels -- VM-EXEC's vm_interpret(target,
...) is a direct synchronous C call (Hera fully blocked until it returns),
and even the background physics tick (vm_tick(), vm_runtime.c) is driven
by each VM's own execution loop, so idle identities accrue zero ticks
between their own turns. K's perfect conservation (FABRIC-3.md §XVIII)
verifies sequential per-VM accounting correctness, not concurrent-access
safety, since there was never concurrent access to test.
Agreed direction: fix this without a scheduler, by reusing the same
least-dense-candidate judgment stadium_admit() already trusts for
eviction, applied to "whose turn is next" instead of "who gets evicted" --
a fleet-level turn-attractor giving the next turn to whichever live
identity currently has the lowest execution_heat_q48, no fixed round-robin,
no priorities, no preemption. Lives beside Stadium in
capsule_vm_physics.c (already the fleet-level consumer of Stadium
primitives, e.g. the K mechanism itself), not inside stadium.c ("the
floor" -- residency/eviction, a different concern from turn order) and
not a new subsystem.
This pass lands only the primitive the mechanism needs: VM-HEAT
( c-addr u -- heat-q48 ), pushing a named VM's current
execution_heat_q48 via vm_physics_heat_of() -- previously C-internal
only (doe_log_heat_by_name(), doe_log.c), never exposed to FORTH. Silent
0 on an unknown/dead name (no print/error), since a turn-attractor
scanning many candidates every turn shouldn't have to filter console
noise for names that simply aren't live. Registered everywhere
VM-EXEC/VM-CALL already are. Builds clean on all three architectures;
live-tested on amd64: Hera -> 65452, Hermes -> 43, unknown name -> 0, no
faults.
The turn-attractor loop itself (std79-doe.fth's trial ordering) is not
yet built -- next step, not done here.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EXieurDfDSsDFdnSyusuWo
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
238ca95b3c
commit
5a9425b91b
+62
@@ -2692,3 +2692,65 @@ wire (same interleaving effect as §XVII's write-up, just landing on a different
|
||||
unaffected either way, since the K result does not depend on trial attribution being correct at
|
||||
all.
|
||||
|
||||
## XIX. VM-HEAT primitive: groundwork for a compudynamic turn-attractor (2026-09-12)
|
||||
|
||||
**The real null hypothesis behind §XVIII's K result.** Reading the report prompted the right
|
||||
question: was execution actually concurrent across the 9 live identity VMs, or strictly
|
||||
serialized? Checked against the code, not assumed: `VM-EXEC` (`mama_word_vm_exec`,
|
||||
`mama_forth_words.c`) calls `vm_interpret(target, cmd_buf)` directly on Hera's own call stack --
|
||||
a synchronous C call, not a thread or coroutine switch. Hera is fully blocked until the target
|
||||
VM's interpretation returns; exactly one VM's FORTH code executes at any instant. Worse, even
|
||||
the *background* physics tick is not uniform across the fleet: `vm_tick()` (`vm_runtime.c`) is
|
||||
called from *each VM's own* execution loop, driven by *that VM's own* word dispatch -- its own
|
||||
doc comment already documents this as a previously-fixed bug (fleet physics used to gate on
|
||||
Hera's tick count specifically and "almost never fired, since Hera-as-orchestrator mostly blocks
|
||||
on VM-EXEC/VM-CALL dispatch that accrues to the target VM's tick count, not hers"). Net effect:
|
||||
while VM A holds the turn, the other 8 identities accrue *zero* ticks and call `vm_tick()` *zero*
|
||||
times -- completely dormant between their own turns, not just "not currently executing a word."
|
||||
|
||||
**What this means for §XVIII's result.** K's perfect conservation verifies that each individual
|
||||
admit/evict/reservoir-transfer event was internally correct across many sequential events on 9
|
||||
different VMs. It is **not** evidence about concurrent-access safety, because there was never any
|
||||
concurrent access for it to be evidence of -- at any instant at most one VM's heat is changing,
|
||||
everything else is static, so the fleet sum staying constant is a real check on the *sequential*
|
||||
accounting, not a stronger claim about contention. Worth being honest about rather than letting
|
||||
the report's "real cross-VM dispatch load" phrasing be read as implying more than it tested.
|
||||
|
||||
**Design direction agreed with Captain Bob: fix the gap without a scheduler.** A fixed
|
||||
round-robin across identities would just be a different hardcoded policy -- not in the spirit of
|
||||
a runtime whose whole design principle is finding its own attractors rather than being told what
|
||||
to do. The chosen direction instead reuses a judgment this codebase already trusts elsewhere:
|
||||
`stadium_admit()` picks the least-dense (coolest) resident as its eviction candidate when a
|
||||
quota is full. Turn allocation is the same kind of decision -- "whose turn is next" instead of
|
||||
"who gets evicted" -- so the plan is a fleet-level turn-attractor that gives the next turn to
|
||||
whichever live identity VM currently has the lowest `execution_heat_q48`, not a fixed sequence
|
||||
position. A VM idle longer becomes relatively cooler and naturally rises to the front; a VM
|
||||
mid-burst stays hot and cedes turns. No priority levels, no time slices, no preemption -- the
|
||||
same density comparison Stadium already uses, applied to "who goes next."
|
||||
|
||||
**Scoping: not the floor, not a parking lot, not a new subsystem.** `stadium.c` is "the floor"
|
||||
in this project's own vocabulary (patrons "leave the floor" when reaped) -- its job is residency
|
||||
and eviction, not turn order, so this doesn't belong inside it. `capsule_vm_physics.c` already
|
||||
is the fleet-level layer that sits next to Stadium and consumes its primitives without living
|
||||
inside `stadium.c` itself (it's exactly how the K mechanism, §XVIII, is built) -- a turn-attractor
|
||||
reading per-VM heat to pick the coolest candidate is precisely the kind of fleet-wide decision
|
||||
this file already exists to make. No new subsystem needed.
|
||||
|
||||
**Groundwork landed this pass: `VM-HEAT ( c-addr u -- heat-q48 )`** (`mama_forth_words.c`,
|
||||
registered in all three places `VM-EXEC`/`VM-CALL` already are -- Hera's root vocabulary, her
|
||||
MAMA vocabulary, and `register_child_vm_words()`). Pushes the named VM's current
|
||||
`execution_heat_q48` via `vm_physics_heat_of()` -- previously C-internal only
|
||||
(`doe_log_heat_by_name()`, `doe_log.c`), never exposed to FORTH. Silent 0 on an unknown/dead
|
||||
name (no print, no error) -- a turn-attractor scanning many candidate names every turn shouldn't
|
||||
have to filter console noise for names that simply aren't live. Builds clean, zero warnings, on
|
||||
all three architectures; live-tested on amd64 (single boot, zuse only): `S" Hera" VM-HEAT .` -->
|
||||
`65452`, `S" Hermes" VM-HEAT .` --> `43`, `S" NoSuchVM" VM-HEAT .` --> `0`, all as expected, no
|
||||
faults.
|
||||
|
||||
**Not yet built: the turn-attractor loop itself.** This pass added only the primitive
|
||||
(`VM-HEAT`) the mechanism needs, not the mechanism -- `std79-doe.fth`'s trial loop still runs
|
||||
each of the 27 shuffled (identity, replicate) cells to completion in shuffle order, unchanged
|
||||
from §XV. The actual heat-driven "coolest live identity goes next" turn loop, and re-verifying
|
||||
the whole campaign (including whether K still holds under genuinely interleaved multi-VM
|
||||
contention, which is the actual point of building this) is the next step, not done here.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Capsule Block Manifest — Auto-generated
|
||||
<!-- Generated by mkcapsule --manifest 2026-09-12T17:15:30Z -->
|
||||
<!-- Generated by mkcapsule --manifest 2026-09-12T18:51:37Z -->
|
||||
<!-- DO NOT EDIT — re-run mkcapsule --manifest to refresh. -->
|
||||
<!-- Hand-written justifications and immutability notes live -->
|
||||
<!-- in MANIFEST.md alongside this auto-generated index. -->
|
||||
|
||||
Binary file not shown.
@@ -1,259 +0,0 @@
|
||||
tick_number,elapsed_ns,tick_interval_ns,cache_hits_delta,bucket_hits_delta,word_executions_delta,hot_word_count,avg_word_heat_q48,window_width,actual_window_size,predicted_label_hits,jitter_bits,apic_ticks,time_trust_q48,variance_q48,vm_call_depth_max,hera_heat_q48,hermes_heat_q48,artemis_heat_q48,fleet_k_q48,fleet_conserved
|
||||
101,1010000,10000,0,0,256,61,52,1024,1024,0,0,13516,40216,41261,1,41886,11515,12135,65536,1
|
||||
102,1020000,10000,0,0,256,61,53,512,512,0,0,13518,40216,41261,1,41886,11515,12135,65536,1
|
||||
103,1030000,10000,0,0,256,62,54,512,512,0,0,13520,40216,41261,1,41886,11515,12135,65536,1
|
||||
104,1040000,10000,0,0,256,64,55,256,256,0,0,13521,40216,41261,1,41886,11515,12135,65536,1
|
||||
105,1050000,10000,0,0,256,68,56,256,256,0,0,13523,40216,41261,1,41886,11515,12135,65536,1
|
||||
106,1060000,10000,0,0,256,68,57,256,256,0,0,13526,40216,41261,1,41886,11515,12135,65536,1
|
||||
107,1070000,10000,0,0,256,68,58,256,256,0,0,13528,40216,41261,1,41886,11515,12135,65536,1
|
||||
108,1080000,10000,0,0,256,68,60,256,256,0,0,13530,40216,41261,1,41886,11515,12135,65536,1
|
||||
109,1090000,10000,0,0,256,68,61,256,256,0,0,13532,40216,41261,1,41886,11515,12135,65536,1
|
||||
110,1100000,10000,0,0,256,68,62,256,256,0,0,13534,40216,41261,1,41886,11515,12135,65536,1
|
||||
111,1110000,10000,0,0,256,68,63,256,256,0,0,13536,40216,41261,1,41886,11515,12135,65536,1
|
||||
112,1120000,10000,0,0,256,69,64,256,256,0,0,13539,40216,41261,1,41886,11515,12135,65536,1
|
||||
113,1130000,10000,0,0,256,69,65,256,256,0,0,13542,40216,41261,1,41886,11515,12135,65536,1
|
||||
114,1140000,10000,0,0,256,69,66,256,256,0,0,13544,40216,41261,1,41886,11515,12135,65536,1
|
||||
115,1150000,10000,0,0,256,69,67,256,256,0,0,13546,40216,41261,1,41886,11515,12135,65536,1
|
||||
116,1160000,10000,0,0,256,69,69,256,256,0,0,13549,40216,41261,1,41886,11515,12135,65536,1
|
||||
117,1170000,10000,0,0,256,69,70,256,256,0,0,13551,40216,41261,1,41886,11515,12135,65536,1
|
||||
631,6310000,5140000,0,0,138004,32,2626,256,256,0,4707266306531917824,13557,40216,41261,0,41886,11515,12135,65536,1
|
||||
118,1180000,18446744073704421616,0,0,22715,69,71,256,256,0,4895412794951726642,13560,40216,41261,1,41886,11515,12135,65536,1
|
||||
119,1190000,10000,0,0,256,69,72,256,256,0,0,13562,40216,41261,1,41886,11515,12135,65536,1
|
||||
120,1200000,10000,0,0,256,69,75,256,256,0,0,13563,40216,41261,1,41886,11515,12135,65536,1
|
||||
121,1210000,10000,0,0,256,69,84,256,256,0,0,13565,40216,41261,1,41886,11515,12135,65536,1
|
||||
122,1220000,10000,0,0,256,69,85,256,256,0,0,13568,40216,41261,1,41886,11515,12135,65536,1
|
||||
123,1230000,10000,0,0,256,70,85,256,256,0,0,13570,40216,41261,1,41886,11515,12135,65536,1
|
||||
124,1240000,10000,0,0,256,70,85,256,256,0,0,13571,40216,41261,1,41886,11515,12135,65536,1
|
||||
125,1250000,10000,0,0,256,70,86,256,256,0,0,13572,40216,41261,1,41886,11515,12135,65536,1
|
||||
126,1260000,10000,0,0,256,70,92,256,256,0,0,13575,40216,41261,1,41886,11515,12135,65536,1
|
||||
127,1270000,10000,0,0,256,70,95,256,256,0,0,13577,40216,41261,1,41886,11515,12135,65536,1
|
||||
128,1280000,10000,0,0,256,70,96,256,256,0,0,13579,40216,41261,1,41886,11515,12135,65536,1
|
||||
129,1290000,10000,0,0,256,70,104,256,256,0,0,13581,40216,41261,1,41886,11515,12135,65536,1
|
||||
130,1300000,10000,0,0,256,70,104,256,256,0,0,13582,40216,41261,1,41886,11515,12135,65536,1
|
||||
131,1310000,10000,0,0,256,68,107,256,256,0,0,13584,40216,41261,1,41886,11515,12135,65536,1
|
||||
132,1320000,10000,0,0,256,68,109,256,256,0,0,13586,40216,41261,1,41886,11515,12135,65536,1
|
||||
133,1330000,10000,0,0,256,68,111,256,256,0,0,13588,40216,41261,1,41886,11515,12135,65536,1
|
||||
134,1340000,10000,0,0,256,68,126,256,256,0,0,13590,40216,41261,1,41886,11515,12135,65536,1
|
||||
135,1350000,10000,0,0,256,68,128,256,256,0,0,13592,40216,41261,1,41886,11515,12135,65536,1
|
||||
136,1360000,10000,0,0,256,68,177,256,256,0,0,13599,40216,41261,1,41886,11515,12135,65536,1
|
||||
137,1370000,10000,0,0,256,68,193,256,256,0,0,13601,40216,41261,1,41886,11515,12135,65536,1
|
||||
138,1380000,10000,0,0,256,66,195,256,256,0,0,13603,40216,41261,1,41886,11515,12135,65536,1
|
||||
139,1390000,10000,0,0,256,65,203,256,256,0,0,13606,40216,41261,1,41886,11515,12135,65536,1
|
||||
140,1400000,10000,0,0,256,65,205,256,256,0,0,13608,40216,41261,1,41886,11515,12135,65536,1
|
||||
141,1410000,10000,0,0,256,65,207,256,256,0,0,13610,40216,41261,1,41886,11515,12135,65536,1
|
||||
142,1420000,10000,0,0,256,65,216,256,256,0,0,13612,40216,41261,1,41886,11515,12135,65536,1
|
||||
143,1430000,10000,0,0,256,65,220,256,256,0,0,13614,40216,41261,1,41886,11515,12135,65536,1
|
||||
144,1440000,10000,0,0,256,65,227,256,256,0,0,13616,40216,41261,1,41886,11515,12135,65536,1
|
||||
145,1450000,10000,0,0,256,65,234,256,256,0,0,13617,40216,41261,1,41886,11515,12135,65536,1
|
||||
146,1460000,10000,0,0,256,65,237,256,256,0,0,13619,40216,41261,1,41886,11515,12135,65536,1
|
||||
147,1470000,10000,0,0,256,65,253,256,256,0,0,13621,40216,41261,1,41886,11515,12135,65536,1
|
||||
148,1480000,10000,0,0,256,65,244,256,256,0,0,13625,40216,41261,1,41886,11515,12135,65536,1
|
||||
149,1490000,10000,0,0,256,65,237,256,256,0,0,13627,40216,41261,1,41886,11515,12135,65536,1
|
||||
150,1500000,10000,0,0,256,65,232,256,256,0,0,13630,40216,41261,1,41886,11515,12135,65536,1
|
||||
151,1510000,10000,0,0,256,65,228,256,256,0,0,13633,40216,41261,1,41886,11515,12135,65536,1
|
||||
152,1520000,10000,0,0,256,65,230,256,256,0,0,13635,40216,41261,1,41886,11515,12135,65536,1
|
||||
153,1530000,10000,0,0,256,65,226,256,256,0,0,13637,40216,41261,1,41886,11515,12135,65536,1
|
||||
154,1540000,10000,0,0,256,65,224,256,256,0,0,13639,40216,41261,1,41886,11515,12135,65536,1
|
||||
155,1550000,10000,0,0,256,65,234,256,256,0,0,13641,40216,41261,1,41886,11515,12135,65536,1
|
||||
156,1560000,10000,0,0,256,65,237,256,256,0,0,13645,40216,41261,1,41886,11515,12135,65536,1
|
||||
157,1570000,10000,0,0,256,65,244,256,256,0,0,13646,40216,41261,1,41886,11515,12135,65536,1
|
||||
736,7360000,5790000,0,0,154654,30,3408,256,256,0,4707964238717517824,13653,40216,41261,0,41886,11515,12135,65536,1
|
||||
158,1580000,18446744073703771616,0,0,32955,65,248,256,256,0,4895412794951726325,13655,40216,41261,1,41886,11515,12135,65536,1
|
||||
159,1590000,10000,0,0,256,65,253,256,256,0,0,13657,40216,41261,1,41886,11515,12135,65536,1
|
||||
160,1600000,10000,0,0,256,65,319,256,256,0,0,13659,40216,41261,1,41886,11515,12135,65536,1
|
||||
161,1610000,10000,0,0,256,65,322,256,256,0,0,13661,40216,41261,1,41886,11515,12135,65536,1
|
||||
162,1620000,10000,0,0,256,65,350,256,256,0,0,13663,40216,41261,1,41886,11515,12135,65536,1
|
||||
163,1630000,10000,0,0,256,65,316,256,256,0,0,13671,40216,41261,1,41886,11515,12135,65536,1
|
||||
164,1640000,10000,0,0,256,65,326,256,256,0,0,13673,40216,41261,1,41886,11515,12135,65536,1
|
||||
165,1650000,10000,0,0,256,65,334,256,256,0,0,13676,40216,41261,1,41886,11515,12135,65536,1
|
||||
166,1660000,10000,0,0,256,65,337,256,256,0,0,13678,40216,41261,1,41886,11515,12135,65536,1
|
||||
167,1670000,10000,0,0,256,65,340,256,256,0,0,13680,40216,41261,1,41886,11515,12135,65536,1
|
||||
168,1680000,10000,0,0,256,65,343,256,256,0,0,13682,40216,41261,1,41886,11515,12135,65536,1
|
||||
169,1690000,10000,0,0,256,65,346,256,256,0,0,13684,40216,41261,1,41886,11515,12135,65536,1
|
||||
170,1700000,10000,0,0,256,65,349,256,256,0,0,13686,40216,41261,1,41886,11515,12135,65536,1
|
||||
171,1710000,10000,0,0,256,65,356,256,256,0,0,13688,40216,41261,1,41886,11515,12135,65536,1
|
||||
172,1720000,10000,0,0,256,65,364,256,256,0,0,13692,40216,41261,1,41886,11515,12135,65536,1
|
||||
173,1730000,10000,0,0,256,64,386,256,256,0,0,13695,40216,41261,1,41886,11515,12135,65536,1
|
||||
174,1740000,10000,0,0,256,64,365,256,256,0,0,13698,40216,41261,1,41886,11515,12135,65536,1
|
||||
175,1750000,10000,0,0,256,64,359,256,256,0,0,13701,40216,41261,1,41886,11515,12135,65536,1
|
||||
176,1760000,10000,0,0,256,64,345,256,256,0,0,13704,40216,41261,1,41886,11515,12135,65536,1
|
||||
177,1770000,10000,0,0,256,64,332,256,256,0,0,13706,40216,41261,1,41886,11515,12135,65536,1
|
||||
178,1780000,10000,0,0,256,64,328,256,256,0,0,13708,40216,41261,1,41886,11515,12135,65536,1
|
||||
179,1790000,10000,0,0,256,64,324,256,256,0,0,13710,40216,41261,1,41886,11515,12135,65536,1
|
||||
180,1800000,10000,0,0,256,64,313,256,256,0,0,13712,40216,41261,1,41886,11515,12135,65536,1
|
||||
181,1810000,10000,0,0,256,64,312,256,256,0,0,13716,40216,41261,1,41886,11515,12135,65536,1
|
||||
182,1820000,10000,0,0,256,63,314,256,256,0,0,13718,40216,41261,1,41886,11515,12135,65536,1
|
||||
183,1830000,10000,0,0,256,63,317,256,256,0,0,13721,40216,41261,1,41886,11515,12135,65536,1
|
||||
184,1840000,10000,0,0,256,63,322,256,256,0,0,13724,40216,41261,1,41886,11515,12135,65536,1
|
||||
185,1850000,10000,0,0,256,63,328,256,256,0,0,13726,40216,41261,1,41886,11515,12135,65536,1
|
||||
186,1860000,10000,0,0,256,63,411,256,256,0,0,13728,40216,41261,1,41886,11515,12135,65536,1
|
||||
187,1870000,10000,0,0,256,63,414,256,256,0,0,13729,40216,41261,1,41886,11515,12135,65536,1
|
||||
290,2900000,1030000,0,0,32730,37,973,256,256,0,4697008945376526336,13736,40216,41261,0,41886,11515,12135,65536,1
|
||||
188,1880000,18446744073708531616,0,0,40635,62,452,256,256,0,4895412794951728649,13738,40216,41261,1,41886,11515,12135,65536,1
|
||||
189,1890000,10000,0,0,256,62,456,256,256,0,0,13740,40216,41261,1,41886,11515,12135,65536,1
|
||||
190,1900000,10000,0,0,256,62,459,256,256,0,0,13742,40216,41261,1,41886,11515,12135,65536,1
|
||||
191,1910000,10000,0,0,256,62,406,256,256,0,0,13745,40216,41261,1,41886,11515,12135,65536,1
|
||||
192,1920000,10000,0,0,256,62,409,256,256,0,0,13747,40216,41261,1,41886,11515,12135,65536,1
|
||||
193,1930000,10000,0,0,256,62,412,256,256,0,0,13749,40216,41261,1,41886,11515,12135,65536,1
|
||||
194,1940000,10000,0,0,256,62,415,256,256,0,0,13751,40216,41261,1,41886,11515,12135,65536,1
|
||||
195,1950000,10000,0,0,256,62,418,256,256,0,0,13753,40216,41261,1,41886,11515,12135,65536,1
|
||||
196,1960000,10000,0,0,256,62,426,256,256,0,0,13761,40216,41261,1,41886,11515,12135,65536,1
|
||||
197,1970000,10000,0,0,256,62,434,256,256,0,0,13763,40216,41261,1,41886,11515,12135,65536,1
|
||||
198,1980000,10000,0,0,256,62,443,256,256,0,0,13765,40216,41261,1,41886,11515,12135,65536,1
|
||||
199,1990000,10000,0,0,256,62,476,256,256,0,0,13768,40216,41261,1,41886,11515,12135,65536,1
|
||||
200,2000000,10000,0,0,256,62,479,256,256,0,0,13771,40216,41261,1,41886,11515,12135,65536,1
|
||||
201,2010000,10000,0,0,256,62,452,256,256,0,0,13774,40216,41261,1,41886,11515,12135,65536,1
|
||||
202,2020000,10000,0,0,256,62,455,256,256,0,0,13776,40216,41261,1,41886,11515,12135,65536,1
|
||||
203,2030000,10000,0,0,256,62,458,256,256,0,0,13779,40216,41261,1,41886,11515,12135,65536,1
|
||||
204,2040000,10000,0,0,256,62,461,256,256,0,0,13781,40216,41261,1,41886,11515,12135,65536,1
|
||||
205,2050000,10000,0,0,256,62,464,256,256,0,0,13784,40216,41261,1,41886,11515,12135,65536,1
|
||||
206,2060000,10000,0,0,256,62,467,256,256,0,0,13786,40216,41261,1,41886,11515,12135,65536,1
|
||||
207,2070000,10000,0,0,256,62,470,256,256,0,0,13787,40216,41261,1,41886,11515,12135,65536,1
|
||||
526,5260000,3190000,0,0,88077,33,2018,256,256,0,4704083409348067328,13795,40216,41261,0,41886,11515,12135,65536,1
|
||||
208,2080000,18446744073706371616,0,0,45755,62,480,256,256,0,4895412794951727594,13797,40216,41261,1,41886,11515,12135,65536,1
|
||||
209,2090000,10000,0,0,256,60,489,256,256,0,0,13799,40216,41261,1,41886,11515,12135,65536,1
|
||||
210,2100000,10000,0,0,256,60,485,256,256,0,0,13802,40216,41261,1,41886,11515,12135,65536,1
|
||||
211,2110000,10000,0,0,256,60,489,256,256,0,0,13803,40216,41261,1,41886,11515,12135,65536,1
|
||||
212,2120000,10000,0,0,256,60,498,256,256,0,0,13807,40216,41261,1,41886,11515,12135,65536,1
|
||||
213,2130000,10000,0,0,256,60,502,256,256,0,0,13809,40216,41261,1,41886,11515,12135,65536,1
|
||||
214,2140000,10000,0,0,256,59,555,256,256,0,0,13811,40216,41261,1,41886,11515,12135,65536,1
|
||||
215,2150000,10000,0,0,256,59,558,256,256,0,0,13812,40216,41261,1,41886,11515,12135,65536,1
|
||||
216,2160000,10000,0,0,256,59,562,256,256,0,0,13814,40216,41261,1,41886,11515,12135,65536,1
|
||||
855,8550000,6390000,0,0,169933,31,3145,256,256,0,4708608483811917824,13823,40216,41261,0,41886,11515,12135,65536,1
|
||||
217,2170000,18446744073703171616,0,0,48059,59,542,256,256,0,4895412794951726032,13825,40216,41261,1,41886,11515,12135,65536,1
|
||||
218,2180000,10000,0,0,256,59,524,256,256,0,0,13828,40216,41261,1,41886,11515,12135,65536,1
|
||||
219,2190000,10000,0,0,256,59,527,256,256,0,0,13832,40216,41261,1,41886,11515,12135,65536,1
|
||||
220,2200000,10000,0,0,256,59,530,256,256,0,0,13834,40216,41261,1,41886,11515,12135,65536,1
|
||||
221,2210000,10000,0,0,256,59,534,256,256,0,0,13837,40216,41261,1,41886,11515,12135,65536,1
|
||||
222,2220000,10000,0,0,256,59,544,256,256,0,0,13839,40216,41261,1,41886,11515,12135,65536,1
|
||||
223,2230000,10000,0,0,256,59,555,256,256,0,0,13842,40216,41261,1,41886,11515,12135,65536,1
|
||||
224,2240000,10000,0,0,256,59,558,256,256,0,0,13844,40216,41261,1,41886,11515,12135,65536,1
|
||||
225,2250000,10000,0,0,256,58,585,256,256,0,0,13852,40216,41261,1,41886,11515,12135,65536,1
|
||||
226,2260000,10000,0,0,256,58,588,256,256,0,0,13855,40216,41261,1,41886,11515,12135,65536,1
|
||||
227,2270000,10000,0,0,256,58,646,256,256,0,0,13857,40216,41261,1,41886,11515,12135,65536,1
|
||||
228,2280000,10000,0,0,256,59,556,256,256,0,0,13861,40216,41261,1,41886,11515,12135,65536,1
|
||||
229,2290000,10000,0,0,256,59,559,256,256,0,0,13863,40216,41261,1,41886,11515,12135,65536,1
|
||||
230,2300000,10000,0,0,256,59,562,256,256,0,0,13866,40216,41261,1,41886,11515,12135,65536,1
|
||||
231,2310000,10000,0,0,256,59,566,256,256,0,0,13868,40216,41261,1,41886,11515,12135,65536,1
|
||||
232,2320000,10000,0,0,256,59,569,256,256,0,0,13870,40216,41261,1,41886,11515,12135,65536,1
|
||||
233,2330000,10000,0,0,256,59,572,256,256,0,0,13873,40216,41261,1,41886,11515,12135,65536,1
|
||||
198,1980000,18446744073709201616,0,0,49560,40,613,256,256,0,4895412794951728976,13875,40216,41261,0,41886,11515,12135,65536,1
|
||||
234,2340000,360000,0,0,2851,59,575,256,256,0,4689756566679715840,13877,40216,41261,1,41886,11515,12135,65536,1
|
||||
235,2350000,10000,0,0,256,59,602,256,256,0,0,13880,40216,41261,1,41886,11515,12135,65536,1
|
||||
236,2360000,10000,0,0,256,59,614,256,256,0,0,13882,40216,41261,1,41886,11515,12135,65536,1
|
||||
237,2370000,10000,0,0,256,59,617,256,256,0,0,13885,40216,41261,1,41886,11515,12135,65536,1
|
||||
238,2380000,10000,0,0,256,58,604,256,256,0,0,13889,40216,41261,1,41886,11515,12135,65536,1
|
||||
239,2390000,10000,0,0,256,58,607,256,256,0,0,13892,40216,41261,1,41886,11515,12135,65536,1
|
||||
240,2400000,10000,0,0,256,58,619,256,256,0,0,13896,40216,41261,1,41886,11515,12135,65536,1
|
||||
241,2410000,10000,0,0,256,58,622,256,256,0,0,13899,40216,41261,1,41886,11515,12135,65536,1
|
||||
242,2420000,10000,0,0,256,58,626,256,256,0,0,13903,40216,41261,1,41886,11515,12135,65536,1
|
||||
243,2430000,10000,0,0,256,58,629,256,256,0,0,13906,40216,41261,1,41886,11515,12135,65536,1
|
||||
244,2440000,10000,0,0,256,58,632,256,256,0,0,13909,40216,41261,1,41886,11515,12135,65536,1
|
||||
245,2450000,10000,0,0,256,58,636,256,256,0,0,13911,40216,41261,1,41886,11515,12135,65536,1
|
||||
246,2460000,10000,0,0,256,58,639,256,256,0,0,13913,40216,41261,1,41886,11515,12135,65536,1
|
||||
247,2470000,10000,0,0,256,58,642,256,256,0,0,13916,40216,41261,1,41886,11515,12135,65536,1
|
||||
248,2480000,10000,0,0,256,58,645,256,256,0,0,13919,40216,41261,1,41886,11515,12135,65536,1
|
||||
249,2490000,10000,0,0,256,58,649,256,256,0,0,13921,40216,41261,1,41886,11515,12135,65536,1
|
||||
250,2500000,10000,0,0,256,58,652,256,256,0,0,13923,40216,41261,1,41886,11515,12135,65536,1
|
||||
251,2510000,10000,0,0,256,58,684,256,256,0,0,13926,40216,41261,1,41886,11515,12135,65536,1
|
||||
252,2520000,10000,0,0,256,58,687,256,256,0,0,13929,40216,41261,1,41886,11515,12135,65536,1
|
||||
253,2530000,10000,0,0,256,58,755,256,256,0,0,13936,40216,41261,1,41886,11515,12135,65536,1
|
||||
254,2540000,10000,0,0,256,58,759,256,256,0,0,13938,40216,41261,1,41886,11515,12135,65536,1
|
||||
255,2550000,10000,0,0,256,58,669,256,256,0,0,13941,40216,41261,1,41886,11515,12135,65536,1
|
||||
256,2560000,10000,0,0,256,58,672,256,256,0,0,13944,40216,41261,1,41886,11515,12135,65536,1
|
||||
257,2570000,10000,0,0,256,58,675,256,256,0,0,13946,40216,41261,1,41886,11515,12135,65536,1
|
||||
258,2580000,10000,0,0,256,58,679,256,256,0,0,13949,40216,41261,1,41886,11515,12135,65536,1
|
||||
259,2590000,10000,0,0,256,58,682,256,256,0,0,13952,40216,41261,1,41886,11515,12135,65536,1
|
||||
260,2600000,10000,0,0,256,58,685,256,256,0,0,13955,40216,41261,1,41886,11515,12135,65536,1
|
||||
261,2610000,10000,0,0,256,58,698,256,256,0,0,13956,40216,41261,1,41886,11515,12135,65536,1
|
||||
262,2620000,10000,0,0,256,58,711,256,256,0,0,13959,40216,41261,1,41886,11515,12135,65536,1
|
||||
263,2630000,10000,0,0,256,58,715,256,256,0,0,13962,40216,41261,1,41886,11515,12135,65536,1
|
||||
93,930000,18446744073707851616,0,0,22674,53,213,256,256,0,4895412794951728317,13969,40216,41261,0,41886,11515,12135,65536,1
|
||||
264,2640000,1710000,0,0,37417,58,750,256,256,0,4700052256123256832,13972,40216,41261,1,41886,11515,12135,65536,1
|
||||
265,2650000,10000,0,0,256,58,754,256,256,0,0,13975,40216,41261,1,41886,11515,12135,65536,1
|
||||
266,2660000,10000,0,0,256,58,705,256,256,0,0,13977,40216,41261,1,41886,11515,12135,65536,1
|
||||
267,2670000,10000,0,0,256,58,709,256,256,0,0,13979,40216,41261,1,41886,11515,12135,65536,1
|
||||
268,2680000,10000,0,0,256,58,712,256,256,0,0,13981,40216,41261,1,41886,11515,12135,65536,1
|
||||
269,2690000,10000,0,0,256,58,715,256,256,0,0,13983,40216,41261,1,41886,11515,12135,65536,1
|
||||
270,2700000,10000,0,0,256,58,719,256,256,0,0,13985,40216,41261,1,41886,11515,12135,65536,1
|
||||
271,2710000,10000,0,0,256,58,722,256,256,0,0,13987,40216,41261,1,41886,11515,12135,65536,1
|
||||
272,2720000,10000,0,0,256,57,726,256,256,0,0,13988,40216,41261,1,41886,11515,12135,65536,1
|
||||
273,2730000,10000,0,0,256,57,729,256,256,0,0,13991,40216,41261,1,41886,11515,12135,65536,1
|
||||
274,2740000,10000,0,0,256,56,743,256,256,0,0,13993,40216,41261,1,41886,11515,12135,65536,1
|
||||
275,2750000,10000,0,0,256,56,756,256,256,0,0,13996,40216,41261,1,41886,11515,12135,65536,1
|
||||
276,2760000,10000,0,0,256,56,739,256,256,0,0,13999,40216,41261,1,41886,11515,12135,65536,1
|
||||
277,2770000,10000,0,0,256,56,742,256,256,0,0,14002,40216,41261,1,41886,11515,12135,65536,1
|
||||
278,2780000,10000,0,0,256,56,746,256,256,0,0,14005,40216,41261,1,41886,11515,12135,65536,1
|
||||
737,7370000,4590000,0,0,123829,35,2594,256,256,0,4706675748528717824,14011,40216,41261,0,41886,11515,12135,65536,1
|
||||
279,2790000,18446744073704971616,0,0,63931,54,816,256,256,0,4895412794951726911,14013,40216,41261,1,41886,11515,12135,65536,1
|
||||
280,2800000,10000,0,0,256,54,819,256,256,0,0,14016,40216,41261,1,41886,11515,12135,65536,1
|
||||
281,2810000,10000,0,0,256,54,823,256,256,0,0,14018,40216,41261,1,41886,11515,12135,65536,1
|
||||
282,2820000,10000,0,0,256,54,827,256,256,0,0,14027,40216,41261,1,41886,11515,12135,65536,1
|
||||
283,2830000,10000,0,0,256,54,831,256,256,0,0,14030,40216,41261,1,41886,11515,12135,65536,1
|
||||
284,2840000,10000,0,0,256,54,776,256,256,0,0,14033,40216,41261,1,41886,11515,12135,65536,1
|
||||
285,2850000,10000,0,0,256,54,769,256,256,0,0,14037,40216,41261,1,41886,11515,12135,65536,1
|
||||
286,2860000,10000,0,0,256,54,772,256,256,0,0,14039,40216,41261,1,41886,11515,12135,65536,1
|
||||
287,2870000,10000,0,0,256,54,775,256,256,0,0,14042,40216,41261,1,41886,11515,12135,65536,1
|
||||
288,2880000,10000,0,0,256,54,790,256,256,0,0,14046,40216,41261,1,41886,11515,12135,65536,1
|
||||
289,2890000,10000,0,0,256,54,793,256,256,0,0,14048,40216,41261,1,41886,11515,12135,65536,1
|
||||
290,2900000,10000,0,0,256,54,831,256,256,0,0,14050,40216,41261,1,41886,11515,12135,65536,1
|
||||
291,2910000,10000,0,0,256,54,834,256,256,0,0,14054,40216,41261,1,41886,11515,12135,65536,1
|
||||
292,2920000,10000,0,0,256,54,917,256,256,0,0,14061,40216,41261,1,41886,11515,12135,65536,1
|
||||
293,2930000,10000,0,0,256,54,922,256,256,0,0,14063,40216,41261,1,41886,11515,12135,65536,1
|
||||
294,2940000,10000,0,0,256,54,926,256,256,0,0,14066,40216,41261,1,41886,11515,12135,65536,1
|
||||
295,2950000,10000,0,0,256,54,802,256,256,0,0,14071,40216,41261,1,41886,11515,12135,65536,1
|
||||
296,2960000,10000,0,0,256,54,805,256,256,0,0,14074,40216,41261,1,41886,11515,12135,65536,1
|
||||
408,4080000,1120000,0,0,35060,35,1391,256,256,0,4697518225418616832,14080,40216,41261,0,41886,11515,12135,65536,1
|
||||
297,2970000,18446744073708441616,0,0,68539,54,809,256,256,0,4895412794951728605,14084,40216,41261,1,41886,11515,12135,65536,1
|
||||
298,2980000,10000,0,0,256,54,812,256,256,0,0,14087,40216,41261,1,41886,11515,12135,65536,1
|
||||
299,2990000,10000,0,0,256,54,816,256,256,0,0,14090,40216,41261,1,41886,11515,12135,65536,1
|
||||
300,3000000,10000,0,0,256,54,842,256,256,0,0,14092,40216,41261,1,41886,11515,12135,65536,1
|
||||
301,3010000,10000,0,0,256,54,857,256,256,0,0,14094,40216,41261,1,41886,11515,12135,65536,1
|
||||
302,3020000,10000,0,0,256,54,861,256,256,0,0,14097,40216,41261,1,41886,11515,12135,65536,1
|
||||
303,3030000,10000,0,0,256,54,917,256,256,0,0,14099,40216,41261,1,41886,11515,12135,65536,1
|
||||
304,3040000,10000,0,0,256,54,843,256,256,0,0,14101,40216,41261,1,41886,11515,12135,65536,1
|
||||
305,3050000,10000,0,0,256,54,871,256,256,0,0,14104,40216,41261,1,41886,11515,12135,65536,1
|
||||
306,3060000,10000,0,0,256,54,875,256,256,0,0,14108,40216,41261,1,41886,11515,12135,65536,1
|
||||
307,3070000,10000,0,0,256,54,878,256,256,0,0,14111,40216,41261,1,41886,11515,12135,65536,1
|
||||
308,3080000,10000,0,0,256,54,882,256,256,0,0,14113,40216,41261,1,41886,11515,12135,65536,1
|
||||
309,3090000,10000,0,0,256,54,885,256,256,0,0,14115,40216,41261,1,41886,11515,12135,65536,1
|
||||
310,3100000,10000,0,0,256,54,889,256,256,0,0,14117,40216,41261,1,41886,11515,12135,65536,1
|
||||
311,3110000,10000,0,0,256,53,906,256,256,0,0,14120,40216,41261,1,41886,11515,12135,65536,1
|
||||
312,3120000,10000,0,0,256,53,909,256,256,0,0,14122,40216,41261,1,41886,11515,12135,65536,1
|
||||
313,3130000,10000,0,0,256,53,912,256,256,0,0,14124,40216,41261,1,41886,11515,12135,65536,1
|
||||
314,3140000,10000,0,0,256,53,916,256,256,0,0,14126,40216,41261,1,41886,11515,12135,65536,1
|
||||
315,3150000,10000,0,0,256,53,920,256,256,0,0,14128,40216,41261,1,41886,11515,12135,65536,1
|
||||
316,3160000,10000,0,0,256,53,980,256,256,0,0,14130,40216,41261,1,41886,11515,12135,65536,1
|
||||
317,3170000,10000,0,0,256,53,984,256,256,0,0,14132,40216,41261,1,41886,11515,12135,65536,1
|
||||
318,3180000,10000,0,0,256,53,1088,256,256,0,0,14133,40216,41261,1,41886,11515,12135,65536,1
|
||||
319,3190000,10000,0,0,256,53,1092,256,256,0,0,14135,40216,41261,1,41886,11515,12135,65536,1
|
||||
320,3200000,10000,0,0,256,53,1096,256,256,0,0,14136,40216,41261,1,41886,11515,12135,65536,1
|
||||
321,3210000,10000,0,0,256,53,941,256,256,0,0,14139,40216,41261,1,41886,11515,12135,65536,1
|
||||
322,3220000,10000,0,0,256,53,944,256,256,0,0,14141,40216,41261,1,41886,11515,12135,65536,1
|
||||
323,3230000,10000,0,0,256,53,948,256,256,0,0,14143,40216,41261,1,41886,11515,12135,65536,1
|
||||
324,3240000,10000,0,0,256,53,952,256,256,0,0,14150,40216,41261,1,41886,11515,12135,65536,1
|
||||
325,3250000,10000,0,0,256,53,955,256,256,0,0,14153,40216,41261,1,41886,11515,12135,65536,1
|
||||
326,3260000,10000,0,0,256,53,973,256,256,0,0,14155,40216,41261,1,41886,11515,12135,65536,1
|
||||
327,3270000,10000,0,0,256,53,991,256,256,0,0,14157,40216,41261,1,41886,11515,12135,65536,1
|
||||
328,3280000,10000,0,0,256,53,995,256,256,0,0,14159,40216,41261,1,41886,11515,12135,65536,1
|
||||
329,3290000,10000,0,0,256,53,1062,256,256,0,0,14161,40216,41261,1,41886,11515,12135,65536,1
|
||||
330,3300000,10000,0,0,256,53,1002,256,256,0,0,14164,40216,41261,1,41886,11515,12135,65536,1
|
||||
331,3310000,10000,0,0,256,53,976,256,256,0,0,14168,40216,41261,1,41886,11515,12135,65536,1
|
||||
332,3320000,10000,0,0,256,53,980,256,256,0,0,14171,40216,41261,1,41886,11515,12135,65536,1
|
||||
333,3330000,10000,0,0,256,53,984,256,256,0,0,14173,40216,41261,1,41886,11515,12135,65536,1
|
||||
334,3340000,10000,0,0,256,53,987,256,256,0,0,14177,40216,41261,1,41886,11515,12135,65536,1
|
||||
632,6320000,2980000,0,0,82603,37,2253,256,256,0,4703632437781987328,14184,40216,41261,0,41886,11515,12135,65536,1
|
||||
335,3350000,18446744073706581616,0,0,78267,53,991,256,256,0,4895412794951727697,14186,40216,41261,1,41886,11515,12135,65536,1
|
||||
336,3360000,10000,0,0,256,53,994,256,256,0,0,14188,40216,41261,1,41886,11515,12135,65536,1
|
||||
337,3370000,10000,0,0,256,53,998,256,256,0,0,14190,40216,41261,1,41886,11515,12135,65536,1
|
||||
338,3380000,10000,0,0,256,53,1002,256,256,0,0,14191,40216,41261,1,41886,11515,12135,65536,1
|
||||
339,3390000,10000,0,0,256,53,1005,256,256,0,0,14194,40216,41261,1,41886,11515,12135,65536,1
|
||||
340,3400000,10000,0,0,256,53,1008,256,256,0,0,14196,40216,41261,1,41886,11515,12135,65536,1
|
||||
341,3410000,10000,0,0,256,53,1012,256,256,0,0,14198,40216,41261,1,41886,11515,12135,65536,1
|
||||
342,3420000,10000,0,0,256,53,1078,256,256,0,0,14200,40216,41261,1,41886,11515,12135,65536,1
|
||||
343,3430000,10000,0,0,256,53,1082,256,256,0,0,14201,40216,41261,1,41886,11515,12135,65536,1
|
||||
344,3440000,10000,0,0,256,53,1196,256,256,0,0,14204,40216,41261,1,41886,11515,12135,65536,1
|
||||
345,3450000,10000,0,0,256,53,1200,256,256,0,0,14206,40216,41261,1,41886,11515,12135,65536,1
|
||||
527,5270000,1820000,0,0,52899,37,1850,256,256,0,4700524702525816832,14209,40216,41261,0,41886,11515,12135,65536,1
|
||||
346,3460000,18446744073707741616,0,0,81083,53,1204,256,256,0,4895412794951728263,14212,40216,41261,1,41886,11515,12135,65536,1
|
||||
347,3470000,10000,0,0,256,53,1209,256,256,0,0,14215,40216,41261,1,41886,11515,12135,65536,1
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -865,6 +865,53 @@ static void mama_word_vm_call(VM *vm)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief VM-HEAT ( c-addr u -- heat-q48 )
|
||||
* Push the named VM's current execution_heat_q48 (Q48.16, 0 if the VM is
|
||||
* unknown/dead), via vm_physics_heat_of() -- previously C-internal only
|
||||
* (doe_log_heat_by_name(), doe_log.c), never exposed to FORTH. Added
|
||||
* 2026-09-12 for a compudynamic turn-attractor (FABRIC-3.md §XIX): "whose
|
||||
* turn is next" decided by comparing live candidates' own current heat via
|
||||
* this word, the same density-comparison judgment stadium_admit() already
|
||||
* makes for eviction, rather than a fixed round-robin order. Silent on an
|
||||
* unknown name (returns 0, does not print/error) -- callers scanning many
|
||||
* VM names each turn to find the coolest one should not have to filter
|
||||
* console noise for names that are simply not currently live.
|
||||
*/
|
||||
static void mama_word_vm_heat(VM *vm)
|
||||
{
|
||||
char vm_name[VM_NAME_MAX];
|
||||
uint32_t i;
|
||||
cell_t vm_u, vm_caddr;
|
||||
const char *src;
|
||||
VMRegistryEntry entry;
|
||||
|
||||
if (vm->dsp < 1) { vm->error = 1; return; }
|
||||
|
||||
vm_u = vm_pop(vm);
|
||||
vm_caddr = vm_pop(vm);
|
||||
|
||||
if (vm_u <= 0 || (uint32_t)vm_u >= VM_NAME_MAX) {
|
||||
vm_push(vm, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
{
|
||||
const uint8_t *p = vm_ptr(vm, (vaddr_t)vm_caddr);
|
||||
if (!p) { vm->error = 1; return; }
|
||||
src = (const char *)p;
|
||||
}
|
||||
for (i = 0; i < (uint32_t)vm_u; i++) vm_name[i] = src[i];
|
||||
vm_name[vm_u] = '\0';
|
||||
|
||||
if (capsule_vm_find_by_name_nocase(vm_name, &entry) != 0) {
|
||||
vm_push(vm, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
vm_push(vm, (cell_t)vm_physics_heat_of(entry.vm_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief MINT ( -- ok? )
|
||||
* Mint a fresh identity onto the currently attached USB drive
|
||||
@@ -1586,6 +1633,7 @@ void register_mama_forth_words(VM *vm)
|
||||
register_word(vm, "VM-STEP", mama_word_vm_step);
|
||||
register_word(vm, "VM-EXEC", mama_word_vm_exec);
|
||||
register_word(vm, "VM-CALL", mama_word_vm_call);
|
||||
register_word(vm, "VM-HEAT", mama_word_vm_heat);
|
||||
register_word(vm, "CAPSULE-TEST", mama_word_capsule_test);
|
||||
|
||||
/* Create and switch to MAMA vocabulary */
|
||||
@@ -1623,6 +1671,7 @@ void register_mama_forth_words(VM *vm)
|
||||
register_word(vm, "VM-STEP", mama_word_vm_step);
|
||||
register_word(vm, "VM-EXEC", mama_word_vm_exec);
|
||||
register_word(vm, "VM-CALL", mama_word_vm_call);
|
||||
register_word(vm, "VM-HEAT", mama_word_vm_heat);
|
||||
register_word(vm, "CAPSULE-TEST", mama_word_capsule_test);
|
||||
register_word(vm, "EXEC", mama_word_exec);
|
||||
|
||||
@@ -1837,6 +1886,7 @@ void register_child_vm_words(VM *vm)
|
||||
register_word(vm, "EXEC", mama_word_exec);
|
||||
register_word(vm, "VM-EXEC", mama_word_vm_exec);
|
||||
register_word(vm, "VM-CALL", mama_word_vm_call);
|
||||
register_word(vm, "VM-HEAT", mama_word_vm_heat);
|
||||
/* USE (FABRIC-2.md §F.24): not console-specific -- any VM can
|
||||
* redirect the physical REPL to any other VM it has ACL access to
|
||||
* (BINDSTEP re-verifies on every call, §F.9), including a console
|
||||
|
||||
Reference in New Issue
Block a user