_type: issue

title: Fix deploy precheck shell pattern generation

description: Fix the deploy precheck shell-pattern generation introduced while allowing known untracked server paths. The generated remote bash case statement needs a valid combined pattern so ./deploy main can complete on the live server.

status: closed

issue_type: bug

assignee: dirtydishes

created_by: dirtydishes

close_reason: Completed


title: Fix production compose shared-network topology

description: Restore the production Docker topology so the merged deploy workflow actually matches the live proxy setup. Update deployment/docker/docker-compose.yml on the working branch so web and api attach to the shared npm-shared network instead of relying on loopback host port bindings, then validate the compose config and document any rollout implications.


title: Implement safe VPS deploy modes

description: Implement a safe local deploy entrypoint for the existing Islandflow VPS checkout. Add two rollout modes: deploy origin/main and deploy the current local branch. Use explicit SSH identity flags, preserve the shared npm-shared network topology, avoid destructive git cleanup on the server, allow the known untracked signal-cli tarball, and run standard remote plus public verification checks after compose rebuilds. Keep compatibility wrappers for the existing deployment helper scripts and document the workflow.

issue_type: task


title: Run production baseline and post-rollout verification for load reduction

description:
Run the production verification checklist from the load-reduction plan on the VPS, capture baseline container/resource stats, validate replay remains disabled, and confirm JetStream/Redis behavior after rollout.

This follow-up is operational rather than code-local and could not be executed from the current workspace. It should compare pre/post CPU, RSS, Redis memory, and retention growth using the documented commands.

status: open

issue_id: islandflow-dil

type: discovered-from


title: Implement VPS load reduction plan

description:
Implement load-reduction plan across API, compute, logging, retention, and cache pruning.

This issue tracks the first-pass implementation of VPS load mitigations: lower live cache limits, async Redis write-behind in API live state, scoped cache eviction, reduced hot-path logging, bounded JetStream retention via shared config, in-memory rolling stats with async Redis snapshots, batched ClickHouse inserts for derived tables, and TTL/cardinality pruning for long-lived in-process maps.

Acceptance:
- Config surface for live limits, logging, rolling cache, and stream retention added
- API live ingest avoids per-event full resort in monotonic case and avoids synchronous Redis writes per event
- Compute rolling stats leave Redis hot path and derived ClickHouse writes batch
- Long-lived caches/maps are pruned by TTL/cardinality
- Tests cover monotonic/out-of-order live ingest, scoped eviction, rolling stats, and pruning behavior

issue_type: feature

close_reason: Implemented in code; rollout verification follow-up is islandflow-dil and Redis durability decision follow-up is islandflow-ybs


title: Fix contract-focused options tape hydration

description: Implement contract-focused options tape hydration so focused contract views preserve the clicked seed row, stop reapplying broad flow filters in the Options pane, and use raw contract-scoped ClickHouse queries consistently across live snapshots, history, and replay. Includes frontend replay source-grouping changes and regression tests for focus seed durability, focused filtering, and contract-scoped API behavior.


title: Fix terminal hydration and virtual row measurement crash

description: Fix client crash caused by options-support hydration on non-JSON/404 responses and satisfy tanstack virtual measured-row data-index requirement across virtualized tables.

close_reason: Completed: added data-index attributes on measured virtual rows, hardened options-support hydration error handling/content-type validation, and guarded trace-id hydration loops against malformed payload entries.


title: Fix Docker deployment workspace lockfile drift

description: Refresh deployment/docker workspace lockfile for Docker builds, add a drift guard for Docker-built workspaces, and document the separate deployment snapshot so frozen Bun installs cannot fail when repo dependencies change.

close_reason: Completed: synced deployment Docker workspace snapshot from repo root, refreshed deployment bun.lock, added sync/check scripts, and documented maintenance workflow. Local docker compose build validation is blocked here because Docker daemon is unavailable.


title: Harden tape virtualization, scoped focus, and live feed health

description:
Implement the coordinated tape stability plan across web and API.

Scope:
- replace fixed-height tape virtualization with measured virtualization and virtual-end history loading
- replace scrollHeight anchoring with key-based anchor restore
- compose canonical tape lists across seed/live/history sources
- preserve clicked contract/ticker context during scoped focus transitions
- separate backend hot-channel health from scoped quiet empty states
- shrink browser hot windows and modestly reduce server cache limits
- add regression tests and development instrumentation

Acceptance:
- no giant blank spacer gaps during tape scrolling
- scroll remains stable while live data and history mutate the list
- clicked deep-history option/equity rows remain visible immediately after focus
- narrow scopes do not surface Feed behind unless backend channel health is stale


title: Fix home to tape navigation

description: Home rail Tape navigation was not reliably switching to the tape route. Use browser-native top-level navigation for Home/Tape rail links so /tape remains reachable even if client router handling stalls.


title: Implement seamless /tape live-to-history scroll gate

description: Implement seamless live-to-ClickHouse scroll-gated history for /tape panes, including split live/history buffers in the web client, snapshot_limit support on live subscriptions, a bundled options support lookup endpoint, ClickHouse helpers for parity hydration, and test coverage for live head retention, background history loading, scoped options deep-hydration, and historical options decor restoration.


title: Fix live websocket stale lag and reconnect loop

description: Investigate and fix API live consumer lag causing stale timestamps, feed-behind status, and reconnect loops. Optimize live cache persistence path, add lag telemetry/alerts, and validate in runtime.

