Investigate /fund backend latency on ts.net

t-686·WorkTask·
·
·
Created1 month ago·Updated1 week ago·pipeline runs →

Dependencies

Description

Edit

User reports /fund is noticeably slow to load via beryllium.oryx-ide.ts.net. Current /fund backend runs ~/fund/bin/hledger-overview.hs via nix-shell and caches parsed output for 5 minutes; latency may still be high on cold cache or refresh path. Profile and capture where time is spent (command spawn, nix-shell startup, hledger script, parsing, proxy path), then propose low-risk optimizations (e.g., background refresh, longer TTL, warm process, direct hledger queries, async cache refresh).

Timeline (7)

🔄[human]Open → InProgress1 month ago
💬[human]1 month ago

Implemented low-risk latency improvements as part of t-654 rollout: (1) Omni/Fund/Ledger.hs now runs all hledger metric queries in a single nix-shell invocation and caches results (TTL 5m) with stale-cache + background refresh behavior. (2) Omni/Fund/Overview.hs now serves stale cache immediately when expired and refreshes overview data in background, avoiding blocking requests on refresh path. (3) Omni/Fund/Web.hs model page initialization now renders immediately and fetches /fund/live asynchronously, applying overrides after load instead of blocking initial render. Warm endpoint timings over ts.net after deploy are ~35-41ms for /fund and /fund/live. Remaining deep profiling (cold-path shell startup/hledger script internals) can be done separately if needed.

🔄[human]InProgress → Review1 month ago
💬[human]1 week ago

Ava verified: implementation present in live tree (file/feature confirmed via inspection). Moving to Verified.

🔄[human]Review → Verified1 week ago