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:
parent
129625820b
commit
8ada740774
1 changed files with 42 additions and 7 deletions
49
CLAUDE.md
49
CLAUDE.md
|
|
@ -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:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue