Loading issues
GitHub confirms PR #54 merged on 2026-10-18, despite the stale open development link. Implementation and production-snapshot rehearsal are complete (exact volume reconciliation; comparison query 27.9s to 4.1s). Remaining: coordinated migration/release and post-deployment browser verification. Do not restart implementation or treat the merge as production acceptance.
On economy.dev.paradaux.io (prod data, refreshed 2026-10-17) the 30-day dashboard shows $0 supply, 0 players and 0 transactions. The 7-day view is correct.
getActivityComparison(30) (lib/sql/health.ts) joins ledger_txns to ledger_postings over 60 days, about 6M rows. It takes 13–20 s on staging, which exceeds the explorer's 15 s max_statement_time. getDailyVolume(30) takes about 7 s.lib/cache.ts) ignores background recompute errors, so the last good value (computed when the DB was empty) is served indefinitely.ledger_txn_volume table: one row per transaction holding its settlement time and positive-posting volume. It is maintained by triggers keyed on the transaction's own id, so it adds no shared or hot row locks to the ledger write path. A cross-transaction hourly rollup row was rejected because it would deadlock against the ascending FOR UPDATE ordering in LedgerServiceImpl. The migration backfills from existing ledger history, so refreshed prod dumps and the prod release are covered.