--- model: openai/gpt-5.6-sol service: opencode session: unavailable timestamp: 2026-08-14T03:27:16Z git_ref: 2aa66c2c scope: code substantive: true raw_file: 20260814T032716Z_2aa66c2c_prompt_io.raw.md --- ## Prompt Prototype chart-actor-owned gap overlays from the current backfiller tip, with actor-local startup and UI toggling. Preserve remote annotation IPC and make the gap-specific path strict and `msgspec`-typed. ## Response summary Adds a chart-local controller and vectorized SHM detector, starts historical gap overlays with display state, toggles the focused timeframe through the existing input loop and exposes the same renderer through a strict Tractor payload context. Keeps all legacy remote annotation commands and separates local graphics from each remote context's teardown ownership. ## Files changed - `piker/ui/_gaps.py` - typed messages, detection and local controller. - `piker/ui/_remote_ctl.py` - IPC clients and chart-actor endpoints. - `piker/ui/_display.py` - actor-local startup integration. - `piker/ui/_interaction.py` - focused `Ctrl+G` toggle. - `piker/ui/_widget.py` - controller reference. - `piker/ui/_annotate.py` - safe FQME-aware repositioning. - `piker/tsp/_annotate.py` - typed annotation-client reference. - `piker/storage/cli.py` - renamed annotation client context. - `tests/test_gap_overlays.py` - detector and schema regression. - `tests/test_ldshm.py` - renamed annotation-client test seams. - `plans/opencode/chart-local-gap-overlays.md` - architecture and landing plan. ## Human edits None - the work remains an uncommitted disposable-worktree prototype for human review and live chart qualification.