research-plan-implement v4.1.0
·
21 commits
to main
since this release
[4.1.0] - 2026-08-15
The ### Completion block and the incremental review metadata below come from
one gap: the templates assumed a single agent spanning every phase of a plan,
accumulating notes in its own context. Running a fresh agent per phase — which
is the point of the workflow — deletes that context at every boundary. Anything
a later phase or /prepare-pr needs now has to be on disk before a phase stops,
so both files that outlive a phase gained a per-phase record.
Added
- Plans now carry a
### Completionblock per phase./create-planemits it
empty;/implement-planfills it in before the pause message with the
phase's deviations, anything the user waived or left unproven, and anything a
later phase has to account for. The plan is the one file every phase agent
reads, so it's where a finished phase leaves what the next one needs./iterate-plancarries filled-in blocks across intact and never edits
them — they're the record of a phase whose author has already exited/prepare-prreads them for the deviations and waivers that belong in the
PR description- Splits cleanly from the review metadata by audience: the completion block
is what changed relative to the plan, the metadata is per-file review
triage
Changed
/implement-plannow builds review metadata incrementally, one section per
phase, instead of writing it once after the last phase. Under the old
design a phase-5 agent had to re-derive the per-file triage by reading a diff
it never wrote — which is the exact cost the metadata existed to eliminate,
just moved from/prepare-prto the last phase:- The metadata file's basename now mirrors the plan's, so an agent with no
memory of earlier phases finds it in one Read instead of globbing a
directory by date - Each phase appends a
## Phase Nsection covering only the files it
touched — Needs careful review / Mechanical / Tests / Deliberate non-fixes —
written while the reasoning is still in context, before the pause message - The last phase adds a
## Summaryfor the cross-cutting reads no single
phase owns: what to open first, what's unproven across the whole change,
what a later phase superseded - A section reconstructed after the fact is headed
(reconstructed from the diff — not authored in-phase), so downstream readers can tell author-grade
triage from reader-grade review-metadata-template.mdreshaped from one flat document into the
per-phase sections, with a back-link to the plan it belongs to
- The metadata file's basename now mirrors the plan's, so an agent with no
/prepare-prreads the metadata by mirroring the plan's basename rather than
matching recent dates, and treats reconstructed sections as claims to verify
against the diff rather than author intent to repeat. It also reads the plan
itself now, not just the design doc./implement-plan's review metadata is no longer described as optional, and is
written silently — it's plumbing between two skills, not a deliverable, and
the user shouldn't have to decide about it on every phase.
Fixed
herdr-phase.shstamped the phase glyph onto the focused tab rather than
the agent's own tab, so in a multi-tab workspace the agent's label went stale
while a sibling tab (often a human-run orchestrator) collected a stray prefix
that later runs couldn't strip. The script now resolves its tab from
$HERDR_TAB_ID, which herdr exports into each pane, and keeps the
focused-pane scan only as a fallback. Existing installs carry a copy of this
script at.claude/scripts/herdr-phase.sh— re-run/setupto pick up the
fix, and clean up any stacked prefixes by hand with
herdr tab rename <id> "<label>". (#15)/implement-plangave contradictory instructions about small plan deviations,
telling the agent both to record them in the review metadata and to leave them
to the plan. Deviations now go wherever they aren't already: cross-referenced
when the plan carries per-phase completion blocks, recorded in the metadata
when it doesn't.