close_reason: Completed: optimized live cache persistence path, added lag telemetry, deployed api via docker compose on di, verified ws freshness and low hotFeedLagMs


title: Implement options tape table with execution spot

description: Redesign OptionsPane into a dense classifier-colored table and preserve execution-time underlying spot on option prints from equity quote mid.


title: Fix false NBBO-missing badges in live Options tape

description: Investigate and fix client-side cases where Options rows show NBBO missing/stale even when a fresh NBBO quote exists in the live nbbo map. Update rendering logic to prefer fresh quote-derived status and add regression tests.


title: Drop stale backlog events from live fanout

description: Follow-up to live freshness rollout: /ws/live was still fanning out stale backlog events for freshness-gated channels, which kept tape panes in Live feed behind despite active synthetic ingest. Gate fanout and cache ingest by freshness for options/nbbo/equities/flow.


title: Fix tape freshness, NBBO coverage, pause controls, and filter popup

description: Implement the tape fixes requested for synthetic options notional sizing, strict live freshness, live-mode pause/resume behavior, stronger NBBO snapshot coverage, and moving flow filters behind a popup. Includes server-side live cache changes, web terminal state/UI changes, and tests for synthetic pricing, live snapshot freshness/NBBO retention, and live pause/filter interactions.


title: Implement smart-money flow filtering and synthetic firehose modes

description: Implement the approved multi-surface plan for named synthetic market profiles, options raw-vs-signal filtering, live/API filter contracts, Tape page client-side flow filters, firehose-readiness improvements, tests, and README updates.

close_reason: Implemented synthetic market profiles, options signal-path filtering, signal-aware API/replay contracts, Tape page filters, tests, and README updates. Follow-up tracked in islandflow-biq.


title: Remove deprecated NPM deployment path

description: The repo still carries a deprecated Nginx Proxy Manager deployment path under deployment/npm, and the Docker deployment docs/config still assume an external NPM shared network. Remove the obsolete NPM deployment path and update the Docker deployment to be the supported way to run Islandflow, including docs and compose/env defaults.


title: Remove obsolete deploy wrappers

description: Remove the legacy deployment helper wrappers now that the repo-standard local deploy entrypoint exists. Delete the obsolete deployment/docker/deploy.sh and deployment/docker/deploy-branch.sh scripts, update documentation to point only at ./deploy, and verify there are no remaining references to the old helpers.


title: Decide Redis AOF and cache/durable split after load rollout

description:
Decide whether the deployment Redis should keep AOF enabled or be split into cache vs durable roles after the first rollout data is available.

The current code changes reduce cache churn, but the operational durability/caching tradeoff still needs a production decision.

issue_id: islandflow-ybs


title: Remove deprecated Alpaca key-pair auth

description: Remove legacy Alpaca key-pair authentication support and keep ALPACA_API_KEY as the only supported auth method across options/equities ingest and docs.

close_reason: Removed key-pair auth and kept ALPACA_API_KEY only


title: Support single-token Alpaca auth

description: Support single-token Alpaca authentication across ingest adapters using ALPACA_API_KEY with fallback to ALPACA_KEY_ID/ALPACA_SECRET_KEY, and document env usage.

close_reason: Added ALPACA_API_KEY support with key-pair fallback


title: Add Alpha Vantage event calendar provider

description: Add an Alpha Vantage earnings-calendar provider to services/refdata that fetches CSV, normalizes entries, writes the JSON cache consumed by compute, and documents the required env variables.

close_reason: Added Alpha Vantage event-calendar provider


title: Finish smart-money event-calendar enrichment

description: Finish the smart-money event-calendar provider layer in services/refdata and connect days-to-event / expiry-after-event enrichment into compute using timestamp-available data only.

close_reason: Completed event-calendar provider and compute enrichment


title: Add smart-money replay evaluation harness

description: Add replay-style live-vs-batch consistency tests plus evaluation utilities for parent-event precision/recall, calibration, abstention rate, and economic sanity checks.

close_reason: Completed smart-money replay consistency harness and evaluation utilities.


title: Rebuild synthetic smart-money scenarios

description: Rework services/ingest-options synthetic generation around labeled parent-event templates for the six core smart-money profiles plus neutral background noise, with deterministic test/demo modes and hidden labels for tests.

close_reason: Completed Phase 5 synthetic smart-money scenario rebuild


title: Migrate terminal UI to smart-money profiles

description: Migrate apps/web terminal rendering to consume SmartMoneyEvent directly: primary profile, probability ladder, reason codes, and suppression/abstention state, while preserving legacy alert/classifier displays during the bridge.

close_reason: Completed terminal smart-money profile migration


title: Add plan mode

description: Implement a user-facing plan mode in the application so users can switch into planning before taking action. Scope to be clarified from existing app patterns.

close_reason: Implemented as a global pi extension toggled with Shift+P


title: Finish raw live options delivery and filter/backpressure observability

description: The smart-money signal path and Tape filters are in place, but the next firehose pass should finish server-side selective raw live delivery for options subscriptions and add explicit filtered-out/backpressure observability for API/web counters. This was discovered while landing islandflow-e4r.

issue_id: islandflow-biq


title: Document smart-money event calendar env

description: Document smart-money event-calendar environment configuration in env examples and README.

close_reason: Documented event-calendar env variables