Repository navigation
Status skills on three axes + planners that close open decisions per batch (0.2.0) - #10
Merged
Merged
Conversation
…s (PROPOSAL) Seven batches, each written after its own question round with the human. Planner change is core (RFC + field evidence, B01); cdev-status and cdev-monorepo-status are new read-only skills. The plan's format does not change: progress is engineered at read time from sprint -> batch -> handoff, not from a maintained requirement list (human decision, recorded in DECISIONS). Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The planner drafted it as PROPOSAL and never activates a sprint; the state change is written on the human's explicit ratification of 2026-09-19. Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Anonymized record mined from the maintainer's prompt history and surviving transcripts: 16 planner launches (10 with a hand-written gap-closing line, 5 per-batch), the 2026-08-16 incident and rollback, two further failure shapes, the reference run; the three-axis status as accepted in the field and how it was actually produced; an explicit "not evidenced" section. rfc-process.md gains the interim rule: no RFC category yet, so RFCs open in Ideas with an [RFC] prefix. Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Second commit of B01 by necessity: the RFC links the evidence by commit permalink, so the evidence had to land and be pushed first. Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ing it Core change (RFC: Discussion #9). cdev-planner gains the rule's single home: show the grouping, then batch by batch - questions with suggested answers and one recommended, answers recorded, that batch written, next. No open decision, no question; the human's prompt is never handed back for confirmation. With no human present a batch with open decisions is written BLOCKED, never READY. cdev-monorepo-planner applies it by path reference, per SYSTEM_BATCH. Exercised in sandbox: attended (ask -> write interleaved across five batches, state captured at every stop), unattended (BLOCKED with named decisions), and a baseline against main's planner (one up-front round, then four batches and five assumptions the human never saw). Monorepo planner: sandbox not-run, no workspace fixture - protocol section 4 now says a recorded human field exercise stands in (B06). Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ad time New read-only skill. Functional requirements, non-functional requirements and user stories are derived when asked, from the raw chain sprint -> batch -> handoff (plus decisions and git); the plan holds no requirement list to keep current. Every item cites its source, percentages are estimates and say so, `since` derives a delta from git history, an unsupported axis reads "not derivable". It edits nothing and marks nothing. Exercised cold in sandbox by fresh subagents: cold start (twice), since, not-derivable, unconditioned repo. The first round found three defects in the skill's own text (process rules counted as NFRs, two figures per axis, length) - fixed and re-exercised. The not-derivable clause took four attempts; the first three are recorded in the handoff, one of them discounted because the fixture's commit message leaked the answer. Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
New read-only skill for a conditioned workspace. Applies cdev-status by path reference (the method has one home) and adds only what is system-level: contracts as a source, local truth - each repository's own plan and handoff, read in the repository, divergence flagged and the repository's state reported, the state snapshot never deciding - and one compact per-repository table. Static checks, plugin validation and a live load pass. Sandbox: not-run, declared - no workspace fixture exists. Its evidence is the human field exercise of B06; the sprint does not close without it. Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
README, doc 08, CONTRIBUTING and doc 09 list cdev-status and cdev-monorepo-status and count nine skills. plugin.json goes to 0.2.0 and the CHANGELOG's Unreleased section becomes 0.2.0 in the same commit (semver per CONTRIBUTING: compatible capabilities). Tag, release and marketplace pin happen after the merge, from main, by the human - commands in the handoff. Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ked on the human No workspace fixture exists, so cdev-monorepo-planner's pointer and the whole of cdev-monorepo-status cannot be exercised in sandbox. The script has the human load the branch with --plugin-dir (and prove it is the branch), run the planner bare on a throwaway objective and discard the output, then run the status cold in a fresh session on their real SYSTEM sprint. B06 stays BLOCKED until they report back; the sprint does not close and the PR is not merged without that entry. Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ocked on B06 Full protocol sequence green over nine skills. Report covers what was added, what was deliberately not built and why, what the exercises taught, and the verification debt that remains - above all that cdev-monorepo-status has never been seen running. B07 cannot close before B06: it waits on the human's field exercise, and the merge additionally on the RFC's summary (#9). Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
At the human's request the agent ran the field exercise itself, on local clones of a real workspace (never the real trees: clones outside this repo, origin removed). The planner held on A1-A3, A5, A6, A8. The first status run fanned out to three subagents and died on the usage limit with nothing delivered; "read narrowly" brought it to ~4 USD and a delivered status that led with local truth - and over-corrected, skipping contracts, decisions and local handoffs, which its own method note admitted. Now: slices, never fewer sources, and name whatever was not opened. Regression on a fixture passes; that last wording is unexercised on a real workspace. Protocol section 4 and DECISIONS record the agent-run variant. B06 stays BLOCKED on the two judgments only the human can make (B7, B9). Refs #8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
elmayii
marked this pull request as ready for review
September 20, 2026 07:42
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Two things the maintainer had been doing by hand for three months, moved into the package (Sprint 10, issue #8):
cdev-plannershows the batch grouping, then goes batch by batch — questions with suggested answers and one recommended → answers recorded → that batch written → next. No open decision, no question; the prompt is never handed back for confirmation. With no human present, a batch with open decisions is writtenBLOCKED, neverREADY.cdev-monorepo-plannerapplies the rule by path reference, per SYSTEM_BATCH.cdev-statusandcdev-monorepo-status— read-only readings of where a sprint stands on three axes (functional requirements, non-functional requirements, user stories), engineered at read time from the raw chain sprint → batch → handoff. The plan's format does not change: there is no requirement list to keep current.Plus: field evidence and the RFC, live docs, version 0.2.0, and the sprint report (
docs/develop/reports/s10.md— including what was deliberately not built and why).Draft on purpose. The merge waits on two things:
AGENT_PROGRESS.md. What remains are the two judgments only the maintainer can make: is every requirement and story in the produced status one they recognise (B7), and is it the status they used to ask for by hand (B9)Merge by merge commit, not squash: the branch carries one commit per batch by design.
Layer
Core (the planner rule — RFC: Discussion #9, field evidence:
docs/develop/reports/s10-field-evidence.md) + skill (the two status skills: read-only, the loop is untouched, so no RFC; recorded in DECISIONS 2026-09-19) + docs.Evidence
Everything below is recorded per check in
docs/develop/AGENT_PROGRESS.md, newest-first.Planner rule — sandbox, fresh subagents, hand-conditioned fixture. Attended: fixture state captured at six stops — nothing written at the first, then sprint header, then one batch after each round of answers, across five batches; lettered options with one recommended; a permission question; a free-text answer taken; an overruled recommendation honoured; a fully specified batch written with no question. Unattended: the undecided batch
BLOCKEDwith two named decisions and a suggested answer each. Baseline (main's planner, same scenario): one up-front round, then four batches at once and five assumptions its own report says "the human has NOT seen".cdev-status— sandbox, cold, fresh subagents: cold start (twice),since, not-derivable, unconditioned repo; every fixture left with a clean tree. The first round found three defects in the skill's own text (the repo's working rules counted as non-functional requirements; two figures per axis; length) — fixed and re-exercised. The not-derivable clause took four attempts; three are on record as the fixtures' fault, one of them discounted because the fixture's commit message leaked the answer.cdev-monorepo-plannerpointer andcdev-monorepo-status: sandboxnot-run, declared (scripts/sandbox.ps1builds single repositories only) — field-exercised instead, headless with--plugin-dir, on clones of a real workspace. Planner, launched bare: pointer followed, grouping first, questions per SYSTEM_BATCH before each write (clone untouched after the first turn), system-level and permission decisions raised, an answer pushed back on where it collided with a repository's local protocol. Status: the first run fanned out to three subagents and died on the usage limit with nothing delivered; "read narrowly" brought it to ~4 USD and a delivered status that led with local truth — and over-corrected (it skipped contracts, decisions and local handoffs, and its own method note said so); now "slices, never fewer sources", regression-checked on a fixture, not yet re-run on a real workspace.claude plugin validate .passesChanged skills/profiles exercised in a sandbox fixture — single-repo skills yes; multi-repo skills
not-run, covered by the pending field exercise (protocol §4, local line)CHANGELOG.mdupdated if behavior changed —## [0.2.0]Closes #8
🤖 Generated with Claude Code