ForgeKitFORGEKIT

Build Log

Money Tracker, Then the Machinery Underneath It

September 16, 2026

Built Court's Money & Earnings Tracker, then spent the rest of the session finding out why the Owner Loop around it kept failing — and fixing four ways it violated one invariant.

canvas-1Owner LoopReliabilityFeatureOS
362
Actor runs audited
231
failures root-caused
5
real bugs found and fixed
142
tests passing at close

Timeline

Start
Money & Earnings Tracker
Court's own written feature request, built directly rather than routed through the Owner Loop
Mid
Production 500 on /manage
Root-caused to a schema migration that had silently targeted the wrong Neon branch
Mid
Three stuck requests recovered
Manual candidate recovery, then a second process failure: stopped at 'deployed' without verifying closure
Late
231 failures audited
Zeb: 'I am really, really sick of seeing red' — full audit of every actor-spawn run
Close
Convergence Charge built
Charge written, reviewed, corrected on three real errors, then all five changes shipped

What shipped

canvas-1 Money & Earnings Tracker (Phase 1) — weekly work entry with per-child date selection and auto-split, percentage-based allocation to spending/savings/giving with non-retroactive semantics, per-child balance dashboard, quick purchase entry, and a full append-only transaction ledger structured to support Phase 2 statements and custodial-Roth-IRA earned-income documentation

Fixed a concurrent CREATE TABLE race in ensureMoneyTables that 500'd the Money tab on its first real use

Added 10 missing publication/closure columns to canvas-1's real production Neon branch, un-breaking a dispatcher that had been crashing on every scheduled run

verify-owner-loop-schema-live.mjs — independent post-migration verification against the dispatcher's OWN credential, so a wrong-branch migration can no longer self-certify

Fixed a genuine ReferenceError in finalize-owner-intent.mjs that made every successful finalize report failure

Recovered three stranded Owner Loop requests to confirmed terminal resolved state

Full audit of all 362 actor-spawn runs / 231 failures, with every failure classified by authoritative field

Owner Loop convergence Charge + all five changes: failure-policy layer, cause-agnostic failure cap, git-level push coverage, verified-impossible credit preflight, truthful terminal outcomes