Pilot: weekly portfolio review MVP
Pilot: weekly portfolio review MVP
TL;DR: The MVP from the brief and design is built: scripts/review_prepare.py, scripts/review_render.py and a review mode in the planning skill. A fresh Sonnet agent ran it end to end from the skill alone on real data, with scripted feedback standing in for Rufus at both gates, and passed all ten checks. The trial output is a test record only; the gate decisions in it were scripted, not Rufus's.
Run 1: Sonnet, 26 Oct
Files: trial page, trial JSON, trial week plan.
| # | Check | Result |
|---|---|---|
| 1 | Files exist, renderer exits 0 | Pass |
| 2 | Complete table | Pass: 30 projects = 30 open in the cache (27 active, 3 iced) |
| 3 | Gaps with fixes | Pass: 56 gaps, all with a fix. ais-61b/ais-q7s are now linked to 2622, so the epic-no-project example is ais-qdf instead |
| 4 | Shortlist with reasons and questions | Pass: 7 projects, 4 questions |
| 5 | Gate 1 applied | Pass: course first, comms and Wisdom to not-this-week, Film and Retreat iced, feedback logged, page re-rendered |
| 6 | Drill-down with real bead IDs | Pass: every key task checked with bd show |
| 7 | Gate 2 applied | Pass: one key task for 2620, feedback logged |
| 8 | Harvest split | Pass: 7 permanent edits, 4 Beads changes, goal, focus, people; nothing applied |
| 9 | No side effects | Pass: the only changes in sibling repos were other sessions' commits (comms, research); no weeks/2026-10-26.md |
| 10 | From the skill alone | Pass: no clarifying questions before gate 1 |
What it found that was useful: the Collective Action course's key tasks are unassigned two days before it starts; the SoR launch epic has no ready task; the Global Connection Call's setup tasks (Zoom, Luma) were due in early October and are still open; three records share one epic (2602, 2610, 2613).
Fixes after the run
- The readiness rule marked running work as "needs planning" just because the record had no issue tree. Now a missing tree on running work is "ready, planning thin", and unassigned or overdue key tasks are flagged.
- Gaps were 64 at first. Owner gaps now count top-level epics only, and the page groups gaps by kind with the most consequential first (repos without a record, then epics without a project).
Not yet tested
- An Opus run (Sonnet passed; Opus is expected to do at least as well).
- A second week, where last week's review supplies the priority history and ice decisions.
- Applying a harvest for real (record edits in other repos, Beads changes).