Proof: stop history-writer portfolio metrics refresh from failing SQL ANY() binding errors so command/result persistence path is unblocked and trading can proceed.
Assumptions: live topic flow is healthy, and the blocker is the SQL binding mismatch, not strategy guardrails.
Still fake: no live DB proof or regression harness with real market/run data; no strategy behavior changes, only portfolio-metrics refresh plumbing.
Proof: npm test (147 passing); npm run operator-dashboard:build; git diff --cached --check.
Assumptions: Bridge recent_deposits created_at is the authoritative source time for deposit activity; rows without created_at must be deduped to their earliest observed status instead of the latest replay ingestion.
Still fake: No fund movement or bridge migration was performed; ntfy messages already sent before this fix cannot be unsent.