docs: refresh CLAUDE.md for /healthz, JSON logs, Session 2

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jeff Smith 2026-04-19 12:37:18 -06:00
parent 129625820b
commit 8ada740774

View file

@ -47,14 +47,19 @@ then restart.
## Current Project State ## Current Project State
* **Phase**: shipped MVP + posting ledger. Working daily-use tool. * **Phase**: shipped MVP + posting ledger + template-entry edit +
* **Last worked on**: 2026-04-17 platform-deploy prep (`/healthz`, structured JSON logs). Working
* **Last commit on main**: `19cac8f` — Backing transaction ledger: daily-use tool; first production deploy to home-ctr-onyx pending.
Postings replace the applied field (#20) * **Last worked on**: 2026-04-19
* **Last commit on main**: `1296258` — chore: silence jsonlogger
deprecation, fix LogQL example (#26, #27)
* **Open PRs**: none * **Open PRs**: none
* **Open issues**: none * **Open issues**: #28 Dockerfile, #29 compose.yml, #30 Forgejo
* **Test count**: 117 / 117 passing Actions deploy workflow (dependency-chained); #31 small cleanups
* **Migrations**: 5 applied; latest `cc60e7f73a1c` (non-blocking polish)
* **Test count**: 148 / 148 passing
* **Migrations**: 5 applied; latest `cc60e7f73a1c` (no schema change
in #26 or #27)
* **Blocking issues**: none * **Blocking issues**: none
After pulling new work, always: After pulling new work, always:
@ -70,6 +75,36 @@ the live DB.
Most recent 3 sessions (full history in the [wiki](https://forgejo.labbity.unbiasedgeek.com/archeious/quartermaster/wiki)). Most recent 3 sessions (full history in the [wiki](https://forgejo.labbity.unbiasedgeek.com/archeious/quartermaster/wiki)).
### Session 2 — 2026-04-19
Platform contract intake (#25) filled out and accepted; platform team
provisioned DNS (`quartermaster.unbiasedgeek.com`), Traefik middlewares
(basic-auth + rate-limit), the `/mnt/quartermaster/` bind mount, and
basic-auth creds. Two issues landed on main (#26 `/healthz`, #27
structured JSON logs) via the superpowers brainstorm → spec → plan →
subagent-driven-TDD workflow. Thirteen commits on a single branch
(`feat/platform-deploy-prep`), rebased onto origin/main so history
stays linear despite the unrelated MCP-doc PR that landed alongside.
Key decisions: single-source-of-truth `logconfig.json` (not a Python
dict + YAML shim, which would need `pyyaml` and introduce drift); five
seed app events (`month_created`, `month_closed`,
`template_entry_updated`, `posting_added`, `posting_deleted`) placed
after commit + refresh so they only fire on durable success; `/healthz`
on a dedicated router as a file boundary, with auth living in Traefik
per the platform contract.
Two real misses caught by code review mid-flight: the autouse-fixture
workaround for Task 3's `dictConfig` state leak was wrong (fix: make
the contaminating test save/restore state itself); the third LogQL
example in README used `{{.path}}` on `month_closed` records that
carry `year_month`, not `path`. Both landed as fix commits.
Deploy-pipeline work queued as #28 (Dockerfile), #29 (compose.yml),
#30 (Forgejo Actions), dependency-chained. Polish umbrella at #31.
Full retro: [Session2](https://forgejo.labbity.unbiasedgeek.com/archeious/quartermaster/wiki/Session2).
### Session 1 — 2026-04-17 ### Session 1 — 2026-04-17
Greenfield to working ledger. 10 PRs merged in one sitting: Greenfield to working ledger. 10 PRs merged in one sitting: