Files
LithosAnanake/experiments/bare_metal/runs/doe-amd64-20260811-210005.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

111 lines
7.4 KiB
CSV

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
1,10000,10000,0,0,183,4,45,731,731,0,0,0,65536,0,0,65536,0,0
2,20000,10000,0,0,173,5,44,582,582,0,0,0,65536,0,0,65536,0,0
3,30000,10000,0,0,184,6,60,582,582,0,0,0,65536,0,0,65536,0,0
4,40000,10000,0,0,174,8,71,4096,0,0,0,0,65536,0,0,65536,0,0
5,50000,10000,0,0,150,9,78,582,582,0,0,0,65536,0,0,65536,0,0
6,60000,10000,0,0,159,11,73,4096,0,0,0,0,65536,0,0,65536,0,0
7,70000,10000,0,0,188,15,71,685,685,0,0,0,65536,0,0,65536,0,0
8,80000,10000,0,0,214,16,83,685,685,0,0,0,65536,0,0,65536,0,0
9,90000,10000,0,0,216,19,82,4096,0,0,0,0,65536,0,0,65536,0,0
10,100000,10000,0,0,222,21,84,567,567,0,0,0,65536,0,0,65536,0,0
11,110000,10000,0,0,207,23,86,731,731,0,0,0,65536,0,0,65536,0,0
12,120000,10000,0,0,189,26,83,4096,0,0,0,0,65536,0,0,65536,0,0
13,130000,10000,0,0,221,28,80,731,731,0,0,0,65536,0,0,65536,0,0
14,140000,10000,0,0,204,29,83,685,685,0,0,0,65536,0,0,65536,0,0
15,150000,10000,0,0,203,30,82,731,731,0,0,0,65536,0,0,65536,0,0
16,160000,10000,0,0,201,32,83,567,567,0,0,0,65536,0,0,65536,0,0
17,170000,10000,0,0,190,34,86,731,731,0,0,0,65536,0,0,65536,0,0
18,180000,10000,0,0,170,35,73,582,582,0,0,0,65536,0,0,65536,0,0
19,190000,10000,0,0,154,35,40,731,731,0,0,0,65536,0,0,65536,0,0
20,200000,10000,0,0,154,35,38,567,567,0,0,0,65536,0,0,65536,0,0
21,210000,10000,0,0,153,38,37,4096,0,0,0,0,65536,0,0,65536,0,0
22,220000,10000,0,0,167,39,38,582,582,0,0,0,65536,0,0,65536,0,0
23,230000,10000,0,0,176,14,39,685,685,0,0,0,65536,0,0,65536,0,0
24,240000,10000,0,0,175,10,25,731,731,0,0,0,65536,0,0,65536,0,0
25,250000,10000,0,0,196,11,23,731,731,0,0,0,65536,0,0,65536,0,0
26,260000,10000,0,0,192,14,24,4096,0,0,0,0,65536,0,0,65536,0,0
27,270000,10000,0,0,158,16,30,685,685,0,0,0,65536,0,0,65536,0,0
28,280000,10000,0,0,158,17,23,4096,0,0,0,0,65536,0,0,65536,0,0
29,290000,10000,0,0,164,17,27,4096,0,0,0,0,65536,0,0,65536,0,0
30,300000,10000,0,0,154,18,26,685,685,0,0,0,65536,0,0,65536,0,0
31,310000,10000,0,0,172,6,25,582,582,0,0,0,65536,0,0,65536,0,0
32,320000,10000,0,0,180,9,22,567,567,0,0,0,65536,0,0,65536,0,0
33,330000,10000,0,0,145,11,29,567,567,0,0,0,65536,0,0,65536,0,0
34,340000,10000,0,0,203,14,30,582,582,0,0,0,65536,0,0,65536,0,0
35,350000,10000,0,0,154,16,36,731,731,0,0,0,65536,0,0,65536,0,0
36,360000,10000,0,0,144,18,32,4096,0,0,0,0,65536,0,0,65536,0,0
37,370000,10000,0,0,144,18,29,4096,0,0,0,0,65536,0,0,65536,0,0
38,380000,10000,0,0,132,18,28,4096,0,0,0,0,65536,0,0,65536,0,0
39,390000,10000,0,0,180,18,24,4096,0,0,0,0,65536,0,0,65536,0,0
40,400000,10000,0,0,220,23,20,4096,0,0,0,0,65536,0,0,65536,0,0
41,410000,10000,0,0,215,25,19,4096,24,0,0,0,65536,0,0,65536,0,0
42,420000,10000,0,0,208,32,20,4096,24,0,0,0,65536,0,0,65536,0,0
43,430000,10000,0,0,177,36,19,4096,24,0,0,0,65536,0,0,65536,0,0
44,440000,10000,0,0,199,42,20,4096,24,0,0,0,65536,0,0,65536,0,0
45,450000,10000,0,0,223,47,19,4096,30,0,0,0,65536,0,0,65536,0,0
46,460000,10000,0,0,202,50,17,4096,67,0,0,0,65536,0,0,65536,0,0
47,470000,10000,0,0,218,57,18,4096,198,0,0,0,65536,0,0,65536,0,0
48,480000,10000,0,0,221,60,20,4096,350,0,0,0,65536,0,0,65536,0,0
49,490000,10000,0,0,225,66,20,4096,528,0,0,0,65536,0,0,65536,0,0
50,500000,10000,0,0,214,69,21,4096,694,0,0,0,65536,0,0,65536,0,0
51,510000,10000,0,0,227,71,23,4096,883,0,0,0,65536,0,0,65536,0,0
52,520000,10000,0,0,208,71,23,4096,1043,0,0,0,65536,0,0,65536,0,0
53,530000,10000,0,0,207,71,25,4096,1202,0,0,0,65536,0,0,65536,0,0
54,540000,10000,0,0,200,71,26,4096,1319,0,0,0,65536,0,0,65536,0,0
55,550000,10000,0,0,205,72,27,4096,1464,0,0,0,65536,0,0,65536,0,0
56,560000,10000,0,0,211,73,27,4096,1620,0,0,0,65536,0,0,65536,0,0
57,570000,10000,0,0,193,80,28,4096,1712,0,0,0,65536,0,0,65536,0,0
58,580000,10000,0,0,185,4,61,4096,1757,0,0,0,65536,0,0,65536,0,0
59,590000,10000,0,0,81,7,32,4096,1757,0,0,0,65536,0,0,65536,0,0
60,600000,10000,0,0,52,10,28,4096,1757,0,0,0,65536,0,0,65536,0,0
61,610000,10000,0,0,63,17,25,4096,1757,0,0,0,65536,0,0,65536,0,0
62,620000,10000,0,0,85,19,24,4096,1757,0,0,0,65536,0,0,65536,0,0
63,630000,10000,0,0,68,20,23,4096,1757,0,0,0,65536,0,0,65536,0,0
64,640000,10000,0,0,39,20,23,4096,1757,0,0,0,65536,0,0,65536,0,0
65,650000,10000,0,0,45,20,25,4096,1757,0,0,0,65536,0,0,65536,0,0
66,660000,10000,0,0,42,20,29,4096,1757,0,0,0,65536,0,0,65536,0,0
67,670000,10000,0,0,47,20,31,4096,1757,0,0,0,65536,0,0,65536,0,0
68,680000,10000,0,0,43,20,34,4096,1757,0,0,0,65536,0,0,65536,0,0
69,690000,10000,0,0,48,20,35,4096,1757,0,0,0,65536,0,0,65536,0,0
70,700000,10000,0,0,48,21,38,4096,1757,0,0,0,65536,0,0,65536,0,0
71,710000,10000,0,0,44,22,39,4096,1757,0,0,0,65536,0,0,65536,0,0
72,720000,10000,0,0,130,24,27,4096,1757,0,0,0,65536,0,0,65536,0,0
73,730000,10000,0,0,134,26,21,4096,1757,0,0,0,65536,0,0,65536,0,0
1,10000,18446744073708831616,0,0,117,4,4,4096,0,0,4895412794951728796,12,65536,0,0,65536,0,0
2,20000,10000,0,0,78,10,7,4096,0,0,0,16,65536,0,0,65536,0,0
3,30000,10000,0,0,101,13,7,4096,0,0,0,21,65536,0,0,65536,0,0
4,40000,10000,0,0,63,19,8,4096,0,0,0,24,65536,0,0,65536,0,0
5,50000,10000,0,0,92,25,8,4096,2,0,0,30,65536,0,0,65536,0,0
6,60000,10000,0,0,64,27,8,4096,2,0,0,34,65536,0,0,65536,0,0
7,70000,10000,0,0,228,32,8,4096,210,0,0,115,65536,0,0,65536,0,0
8,80000,10000,0,0,256,34,9,4096,466,0,0,213,65536,0,0,65536,0,0
9,90000,10000,0,0,256,36,10,4096,722,0,0,314,65536,0,0,65536,0,0
10,100000,10000,0,0,256,36,11,4096,978,0,0,410,65536,0,0,65536,0,0
11,110000,10000,0,0,256,36,11,4096,1234,0,0,513,65536,0,0,65536,0,0
12,120000,10000,0,0,256,36,12,4096,1490,0,0,606,65536,0,0,65536,0,0
13,130000,10000,0,0,256,37,12,4096,1746,0,0,700,65536,0,0,65536,0,0
14,140000,10000,0,0,230,39,12,4096,1949,0,0,776,65536,0,0,65536,0,0
15,150000,10000,0,0,256,39,13,4096,2204,0,0,873,65536,0,0,65536,0,0
16,160000,10000,0,0,256,39,14,4096,2459,0,0,969,65536,0,0,65536,0,0
17,170000,10000,0,0,256,39,15,4096,2713,0,0,1067,65536,0,0,65536,0,0
18,180000,10000,0,0,256,39,15,4096,2969,0,0,1166,65536,0,0,65536,0,0
19,190000,10000,0,0,256,39,16,4096,3224,0,0,1266,65536,0,1,65536,0,0
20,200000,10000,0,0,256,41,17,4096,3480,0,0,1366,65536,0,1,65536,0,0
21,210000,10000,0,0,256,41,17,4096,3736,0,0,1460,65536,0,1,65536,0,0
22,220000,10000,0,0,256,41,18,4096,3992,0,0,1578,65536,0,1,65536,0,0
23,230000,10000,0,0,256,41,19,4096,4096,0,0,1693,65536,0,1,65536,0,0
24,240000,10000,0,0,256,41,20,4096,4096,0,0,1787,65536,0,1,65536,0,0
25,250000,10000,0,0,256,43,20,2048,2048,0,0,1882,65536,0,1,65536,0,0
26,260000,10000,0,0,256,45,21,2048,2048,0,0,1979,65536,0,1,65536,0,0
27,270000,10000,0,0,256,45,22,1024,1024,0,0,2075,65536,0,1,65536,0,0
28,280000,10000,0,0,256,45,23,1024,1024,0,0,2176,65536,0,1,65536,0,0
29,290000,10000,0,0,256,45,24,512,512,0,0,2273,65536,0,1,65536,0,0
30,300000,10000,0,0,256,45,24,512,512,0,0,2367,65536,0,1,65536,0,0
31,310000,10000,0,0,256,45,25,256,256,0,0,2461,65536,0,1,65536,0,0
32,320000,10000,0,0,255,45,26,256,256,0,0,2553,65536,0,1,65536,0,0
33,330000,10000,0,0,256,45,27,256,256,0,0,2649,65536,0,1,65536,0,0
34,340000,10000,0,0,256,45,27,256,256,0,0,2742,65536,0,1,65536,0,0
35,350000,10000,0,0,256,45,28,256,256,0,0,2835,65536,0,1,65536,0,0
36,360000,10000,0,0,256,45,29,256,256,0,0,2928,65536,0,1,65536,0,0