Fix COOL's misleading (stub) label too
Same fix as DELIVER, on request. COOL is real and live for both words (item 4.1) and VMs (this session) -- stadium_evict()'s own universal reservoir credit is the whole of what "cooling off the floor" means for both, no extra payload action needed. stadium_dispatch()'s COOL case now prints the departing patron's identity (word_id for a word, 0 -- the patron-zero convention -- for a VM) instead of "(stub)". Verified live: both shapes fired correctly on the same boot -- "COOL identity=0" at Hermes's/Artemis's own explicit channel-eviction self-test and again at their VM-patron eviction at PARITY:KILL, "COOL identity=1" at a second channel eviction -- conservation intact throughout. Clean zero-warning compile and clean boot with conservation intact 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
89723793fe
commit
329677b077
+8
-4
@@ -404,10 +404,14 @@ other three become honest, explicit punch-list items instead of being touched sp
|
||||
`DELIVER` case now prints the departing message's real identity (`DELIVER msg_idx=N`, same
|
||||
shape as `MIGRATE`'s `lbn=` print) instead of a misleading `(stub)` label — confirmed live
|
||||
via a forced `MSG-SEND`/`MSG-DELIVER-ALL`/`MSG-ACK-LAST` sequence from Hermes's own REPL
|
||||
context (`Stadium: dispatch cell=73653 behaviour=DELIVER msg_idx=1`). `COOL`'s case is in
|
||||
the identical situation (real for both words and VMs, no extra action needed) but was left
|
||||
printing `(stub)` — out of scope for this pass, noted in `stadium.c`'s own comment. Clean
|
||||
zero-warning compile and clean boot with conservation intact on all three architectures.
|
||||
context (`Stadium: dispatch cell=73653 behaviour=DELIVER msg_idx=1`). `COOL`'s case was in
|
||||
the identical situation (real for both words and VMs, no extra action needed) and, on
|
||||
request, got the same fix (2026-08-26): now prints `COOL identity=N` (word_id for a word, 0
|
||||
— the patron-zero convention — for a VM) instead of `(stub)`. Confirmed live: both shapes
|
||||
fired correctly on the same boot — `COOL identity=0` at Hermes's/Artemis's own explicit
|
||||
channel-eviction self-test and again at their VM-patron eviction at `PARITY:KILL`,
|
||||
`COOL identity=1` at a second channel eviction — conservation intact throughout. Clean
|
||||
zero-warning compile and clean boot on all three architectures for both fixes.
|
||||
- [ ] `EXPIRE` (ACL) — confirmed genuinely unscoped (2026-08-26), not a case of stale
|
||||
documentation like `DELIVER` turned out to be. Two findings, then four open questions that
|
||||
need a real decision before any code:
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+16
-10
@@ -272,10 +272,16 @@ uint8_t *stadium_header_bitmap(void) {
|
||||
* message's identity, same shape as MIGRATE's lbn print, instead of
|
||||
* claiming to be unimplemented.
|
||||
*
|
||||
* EXPIRE (ACL) and COOL (VMs, item 3.5) print "(stub)"/status text for
|
||||
* their own separate reasons -- EXPIRE has no ACL-Stadium integration of
|
||||
* any kind yet (FABRIC-3.md §B, genuinely unscoped); COOL's own status is
|
||||
* documented at its own case below.
|
||||
* COOL (words, item 4.1; VMs, FABRIC-3.md §B) needs no extra payload action
|
||||
* here either, same reasoning as DELIVER: stadium_evict()'s own universal
|
||||
* reservoir credit is the whole of what "cooling off the floor" means for
|
||||
* both patron kinds -- real and live for both since item 4.1 and this
|
||||
* session respectively. Fixed the same way, to print the departing
|
||||
* patron's identity (word_id for a word, 0 -- the patron-zero convention --
|
||||
* for a VM) instead of a misleading "(stub)" label.
|
||||
*
|
||||
* EXPIRE (ACL) alone remains genuinely unbuilt -- no ACL-Stadium
|
||||
* integration of any kind exists yet (FABRIC-3.md §B).
|
||||
*/
|
||||
void stadium_dispatch(size_t cell_index, StadiumBehaviour behaviour) {
|
||||
console_puts("Stadium: dispatch cell=");
|
||||
@@ -300,13 +306,13 @@ void stadium_dispatch(size_t cell_index, StadiumBehaviour behaviour) {
|
||||
case STADIUM_BEHAVIOUR_EXPIRE:
|
||||
console_println("EXPIRE (stub)");
|
||||
break;
|
||||
case STADIUM_BEHAVIOUR_COOL:
|
||||
/* Real for words (item 4.1) and VMs (FABRIC-3.md SS B) -- both
|
||||
* confirmed to need no extra payload action here either, same
|
||||
* reasoning as DELIVER above. Left printing "(stub)" for now:
|
||||
* only DELIVER's label was in scope for this fix. */
|
||||
console_println("COOL (stub)");
|
||||
case STADIUM_BEHAVIOUR_COOL: {
|
||||
uint64_t identity = stadium_cell_array[cell_index].header.identity;
|
||||
console_puts("COOL identity=");
|
||||
console_put_u64(identity);
|
||||
console_println("");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user