Opus finding
extractFindingAtIndex returns wrong-finding fallback silently when JSON shape mismatches
lowbugmedium
- apps/web/lib/receipts.ts:245-270
toDisplayReceiptDetail falls back to a synthesized {severity, category, title, reasoning: null, recommendation: null, evidence: []} when extraction fails. This means a detail page may quietly show 'no reasoning/recommendation/evidence' even though the data does exist but the shape changed (schema_version skew). No log line is emitted on the fallback path, so silent data degradation is undetectable from telemetry.
Recommendation
Log a warning when extractFindingAtIndex returns null so schema-version drift is observable, even though the page still renders.