v1.3.0 ·
What did this feature cost? Per-instance cost tracking
Nobody could say what a piece of work cost. AIDLC already had a unit of work, the instance, and templates that classify it as a bugfix, a quick feature, a full feature, a micro task or a spike. So "what does a bugfix cost?" should have had an answer. It did not. Nothing recorded agent usage, claims were nulled when released so sessions left no trace on the instance, and the numbers sat in per-agent transcripts that AIDLC never read.
What changed
AIDLC now keeps a cost ledger per instance, and aidlc cost reports from it. aidlc claim and aidlc release now mark where a session starts and stops, so spend can be matched to the piece of work that caused it. A figure can also be improved after it was first recorded, because every entry carries a fidelity level instead of pretending to be exact.
Why three ways, not one
Spend has to be tied to work, and the agent doing the work is the least reliable witness of its own consumption. I looked at three ways to find out, and none of them won outright.
The most accurate is to let the platform say. Claude Code emits Stop and SessionEnd events, and a hook on them records usage without the agent remembering anything. It even catches subagent spend the agent never sees. The price is that aidlc init has to write platform configuration, which it had never done to .claude/settings.json, and every platform needs its own adapter.
The cheapest is to have the agent write down its spend at each phase transition. No setup, works anywhere. But it is coarse, it misses subagents, and it relies on the agent following a protocol, which is the self-reporting this feature exists to replace.
The third is to rebuild spend afterwards from whatever the platform left on disk. Lower fidelity, no setup, and it can backfill history nobody captured live.
I stopped treating them as alternatives. All three ship behind one provider interface: hooks where a platform supports them, transition-time recording as a declared degraded mode where it does not, and after-the-fact reconciliation to fill gaps and correct earlier estimates.
What it does not fix
Fidelity varies by platform, and that is the honest state of the data. A hook-captured figure and a reconstructed one are not the same quality, and the ledger says which is which rather than hiding it. Platforms without hooks get the coarser mode until someone writes their adapter.