Financial readiness — what is proven, and what is not
Financial readiness — what is proven, and what is not
Young, 2026-10-11: "Mira ensure our financial sound and ready for Heart Unit."
Measured, not assured. Everything below is from a command that ran. The gaps are
named because a closeout that only lists wins is how V2's $0.00000 ledger read as
truth for 30,721 attempts.
✅ 1. Spend is under control and stable
opencode stats --days 7 --cost --models
cost $11.60 · cached input 91.7%
opencode-go/longcat-2.5-preview-f… 2.8b 55.8k $0.00
opencode/space-bunny-free 2b 71.9k $0.00
opencode-go/qwen3.8-flash#default 309.3m 7.5k $11.17
Down from $19.49 two days ago. Every remaining dollar is one model —
qwen3.8-flash at $11.17, which the ledger now refuses to construct without a
why_paid. The free tier is doing 4.8b tokens at $0.00.
For the Heart Unit this is the right posture: the GO free inventory is 2 models and ZEN's is 12, so a fleet that starts tomorrow has capacity before it touches a paid rung.
✅ 2. The cost controls are built and falsified
| Control | State |
|---|---|
core/config/cost_ledger.py | unknown never summed as zero; tier-2 needs why_paid |
core/config/ladder.py | GO free → ZEN free → GO paid → ZEN paid; cost rung beats instrument |
core/config/router.py | auto-switches on rate limit; classifies by output, not exit code |
cortex/classification.py | retention classifier — the mechanism the rule never had |
RETENTION_BLOCKLIST | muse-spark refused for confidential work; falsifier proven (7 red → 17 green) |
✅ 3. Backup and recovery — my stage, proven
9.4 ran into an empty root: 440 passed, registry byte-identical, no drift.
Scheduled daily 03:30, --no-agent, and proven by a forced run. It has already
caught two real defects: 2,600 lines on one disk, and the blocklist present in the
working tree but absent from the backup.
🔴 GAP 1 — the ledger is not in the backup, and that is the one thing I own
operation/state/ is gitignored — declared disposable in STRUCTURE.md. It holds
the task stores v3-tasks.db, {ace,alpha,atlas,echo,nova}-tasks.db, and every
exit-proof-stage2-*.db.
So "the ledger survives a loss" (Stage 9.3) is only half true. The code is backed up; the rows are not.
This is defensible for a build — those tasks are disposable run state. It is not defensible on the day the Heart starts spending money, because the ledger is the record of what it spent.
What I will do: add operation/state/*.jsonl to the backup script — a cost ledger
is append-only text and belongs in the second copy. The task .db files stay ignored.
🔴 GAP 2 — the ledger has never seen real data
operation/runtime/loop.py:454 records a CostRecord per attempt and
observe.py:301 reads one back. The wiring is real. But no ledger file exists
anywhere — so the record has never been exercised against a live cost.
I am not calling this a defect; I am calling it unproven. The first real Heart run is its first proof, and I would rather that be said now than discovered then.
🟡 GAP 3 — muse-spark's scope needs Min to dispatch, not me
Young ruled public-only and the blocklist enforces exactly that. Nothing for me to do — recorded so it isn't mistaken for an open financial question.
What "ready for the Heart Unit" actually means, on evidence
| Question | Answer |
|---|---|
| Is spend controlled? | yes — $11.60, all on one model, down from $19.49 |
| Are the cost controls built? | yes — 5 modules, all falsified |
| Does a refusal work? | yes — measured, not described |
| Does the backup survive a loss? | yes — restored into an empty root |
| Is the ledger itself backed up? | no — gitignored. Fixing tonight. |
| Has the ledger recorded a real cost? | no — first Heart run is its first proof |
So: financially sound, yes. Financially proven, one gap short — and the gap is mine, named, and fixable in the morning rather than a risk discovered mid-flight.
The memory read counter — recalls_with_results is now measurable
The gate named in memory-read-path-2026-10-21.md §4 is now open. recalls_with_results was unmeasurable because describe_recall() emits a UI status line, not a log line. It is now a row in a SQLite file, written from the read hook that already existed.
Stage annex — Mira's two lanes
The plan of record is 02-architecture/PLAN.md (Min, status: authority) — 8 stages, 3 arcs, 14 adopted essences. This annex does not re-plan it. It carries only what my lanes add: the per-step detail, the traps, and the proofs.

