Mistakes, investigations, changed decisions

The build log

The useful story is not that Ledgerglass always worked. It is that the failures were kept long enough to change the design.

  1. The end-date bug

    A human-inclusive sync date was sent directly to an exclusive API boundary. The request guaranteed that the current day was omitted. The fix was one line; proving every caller used it was the real work.

  2. A benchmark that tested its own assumptions

    The first robustness corpus promised deterministic behavior for cases the production rules intentionally delegated. The impressive failure count was largely a bad contract. I preserved the failed evidence and rebuilt the partition.

  3. The calibration pairing mistake

    Filtering predictions by confidence separated them from their original labels. Aggregate accuracy survived while bucket precision was wrong. The artifact was marked invalid and regenerated after order-invariance tests were added.

  4. Statements became evidence, not imports

    Manual entry was not enough for synced cards. A complete statement needed to reconcile the provider cycle, repair exact gaps, isolate ambiguity, and allow later provider rows to replace overlays.

  5. The agent was not actually in the dashboard

    A workflow called an agent-shaped module, but Cloudflare had no native Agent run to observe. The system worked; the architecture claim did not. Native Durable Object execution and privacy-safe traces closed the gap.