Add Artemis compudynamics implementation plan; add stress campaign fixture
The 30-replicate Artemis surface-stress campaign ran across all three architectures: 30 reps x 50 trials x 3 arches = 4500 trials, zero failures. The block_words.c stale-pointer cache-aliasing fix holds at scale. Adds ART-STRESS-CAMPAIGN (block 4174) plus ART-STRESS-REP rep-tagging in the CSV header/summary emitters, so a multi-replicate run is distinguishable in the serial log. Campaign auto-invoke is left enabled in block 4170 for now; Makefile.starkernel's QEMU boot deadlines stay at 12h to accommodate long-running experiments. Adds docs/working/architecture/ARTEMIS-COMPUDYNAMICS-IMPLEMENTATION-PLAN-20260802.md, which documents the real gap this campaign exposed: block heat and message heat do not decay at all. ART-TICK has zero call sites anywhere in the tree, and HERMES-TICK has zero C call sites -- every caller is Hera poking it by hand. BLK-HEAT@/MSG-HEAT@ read a number nothing ages, so blocks never reap by cooling and message TTL never expires on its own. The plan mirrors word-level physics as the reference model: lazy decay at each access point against vm->heartbeat.tick_count, plus a bounded background sweep with a resumable cursor (the existing answer to "sweeping 22,998 blocks per tick is too expensive"). Phase 1 Artemis, Phase 2 Hermes, Phase 3 K participation deferred behind the Logical BAM. The plan's preamble also records a wrong turn taken while investigating: chasing VM-fleet heat instead of block heat, and building synthetic Hera-driven VM-EXEC calls to force a physics reading -- which TRIPOD.md prohibits outright. That work was reverted; the record is kept so it isn't repeated. Status: plan approved in shape, NOT final and NOT started. Six open questions need answers and further design discussion is pending. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
1cb68502fb
commit
7597a9ccd4
@@ -263,6 +263,7 @@ VARIABLE S-IDX
|
||||
VARIABLE S-STRIDE
|
||||
VARIABLE S-CUR
|
||||
VARIABLE S-ACTUAL
|
||||
VARIABLE ART-STRESS-REP
|
||||
Block 4161
|
||||
( Trial record accessors )
|
||||
: SLBN@ ( i -- lbn ) CELLS ART-STRESS-LBN + @ ;
|
||||
@@ -274,7 +275,8 @@ Block 4172
|
||||
( so it can be grepped like the DoE CSVs. Every )
|
||||
( trial emits a row, pass or fail -- no silent skips. )
|
||||
: SCSV-HEADER ( n -- )
|
||||
." [ARTSTRESS] HEADER,n=" DUP . CR
|
||||
." [ARTSTRESS] HEADER,rep=" ART-STRESS-REP @ .
|
||||
." ,n=" DUP . CR
|
||||
." [ARTSTRESS] trial,lbn,pat,result" CR ;
|
||||
: SCSV-ROW ( -- )
|
||||
." [ARTSTRESS] "
|
||||
@@ -288,8 +290,8 @@ Block 4173
|
||||
( its absence means the data is incomplete, full )
|
||||
( stop, not "probably fine." )
|
||||
: SCSV-SUMMARY ( -- )
|
||||
." [ARTSTRESS] SUMMARY,"
|
||||
ART-STRESS-N @ . ." ,"
|
||||
." [ARTSTRESS] SUMMARY,rep=" ART-STRESS-REP @ .
|
||||
." ," ART-STRESS-N @ . ." ,"
|
||||
ART-STRESS-PASS @ . ." ,"
|
||||
ART-STRESS-FAIL @ . CR ;
|
||||
Block 4162
|
||||
@@ -396,12 +398,25 @@ Block 4169
|
||||
ART-STRESS-RUN ART-STRESS-REPORT
|
||||
ART-STRESS-CLEANUP ;
|
||||
: ART-STRESS ( -- ) 424242 50 ART-STRESS-TEST ;
|
||||
Block 4174
|
||||
( Campaign driver -- N independent replicate runs, )
|
||||
( each a distinct seed, for statistical power )
|
||||
( (Captain Bob: minimum 30 reps). Emits a CAMPAIGN )
|
||||
( marker so analysis can auto-detect N from the log. )
|
||||
30 CONSTANT ART-STRESS-NREPS
|
||||
: ART-STRESS-SEED ( i -- seed ) 1009 * 424242 + ;
|
||||
: ART-STRESS-CAMPAIGN ( -- )
|
||||
." [ARTSTRESS] CAMPAIGN,nreps=" ART-STRESS-NREPS . CR
|
||||
ART-STRESS-NREPS 0 DO
|
||||
I ART-STRESS-REP !
|
||||
I ART-STRESS-SEED 50 ART-STRESS-TEST
|
||||
LOOP
|
||||
." [ARTSTRESS] CAMPAIGN-DONE" CR ;
|
||||
Block 4170
|
||||
( Disabled by default -- uncomment to run the surface )
|
||||
( stress test automatically at every boot. Normally )
|
||||
( invoked manually instead: ART-STRESS or )
|
||||
( <seed> <reps> ART-STRESS-TEST from the console. )
|
||||
\ ART-STRESS
|
||||
( TEMP: 30-replicate campaign enabled for the )
|
||||
( K-invariant/heartbeat verification run. Revert to )
|
||||
( "\ ART-STRESS" (disabled) once that run is done. )
|
||||
ART-STRESS-CAMPAIGN
|
||||
Block 4851
|
||||
( Cheap touch target for Phase 3 fleet DoE workload -- O(1), )
|
||||
( unlike ART-TICK/ART-STATUS which scan all ART-DATA-BLKS. )
|
||||
|
||||
Reference in New Issue
Block a user