Files
LithosAnanake/experiments/bare_metal/latest/amd64.csv
T
Robert Allan JamesandClaude Sonnet 5 1f3ec3554e starkernel: REPL scrollback, ~1000 lines (FABRIC.md item 4.4q)
Scope decided with Captain Bob before implementation: ring buffer +
recall on today's full-screen vt100 grid, not also confining REPL text
to the 4.4o 640x480 box (that confinement stays open as its own future
item, not a third silent deferral). No keyboard input path exists yet
(M8 unstarted), so the trigger is two new FORTH words, SCROLL-BACK
( n -- ) / SCROLL-FWD ( n -- ), exercised via serial injection.

vt100.c gains a text-only 1000-line ring buffer (kmalloc'd, tens of KB
-- not pixel snapshots, which would be ~1000x larger for no benefit)
plus a shadow buffer mirroring the current screen. scroll_up() now
pushes evicted rows into the ring before the pixel scroll. History is
one continuous sequence (ring then shadow); scrolling always redraws
from that sequence -- no separate pixel-scroll path for scrollback,
decided up front to avoid retrofitting later.

New src/word_source/scroll_words.c (Module 31), thin wrappers over
console_fb_scroll_back()/_fwd() -> vt100_scroll_back()/_fwd(). Bug
caught during live testing: both words initially used an off-by-one
underflow check (dsp < 1) copied from a different, older dsp
convention elsewhere in this codebase; vm_pop() (which these words
actually call) uses dsp as a 0-based top-of-stack index, so the check
rejected every legitimate single-argument call. Fixed by removing the
separate precheck and relying on vm_pop()'s own guard.

Live-verified on all three architectures (exceeds this item's
amd64-minimum bar): generated 50+ lines via a FORTH loop, confirmed
SCROLL-BACK recovers correctly older content, and on amd64 confirmed
SCROLL-FWD returns to genuinely live state (not a frozen snapshot) by
showing the injected commands' own echo. Known limitation confirmed by
direct pixel measurement: redrawn lines lose their original SGR color
(not stored per-cell) -- text recovers exactly, color does not.

Three-arch verified: Failed: 0, dict-hashes identical across all
three (values changed correctly from prior items -- two new words
were added).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 21:23:25 -04:00

7.4 KiB

1tick_numberelapsed_nstick_interval_nscache_hits_deltabucket_hits_deltaword_executions_deltahot_word_countavg_word_heat_q48window_widthactual_window_sizepredicted_label_hitsjitter_bitsapic_tickstime_trust_q48variance_q48vm_call_depth_maxhera_heat_q48hermes_heat_q48artemis_heat_q48
2110000100000018344573173100065536006553600
3220000100000017354458258200065536006553600
4330000100000018466058258200065536006553600
544000010000001748714096000065536006553600
6550000100000015097858258200065536006553600
7660000100000015911734096000065536006553600
87700001000000188157168568500065536006553600
98800001000000214168368568500065536006553600
10990000100000021619824096000065536006553600
11101000001000000222218456756700065536006553600
12111100001000000207238673173100065536006553600
1312120000100000018926834096000065536006553600
14131300001000000221288073173100065536006553600
15141400001000000204298368568500065536006553600
16151500001000000203308273173100065536006553600
17161600001000000201328356756700065536006553600
18171700001000000190348673173100065536006553600
19181800001000000170357358258200065536006553600
20191900001000000154354073173100065536006553600
21202000001000000154353856756700065536006553600
2221210000100000015338374096000065536006553600
23222200001000000167393858258200065536006553600
24232300001000000176143968568500065536006553600
25242400001000000175102573173100065536006553600
26252500001000000196112373173100065536006553600
2726260000100000019214244096000065536006553600
28272700001000000158163068568500065536006553600
2928280000100000015817234096000065536006553600
3029290000100000016417274096000065536006553600
31303000001000000154182668568500065536006553600
3231310000100000017262558258200065536006553600
3332320000100000018092256756700065536006553600
34333300001000000145112956756700065536006553600
35343400001000000203143058258200065536006553600
36353500001000000154163673173100065536006553600
3736360000100000014418324096000065536006553600
3837370000100000014418294096000065536006553600
3938380000100000013218284096000065536006553600
4039390000100000018018244096000065536006553600
4140400000100000022023204096000065536006553600
42414100001000000215251940962400065536006553600
43424200001000000208322040962400065536006553600
44434300001000000177361940962400065536006553600
45444400001000000199422040962400065536006553600
46454500001000000223471940963000065536006553600
47464600001000000202501740966700065536006553600
484747000010000002185718409619800065536006553600
494848000010000002216020409635000065536006553600
504949000010000002256620409652800065536006553600
515050000010000002146921409669400065536006553600
525151000010000002277123409688300065536006553600
5352520000100000020871234096104300065536006553600
5453530000100000020771254096120200065536006553600
5554540000100000020071264096131900065536006553600
5655550000100000020572274096146400065536006553600
5756560000100000021173274096162000065536006553600
5857570000100000019380284096171200065536006553600
595858000010000001854614096175700065536006553600
60595900001000000817324096175700065536006553600
616060000010000005210284096175700065536006553600
626161000010000006317254096175700065536006553600
636262000010000008519244096175700065536006553600
646363000010000006820234096175700065536006553600
656464000010000003920234096175700065536006553600
666565000010000004520254096175700065536006553600
676666000010000004220294096175700065536006553600
686767000010000004720314096175700065536006553600
696868000010000004320344096175700065536006553600
706969000010000004820354096175700065536006553600
717070000010000004821384096175700065536006553600
727171000010000004422394096175700065536006553600
7372720000100000013024274096175700065536006553600
7473730000100000013426214096175700065536006553600
7511000018446744073708831616001174440960048954127949517287961365536006553600
7622000010000007810740960001765536006553600
77330000100000010113740960002165536006553600
7844000010000006319840960002465536006553600
7955000010000009225840962003065536006553600
8066000010000006427840962003465536006553600
81770000100000022832840962100011365536006553600
82880000100000025634940964660020665536006553600
839900001000000256361040967220030465536006553600
84101000001000000256361140969780040365536006553600
851111000010000002563611409612340050265536006553600
861212000010000002563612409614900059465536006553600
871313000010000002563712409617460069065536006553600
881414000010000002303912409619490076665536006553600
891515000010000002563913409622040085865536006553600
901616000010000002563914409624590095065536006553600
9117170000100000025639154096271300104265536006553600
9218180000100000025639154096296900113565536006553600
9319190000100000025639164096322400122865536016553600
9420200000100000025641174096348000132065536016553600
9521210000100000025641174096373600141265536016553600
9622220000100000025641184096399200150465536016553600
9723230000100000025641194096409600159865536016553600
9824240000100000025641204096409600169465536016553600
9925250000100000025643202048204800178865536016553600
10026260000100000025645212048204800188165536016553600
10127270000100000025645221024102400197865536016553600
10228280000100000025645231024102400207165536016553600
103292900001000000256452451251200216465536016553600
104303000001000000256452451251200225965536016553600
105313100001000000256452525625600235165536016553600
106323200001000000255452625625600244365536016553600
107333300001000000256452725625600253665536016553600
108343400001000000256452725625600263265536016553600
109353500001000000256452825625600272665536016553600
110363600001000000256452925625600281865536016553600