Bitemporal Corrections in Agent State
By DX Research Group · · State and memory
Preserve both corrected history and the information available at the original decision.
A corrected historical fact should change the corrected analysis while leaving the original decision input reconstructible. We would store two time dimensions whenever a later update can revise an earlier account event: when the event applied and when the runtime learned the revised value.
This is a correction problem within our state and memory framework. It matters to trace feedback because grading against a corrected value can otherwise assign a model information it never received. The method below is hypothetical and describes a proposed evaluation contract.
One fee, two answers
Suppose a fill becomes effective at 09:00. At 09:01, a fee service records a charge of 4 units. A decision at 09:05 uses that value. At 10:00, the service issues a correction: the fee was actually 7 units, effective at the same 09:00 fill.
For an opening balance of 500 and a purchase costing 100, the decision-facing cash calculation was 396. The corrected cash calculation is 393. Both values have a valid use. An original-information replay should show 396; a restated economic ledger should show 393. Overwriting 4 with 7 destroys the explanation for the first answer.
Fowler's bitemporal history separates actual history from recorded knowledge of that history. We would implement this distinction with explicit effective intervals and recorded intervals, plus a correction link to the original fact. Half-open intervals make the exact correction boundary unambiguous: a query at 10:00 selects the revised record under the stated convention.
Grade the query before the agent
The first acceptance query asks for account cash effective at 09:05 using only records known by 09:05. Expected output is 396. The second asks for the same effective time using records known by 10:01. Expected output is 393. A third asks for the retained original prompt and checks that its embedded cash remains 396.
We would then enumerate dependencies. A portfolio chart based on corrected economics should restate its point. A model-input artifact should retain its original bytes. A grader should declare whether it evaluates original-information correctness or corrected economic accuracy. These are distinct questions even when they share a trade identifier.
Corrections can themselves be corrected. If a later source restores the fee to 6, another record interval begins rather than deleting the intermediate revision. The test should cover this case because a two-row schema that handles one update can fail on a chain of revisions. It should also cover a correction received before the decision, where the corrected value becomes eligible for the original-information replay.
There is a practical cost: more intervals, more query parameters, and more ways to select the wrong perspective. We would reserve the extra dimension for facts whose retroactive updates matter to a decision or measurement. The final review should show both cash values with their query cutoffs. That small display makes a disagreement understandable without accusing the agent of seeing the future.