Keep the raw observation
A later repair should not erase what the connector originally reported. Provider, statement, correction, and derived evidence stay distinct.
The backstory
I started with a small question—what did I spend?—and ended up confronting the difference between a feed and a ledger.
I did not set out to build financial infrastructure. I wanted my agents to answer ordinary questions about my own money. The first version fetched transactions, added categories, and looked convincing. Then the edge cases arrived.
A card feed omitted posted rows. Pending charges refused to die. An authentication warning meant something different for a monthly-updated card than it did for a daily bank connection. The answers were fluent, but the evidence underneath them was uneven.
The decisions that followed
A later repair should not erase what the connector originally reported. Provider, statement, correction, and derived evidence stay distinct.
Partial data should still be useful, but it must carry its missing coverage into every answer it affects.
Agents can investigate and coordinate repairs. Deterministic code owns arithmetic and evidence precedence.
What I changed my mind about
That was backwards. Models are useful for merchant research, explanations, and suggestions. They are a poor place to hide account identities, transaction lifecycle, balance arithmetic, or statement matching.
The current design uses models at the edges. Every important financial claim can fall back to deterministic evidence, and every model result is allowed to be rejected.