diff --git a/CLAUDE.md b/CLAUDE.md index 260a740..321dcc3 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -44,3 +44,51 @@ backups are small. Prune manually if you need to. A backup is a complete SQLite file. To restore, stop the app, replace `quartermaster.db` with the chosen backup (`cp backups/... quartermaster.db`), then restart. + +## Current Project State + +* **Phase**: shipped MVP + posting ledger. Working daily-use tool. +* **Last worked on**: 2026-04-17 +* **Last commit on main**: `19cac8f` — Backing transaction ledger: + Postings replace the applied field (#20) +* **Open PRs**: none +* **Open issues**: none +* **Test count**: 117 / 117 passing +* **Migrations**: 5 applied; latest `cc60e7f73a1c` +* **Blocking issues**: none + +After pulling new work, always: + +```sh +uv run alembic upgrade head +``` + +The backup hook fires before any migration, so this is safe against +the live DB. + +## Session Log + +Most recent 3 sessions (full history in the [wiki](https://forgejo.labbity.unbiasedgeek.com/archeious/quartermaster/wiki)). + +### Session 1 — 2026-04-17 + +Greenfield to working ledger. 10 PRs merged in one sitting: +scaffold (#2) → monthly view with snapshot + deviation (#4) → +backups + CLAUDE.md safety rule (#6) → zero amount header (#8) → +gitignore wiki (#10) → section groups + sinking funds (#12) → +notes field (#14) → month lifecycle Planning / Active / Closed +(#16) → UI redesign in Barlow Condensed with logo (#18) → +posting transaction ledger (#20). + +Key architectural decisions: snapshot-over-mirror for months; +Primary Debt Target is a pointer, not a pre-allocated amount; +nothing auto-sweeps — close requires applied zero at $0; `applied` +is derived from postings only, no column. UI went through three +mockups before settling on Barlow Condensed + cream paper + +burgundy accent sampled from the logo shield. + +One incident: I wiped the live DB several times during early dev +churn before the backup script existed. The script + alembic hook ++ repo-level CLAUDE.md safety rule are the fix. + +Full retro: [Session1](https://forgejo.labbity.unbiasedgeek.com/archeious/quartermaster/wiki/Session1).