---
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.
