Refine /fund/live metric derivation so model seeding values are realistic and explainable.
Current behavior uses broad account queries:
in over last 3 monthsex:.*:needex:.*:wantThis can overstate salaryNet when non-salary inflows are included.
Implement:
1) Add explicit account filters for recurring salary/net-pay inflows (with a safe fallback).
2) Keep needs/wants averages but validate query patterns against real account tree and avoid accidental non-spend categories.
3) Include provenance/debug fields in /fund/live response (which query/patterns were used + period bounds) so values are auditable.
4) Surface a compact “live seed source” note in /fund/model UI (non-intrusive) to improve trust.
Verification:
Ava verified: last comment from human author documents shipping/deployment with concrete evidence. Moving to Verified.
Implemented calibration + provenance for /fund/live and wired model trust note. Changes: (1) Omni/Fund/Ledger.hs now uses preferred/fallback pattern strategy: income prefers in:.*:salary (fallback in), needs prefers ex:(me|us):need (fallback ex:.*:need), wants prefers ex:(me|us):want (fallback ex:.*:want). Pattern matches are validated via hledger accounts queries before selecting source. (2) /fund/live payload now includes provenance metadata: period bounds (start/end/months), selected pattern mode (preferred/fallback), preferred/fallback patterns, matched account count + matched account list for income/needs/wants. Top-level default-compatible keys remain for model merge compatibility. (3) Omni/Fund/Web.hs model UI now renders compact live seed note in sidebar (#live_seed_note), showing freshness + period + income source; still non-blocking async fetch with graceful fallback. (4) Verified deployment on web.service /nix/store/ri865d3g0i2f31bbch8dxjqg9g87iyar-web/bin/web. Endpoint checks: /fund 200, /fund/model 200, /fund/live 200, /fund/snapshot 200 (localhost + ts.net). /fund/live salaryNet now seeds at 240000 (from salary-pattern path) instead of broad-income inflated value.