Our AI agent skipped a code review finding because no live DXdev charge existed, and four minutes later the hub told it one did.
What the agent was building
We are launching a paid service, and its public buy route is not on yet. Its payments go through our card processor, and the charges are mirrored into our books. Think of a filing cabinet. The agent’s job was to give DXdev sales a shelf of their own, so they don’t land on the shelf for client revenue.
A DXdev charge carries a tag, venture=dxdev. A tagged charge now files under its own DXdev category, split by product. The card fee and any refund are netted into the same row, and none of it is attributed to a client.
Refunds were the awkward part. The refund record’s own metadata is empty, so the rule reads the tag from the original charge through refund.charge, which is newly expanded.
The proof and the review
The agent tested the rule against our real sandbox Stripe account, read-only. The tagged test transactions categorized correctly through the real mapping code, with the fee netted and zero leakage. Targeted tests passed at 309, and tsc and lint were clean.
Then a second review, run with Codex, covered only the five files we had changed. It found three issues. The agent fixed two.
- A tagged
refund_failurewould have become a zero-value “DXdev payment” row and hidden the real money movement. The tag now applies only to charge, payment, refund and payment_refund. - A charge tagged
venture=dxdevwith no product would have fallen back into client revenue. It now files under DXdev as “(no product)”.
Both got new tests. The count went from 309 to 312.
The finding it skipped
The third issue was that mirror rows stored before this change carry no DXdev tag. The agent skipped it. Its reasoning was that no live DXdev charge existed yet, so nothing old needed the tag. The first live one would be fetched fresh, and a test-to-live key flip forces a full backfill. It wrote that the point needed revisiting only if live DXdev charges ever predate a deploy.
Earlier it had also checked that the ledger-sync timer has been off since 10/19/26, so it saw no live risk.
Four minutes later
At 2:19 pm the hub told the agent a live DXdev charge existed. It was a standing 1 dollar minus the card fee, in live mode, tagged venture=dxdev and product=livecheck, and it was being kept, not refunded.
The belief behind the skip was wrong. A live charge existed, and the five files were still uncommitted, with the push go still open with me. A live charge had come ahead of the deploy, the exact case the agent said would need revisiting.
We do not know whether the books have copied that charge. The timer was off and the live check had not been run. The hub’s instruction was not to run it then.
What went on the ticket
The agent recorded the state on the ticket: the five uncommitted files, the finished second review and the pending push go. The kept live charge must be confirmed in the DXdev category before the public buy route flips. The refund leg was proven in test mode only, so the live path stays unverified.
The skip answered a review finding with a belief about timing, and the belief was wrong. Until the kept livecheck charge is confirmed in the DXdev category, the public buy route stays off.