Files
Keysat b7625c4e83 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.
2026-06-14 14:14:07 -05:00

103 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Cross-project roundup — orchestration guide
*Substance file per the portability protocol. Vendor wrappers (e.g.
`adapters/claude/commands/roundup.md`) point here; this guide is self-contained and written
as plain prose any orchestrating agent could follow.*
You produce one **portfolio-wide status report** across all of the user's projects: what
each is, where it stands, and every open to-do gathered into a single priority-grouped list
— including items still sitting un-triaged in the inbox, not yet pushed down to any repo.
**Your job is to read and report, not to decide.** Gather faithfully and group by the
priority signals you find; do **not** rank the projects against each other or tell the user
what to work on. Choosing the best use of time is a conversation the user has on top of this
report — your output is the evidence-backed inventory that makes that conversation possible.
You run in the main thread, so after presenting you can help the user reason about ordering
if they ask — but only then, and only with their input.
## Phase 1 — Discover (no deep reading)
- List the candidate projects: the immediate subdirectories of `~/Projects` that are git
repos (e.g. `ls -d ~/Projects/*/.git`). Skip non-repo folders; note any you skip.
- Include the standards repo — its ROADMAP holds the cross-cutting tooling work — but label
its items as the meta/tooling layer so they're easy to tell apart from product work.
- Honor any focus the user gave (a subset of repos, or "only P0/P1").
## Phase 2 — Fan out (one read-only reader per repo)
Delegate to a read-only reader subagent per repo (e.g. the `Explore` agent), in parallel
where your tooling allows. Give each the repo path and this exact ask:
> Read only this repo's `AGENTS.md` (especially its `## Current state` section) and
> `ROADMAP.md` if present. Return, compactly: a one-line description; the current state
> (what's done, what's in progress and where it stands); the concrete next steps listed; and
> the ROADMAP backlog items with any priority markers. Quote priorities/labels verbatim; do
> not invent or re-rank. If a file is missing, say so. Read nothing else; do not review code.
Separately, read the inbox yourself: `~/Projects/standards/INBOX.md`. Collect the unchecked
items — these are captured-but-not-yet-triaged, the work that hasn't reached a repo's ROADMAP
yet. Keep `(new)` / `(new:…)` items apart: they're proposed *new* projects, not tasks in an
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 → STATUS.md + inline)
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 (used identically for the file and the inline copy):
```
# Roundup — <date>
Repos scanned: <list> (skipped/failed: <list with reason>)
## Per-project snapshot
<repo> — <one-line state>; in progress: <…>; next: <…>
... one block per repo, 13 lines each ...
## Priority queue (all projects + untriaged inbox)
P0 → P3, every actionable item once, each one line:
[Px] item — source: <repo> | inbox(untriaged) — evidence pointer
Items with no priority signal go under "Unprioritized — needs triage", never dropped.
## Not yet pushed down (inbox)
The untriaged inbox items, grouped by target project — these exist nowhere but the inbox.
## Proposed new projects
The (new)/(new:name) inbox items — ideas awaiting the new-repo bootstrap.
## Gaps
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
- 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
dropping it.
- If a reader fails or a repo can't be read, report it honestly rather than papering over it.
- If blocked, report exactly what blocked you — never guess or fabricate a project's state.