Make /roundup's tracked STATUS.md snapshot its default, committed output

Promote STATUS.md from an opt-in offer to standard behavior: every /roundup run now writes the report to ~/Projects/standards/STATUS.md (overwritten), shows it inline, and commits + pushes only that file so the portfolio state is diffable over time — the same durability reflex as /capture. STATUS.md remains the only file roundup writes; all project repos stay read-only. Updates guide (new Phase 4), wrapper, ROADMAP item 2, README, and Current state.
This commit is contained in:
Keysat
2026-06-14 14:14:07 -05:00
parent 8548afd9fd
commit b7625c4e83
5 changed files with 39 additions and 17 deletions
+3 -2
View File
@@ -91,8 +91,9 @@ should carry this so any vendor's agent surfaces pending items at session start:
- The git-tracking standard ("What git tracks") is now in `portability.md`, and this repo's
`.gitignore` follows it.
- `/roundup` is built: a cross-project status report that reads every repo's
AGENTS.md/ROADMAP.md plus the inbox and groups all to-dos by priority — reads and reports
only; deciding focus stays with the user.
AGENTS.md/ROADMAP.md plus the inbox and groups all to-dos by priority. It now **writes a
tracked `STATUS.md` snapshot** to the standards repo each run (overwritten, committed +
pushed — diffable over time) alongside the inline report; deciding focus stays with the user.
- The cross-repo git-hygiene audit (ROADMAP item 6) is **DONE**: all 9 git repos under
`~/Projects` audited (one read-only `portability-checker` each). No safety issues anywhere —
zero tracked `.env`/`.DS_Store`/`*.local.json`, all in-repo symlinks relative. 6 repos
+1 -1
View File
@@ -43,6 +43,6 @@ The governing question: **would a different agent need this to work on the repo?
One session = one task. Close every session with `/handoff` (updates Current state in AGENTS.md, commits, pushes). `/compact` is for mid-task overflow only, never to extend a finished chat. Dropped or closed by accident? `claude -c` resumes the latest session in that folder.
Between tasks, ideas flow through the inbox: `/capture` logs an idea or bug for any repo to `INBOX.md` from wherever you are (no routing decision at capture time); `/triage`, run inside a project, drains that repo's items into its Current state or `ROADMAP.md`; and `/roundup` reads every repo's AGENTS.md/ROADMAP plus the inbox and compiles one priority-grouped to-do list across all projects (reports only — deciding focus stays with you). Canonical home: `AGENTS.md` → "The capture → triage → roadmap loop."
Between tasks, ideas flow through the inbox: `/capture` logs an idea or bug for any repo to `INBOX.md` from wherever you are (no routing decision at capture time); `/triage`, run inside a project, drains that repo's items into its Current state or `ROADMAP.md`; and `/roundup` reads every repo's AGENTS.md/ROADMAP plus the inbox and compiles one priority-grouped to-do list across all projects, written to a tracked `STATUS.md` snapshot in the standards repo (it gathers and groups — deciding focus stays with you). Canonical home: `AGENTS.md` → "The capture → triage → roadmap loop."
Full daily rhythm: retrofit-playbook.md, Part 5.
+5 -4
View File
@@ -46,10 +46,11 @@ checklist doc alongside the other four standards docs.
Built and live: `guides/roundup.md` + `adapters/claude/commands/roundup.md`. Fans out a
read-only reader per repo over AGENTS.md/ROADMAP.md, folds in the inbox, and synthesizes one
priority-grouped to-do list across all projects; reads and reports only (prioritizing stays
with the user). **Remaining option:** output is shown inline by default — decide later
whether to also persist a `STATUS.md` in the standards repo for diffing over time like
`EVALUATION.md`.
priority-grouped to-do list across all projects (prioritizing stays with the user). Every run
**writes the report to a tracked `~/Projects/standards/STATUS.md` snapshot** (overwritten each
run, then committed + pushed) so the portfolio state is diffable over time — and shows the
same report inline. That snapshot file is the *only* thing roundup writes; all project repos
stay read-only.
## 3. Deterministic inbox surfacing — SessionStart hook (optional upgrade over the portable line)
+6 -4
View File
@@ -1,5 +1,5 @@
---
description: Cross-project status roundup — read every repo's AGENTS.md/ROADMAP.md plus the inbox and compile one priority-grouped to-do list across all projects
description: Cross-project status roundup — read every repo's AGENTS.md/ROADMAP.md plus the inbox, compile one priority-grouped to-do list across all projects, and write it to a tracked STATUS.md snapshot in the standards repo
argument-hint: [optional focus, e.g. "only P0/P1" or a subset of repos]
allowed-tools: Bash, Read, Grep, Glob, Agent, Write
---
@@ -15,6 +15,8 @@ per repo, the inbox pass, and the report format — is at:
Read it in full first, then follow it exactly. If you cannot read that file, stop and report
precisely that — do not improvise the roundup.
Read and report only: gather and group by the priorities you find, but do not rank the
projects against each other or tell me what to work on — deciding the best use of time is
mine. After you present the report, help me reason about ordering only if I ask.
Write exactly one file — the `STATUS.md` snapshot in the standards repo (committed + pushed
so it's tracked and diffable over time); every project repo stays read-only. Don't decide for
me: gather and group by the priorities you find, but do not rank the projects against each
other or tell me what to work on — deciding the best use of time is mine. After you present
the report, help me reason about ordering only if I ask.
+24 -6
View File
@@ -42,13 +42,14 @@ existing one.
Wait for all readers before synthesizing. If a reader fails or a repo has neither file, note
it honestly rather than dropping the repo.
## Phase 3 — Synthesize (one report)
## Phase 3 — Synthesize (one report → STATUS.md + inline)
Present ONE report in the chat. Default to showing it inline; if the user wants a tracked
snapshot they can diff over time (like `EVALUATION.md`), offer to write it to
`~/Projects/standards/STATUS.md` — their call, and don't commit it yourself.
Produce ONE report. **Write it to `~/Projects/standards/STATUS.md`**, overwriting the
previous snapshot, **and** show the same report inline in the chat — the file is the durable,
diffable record; the inline copy is for reading right now. Title it with today's date (run
`date +%F`).
Structure:
Structure (used identically for the file and the inline copy):
```
# Roundup — <date>
@@ -73,9 +74,26 @@ The (new)/(new:name) inbox items — ideas awaiting the new-repo bootstrap.
Repos missing AGENTS.md or a Current state; stale-looking states; anything that blocked a reader.
```
## Phase 4 — Persist the snapshot
`STATUS.md` is only a *tracked* snapshot if it's committed — that's the whole point of the
file (a dated history you can diff over time). So after writing it, commit and push **only
that file** to the standards repo, without asking (the same durability reflex as `/capture`):
- `git -C ~/Projects/standards add STATUS.md`
- `git -C ~/Projects/standards commit -m "Roundup snapshot — <date>" -- STATUS.md`
(the `-- STATUS.md` pathspec commits only the snapshot — never sweep unrelated standards
changes into a roundup commit)
- `git -C ~/Projects/standards push` (only if a remote is configured; if the push fails,
report it but don't treat the snapshot as lost — it's committed locally)
This write-and-commit of `STATUS.md` is the *only* thing `/roundup` changes on disk;
everything else — every project repo, every other file — stays strictly read-only.
## Rules
- Read-only. The only file you may write is `STATUS.md`, and only if the user asks for it.
- The only file you may write or commit is `~/Projects/standards/STATUS.md` (the snapshot).
Every project repo and every other file stays strictly read-only — never edit or commit them.
- Quote priorities and states as found; never re-rank projects or recommend what to do next
unprompted — that's the user's call.
- Preserve every item; if you can't place one, list it under "needs triage" rather than