Turn Document
Durable Options Tape History
Implemented the durable options tape plan: the live hot head is capped at 100 rows, older rows are preserved behind the scroll gate, ClickHouse history keeps execution context, and the Filter menu now exposes Signal versus All prints semantics.
Summary
The options tape now behaves as a continuous instrument: the live cache stays lean, historical rows arrive only when scrolling asks for them, and old valid rows are not treated as degraded just because they came from durable history.
Changes Made
- Changed the API default options live cache limit to
100. - Removed the unused scoped live auto-hydration path so history is loaded by the scroll gate.
- Fixed unbounded options/equities history retention so a cap of
0means keep the loaded tail. - Added a Filter menu
Options Viewtoggle forSignalandAll prints. - Ensured All prints clears signal-only side/type/min-notional/security constraints.
- Added a destructive ClickHouse reset runbook for local and VPS operators.
Context
The prior plan called out useful partial work already in the repo: ClickHouse history endpoints, execution-context columns, scroll-hold behavior, and a shared row renderer. This implementation keeps those pieces and removes the ambiguous history/autohydration behavior around them.
Important Implementation Details
/history/optionsstill uses the selected option filters and scope, including raw contract drilldowns.- Storage tests now verify execution NBBO side, underlying spot, IV, and signal reasons survive normalization.
- The options row path already preferred
execution_nbbo_side,execution_underlying_spot, andexecution_iv; tests cover that behavior. - The reset runbook is documented in
docs/clickhouse-reset-runbook.mdand is explicitly operator-confirmed.
Expected Impact for End-Users
Traders can stay on a signal-first tape by default, switch to raw prints when investigating, and scroll into older ClickHouse-backed flow without seeing a separate stale-history treatment.
Validation
- Passed:
bun test packages/storage/tests/option-prints.test.ts services/api/tests/live.test.ts apps/web/app/terminal.test.ts - Passed:
bun --cwd=apps/web run build
Issues, Limitations, and Mitigations
- The ClickHouse reset remains destructive. Mitigation: documented as a manual runbook only, never automatic startup behavior.
- No live browser smoke test was run in this turn. Mitigation: unit coverage and production build exercised the changed web paths.
Follow-up Work
No new follow-up issue was needed. The implementation task is tracked and completed in islandflow-200.