LOG search — previous / next match arrows

The Studio LOG tab header (ExecutionLogTab.jsx). Today the header is [search] 3/17 … [fold-all] [copy] and “next match” is Enter-only. The proposal puts an ArrowLeft / ArrowRight pair around the counter — arrows rather than chevrons, because chevrons already mean fold everywhere in this UI (including the fold-all button at the right end of this very strip).

Scaffold — hand-drawn, no harness exists for this region

There is no ExecutionLogTab.fiddle.jsx, so this is an approximation — but every value in the header strip below is copied verbatim from the component’s inline styles and shared tokens (height 30, gap 8, padding 0 8px, input 190×22 / radius 3 / font 11, counter font 10, IconButton variant="toolbar" padding 6 / radius 6, COLORS from logTheme.js, real JetBrains Mono). The header strip is what this session is about; the log body and rail beneath it are context only.

14px
6px
2px
arrow-size: 14px · button-padding: 6px · cluster-gap: 2px

Dial these live, then copy the readout and paste it into the planning chat — I can’t read your browser state, so those numbers only reach the plan if you hand them back.

Proposed — active search

clean_customers
2 warns
exit 01.84s
[NODE] clean_customers started
[CONFIG] config - 6 lines
[STDOUT] loaded 12480 rows from customers.csv
[STDOUT] dropped 31 rows with null email
[STDERR] 4 rows failed date coercion
[STDOUT] wrote 12449 rows to clean_customers.parquet

Current hit is amber #f59e0b, the rest pale #fef3c7 — unchanged from today. What changes is that 3/17 is now flanked and clickable, and that typing a term scrolls hit 1 into view instead of silently claiming 1/17.

Arrows are 14px — the value ICON_SM carries on the unmerged origin/kuba icon scale (“the default: every header action, tab-bar control, tree row, toolbar”), and already what the fold-all and copy glyphs in this same strip use. The token does not exist on main, so this ships as a literal 14 and the future icon-scale sweep rewrites it along with the other literals in this file.

Proposed — the other states

empty box → 0/0, both arrows disabled (not hidden — the strip must not reflow as you type)

dense log → 128/1204 (the widest the counter realistically gets)

narrow region (bottom pane dragged in) → search box hits its 36vw clamp, cluster stays put

Today, for comparison

3/17