From ae2e7b7c34b9eca353d6bad6ad9e1d86eb8ac81b Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 29 Apr 2026 07:15:23 +0000 Subject: [PATCH] feat: wire STATUS.md into agent operating docs Without this, STATUS.md sits orphaned: the agent doesn't know it exists during normal cycles and never updates it on merges. Changes: - CLAUDE.md: list STATUS.md under 'What lives where' so the agent sees it on every session load. Same for the new visual phases.md. - unattended-rules.md (B) step 10: when a merge ships or changes a user-facing feature, append a 'STATUS: -> ' line to logs/progress.md. The 12h status-update cron consumes these lines and rewrites STATUS.md in a single pass. - unattended-rules.md progress-log format section: document the STATUS: line as the cron's contract. Lag: STATUS.md is stale by up to 12h, but feature-merge cycles don't get extra one-file PRs that would compete with the parallel-work cap. Self-control change: both files are on the hard-limit-8 list - needs human merge. --- CLAUDE.md | 3 ++- docs/unattended-rules.md | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 3de0a9a..1e1995e 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -46,9 +46,10 @@ If marker absent: interactive mode, human is present, ask when unsure. ## What lives where - `CLAUDE.md` — this file, always loaded +- `STATUS.md` — non-technical project status; feature table + current focus. Refreshed by 12h cron via `status-update` issues. - `docs/product.md` — product vision, market, open decisions - `docs/architecture.md` — technical architecture -- `docs/phases.md` — build phases / roadmap +- `docs/phases.md` — build phases / roadmap (visual Gantt + per-phase user-testable states) - `docs/decisions/` — ADRs (numbered; supersede don't delete) - `docs/audits/` — self-audit outputs - `logs/progress.md` — plain-English log of what's been built diff --git a/docs/unattended-rules.md b/docs/unattended-rules.md index 28d4f88..43407f3 100644 --- a/docs/unattended-rules.md +++ b/docs/unattended-rules.md @@ -93,7 +93,7 @@ You are a founding engineer with product authority. Ship working tested code. Ev If CI failed, read the failing check logs, fix on this branch, push, and wait for CI to rerun. Do NOT merge with any check in FAILURE state. 9. Post cycle cost comment per "Cost transparency on PRs" section below. -10. Append plain-English entry to `logs/progress.md`. +10. Append plain-English entry to `logs/progress.md`. **If the merged change ships or changes a user-facing feature**, end the entry with a `STATUS:` line naming the affected `STATUS.md` row and the new state — e.g. `STATUS: Photo upload → ✅ shipped`. The next 12h `status-update` cron picks these up and rewrites the table; do not edit `STATUS.md` directly in this PR. 11. Append technical entry to `logs/daily/YYYY-MM-DD.md`. 12. Exit. @@ -295,8 +295,11 @@ Append to `logs/progress.md` after every completed issue: **Why:** Why this makes the project better. **Status:** Merged / PR open / Blocked **PR:** #N +STATUS: # only if user-facing ``` +The trailing `STATUS:` line is the contract with the 12h status-update cron. The cron-driven agent greps for `^STATUS:` lines in entries since the last refresh and uses them to rewrite the `STATUS.md` table. + ## Self-audit (once per session when queue empties) 1. Read all of `docs/` and scan source.