Skip to content

docs(delivery),chore(skills),ci(issues): blocked state, task demotion, request close, claim release - #142

Merged
V3RON merged 1 commit into
mainfrom
delivery/state-holes
Sep 10, 2026
Merged

docs(delivery),chore(skills),ci(issues): blocked state, task demotion, request close, claim release#142
V3RON merged 1 commit into
mainfrom
delivery/state-holes

Conversation

@V3RON

@V3RON V3RON commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes the state-machine holes found after two live triage runs. Verification stays part of delivery: no verify state, no verify skill.

Blocked has a state. bug:blocked, feature:blocked, task:blocked. An agent sets it when its handoff names a blocker; the maintainer clears it by re-adding the label it came from. Without this a blocked handoff left the issue *:ready, so the next agent claimed it and hit the same wall. Sending it to task:draft would not have worked either, because the approval box is still ticked and the automation promotes it straight back.

Verification is part of delivery. Rule 9, DELIVERY.md, and deliver now say: every task PR walks its Done when, and the PR that closes the last open sub-issue also walks the parent's Completion conditions. The completion note on the feature tells the maintainer to close it.

issue-state.yml, three new jobs and three amended:

Job Change
task-ready also demotes task:readytask:draft when the approval, the spec, or a closed dependency goes away; runs on reopened too; a claimed task is left alone
needs-info-reply reopens the issue if the stale job had closed it, so the stale comment's promise is true
feature-complete renamed from feature-verify; the note says "close it once the completion conditions hold"
request-close (new) a feature closed as completed closes the request:new issue on its Request: line, with a pointer
pr-closed-unmerged (new) a PR closed without merging releases the claim on every issue its body closes, with a comment; label untouched
stale-claims (new) daily: a *:ready issue with an assignee and no comment, label change, or commit on <kind>/<n> for three days is unassigned, with a comment

Manifest. Restores bug:triaged, which #140 lost to a reformat (the live label exists), and adds the three blocked labels.

Not done, on purpose

Review-feedback state, an unlabelled-issue nudge, and feature:specified were left out as low value for now.

…s found after two triage runs

Blocked has a state: bug:blocked, feature:blocked, task:blocked, set by the
agent when its handoff names a blocker, cleared by the maintainer re-adding
the label it came from. Verification is part of delivery: the PR that closes
the last sub-issue walks the parent's completion conditions; no verify state.

issue-state.yml: task:ready demotes when the approval, spec, or a closed
dependency goes away (claimed tasks left alone); a reporter's reply reopens
a closed bug:needs-info; a completed feature closes its request; a PR closed
without merging releases the claim; a claim silent for three days is
released; the completion note tells the maintainer to close.

Restores bug:triaged to the labels manifest, which #140 lost to a reformat.
@V3RON
V3RON merged commit 8694593 into main Sep 10, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant