Ready Label On Confirm - #275
Conversation
/speckit.confirmissue finished by patching the issue body and left no
mark on the issue's own state, so "this issue is fully defined" was
invisible from the issue list. Every `ready` label to date was applied
by hand; nothing in .claude/ wrote a label at all.
Add a label step after the body patch: additive only, so no existing
label is disturbed; idempotent, since adding a label an issue already
carries is a no-op; and non-fatal, so a label failure cannot leave the
decisions unsaved. It sits downstream of step 2's hard-stops, so an
unanswered or hedging review can never come out labelled ready.
RED-GREEN evidence (Constitution I, configuration/tooling carve-out —
this is a prompt-and-docs change, not production code):
RED grep -rn -- '--add-label|--remove-label' .claude/ -> no matches
#274 carries a `## Confirmed decisions` section, yet its `ready`
label came from FrankRay78, not the command (issue timeline).
docs/agentic-workflow.md:45 described the step as folding the
review into a section, nothing more.
GREEN the same grep now finds the label write in
.claude/commands/speckit.confirmissue.md, the report section
states whether the label landed, and line 45 says the step
labels the issue ready.
Suite unaffected and green: 648 passed, 0 failed, 0 skipped, 0 warnings.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YaRuiUQHdPMeGugFuvGfeK
|
@claude Review this pull request. Analyse the code changes and provide feedback covering:
End the review with a recommendation whether to merge the PR, and if not, what you suggest needs addressing first. |
|
Claude finished @FrankRay78's task in 2m 15s —— View job Review complete
SummarySmall, well-scoped change: adds a step 6 ( Correctness
SecurityNo concerns. This is a markdown prompt change with no executable code; the CLAUDE.md / constitution adherence
Test coverageNo Spec/test-plan mismatchesNone found — there's no Minor observations (non-blocking)
RecommendationApprove / merge. The change is minimal, correctly ordered relative to the existing hard-stops, additive-only as claimed, and the docs cross-reference checks out. The only open item — an organic end-to-end run — is explicitly called out by the author as outstanding evidence to capture on the next real |
Why
/speckit.confirmissuefinished by patching the issue body and left no mark on the issue's own state, so "this issue is fully defined" was invisible from the issue list — you had to open each one.readyalready exists and already means exactly that. Applying it here also completes the label state machine #271 starts at the other end:review= review pending → removed = reviewed →ready= defined.What changes
/speckit.confirmissuenow applies thereadylabel after it patches the issue body. Additive only — no other label is added, removed or altered,needs triageincluded.docs/agentic-workflow.mdsays the confirm step marks the issue ready.Non-obvious things a reviewer should know
readythat carries it after/speckit.confirmissue". No open issue is in a state where the command can complete: only Add /study — record what surprised a build, so the harness can be improved from evidence #260 carries a<!-- speckit:review -->comment and all ten of its> _Answer:_slots are empty, so the command hard-stops at step 2. Apply the ready label when /speckit.confirmissue folds in decisions #274 itself has no review comment and already carriesready, applied by hand. Manufacturing a candidate would mean inventing answers on a real issue or opening a throwaway one — scaffolding of the kind this issue explicitly rejects for the failure path. The next real confirm run on an unlabelled issue is the evidence; this PR ships without it rather than staging it.grep -rn -- "--add-label|--remove-label" .claude/returned nothing — no command in the repo wrote any label; and Apply the ready label when /speckit.confirmissue folds in decisions #274 carries a## Confirmed decisionssection yet itsreadylabel came fromFrankRay78in the issue timeline, not from the command. GREEN: the same grep now finds the label write, and line 45 of the workflow doc names it. Full suite run anyway and unaffected: 648 passed, 0 failed, 0 skipped, 0 warnings.readybecause the label step sits downstream of step 2's existing hard-stops — the ordering is the guarantee, and it is written into the step so a future editor doesn't move it.--add-labelof an existing label as a no-op, which preserves the command's stated "re-running is harmless".## Purposelist, beyond the issue's stated file touchpoints, so that summary doesn't describe a command that now does more than it says.How to verify
.claude/commands/speckit.confirmissue.md— it runs after step 5's body patch, and before step 7's "do not touch the review comment".grep -rn -- "--remove-label" .claude/finds only the prose forbidding it./speckit.confirmissue #Non it and confirm the label lands — that is the outstanding evidence noted above.Related
Closes #274
reviewthe trigger for the automated pre-specification review and removes it after posting. This PR completes the other end of the same label state machine.🤖 Generated with Claude Code
https://claude.ai/code/session_01YaRuiUQHdPMeGugFuvGfeK