Add issue_acceptance_gate validation for Controller Issue Acceptance comments, final-report rules blocking merge-only issue completion claims, documentation/templates, and regression tests. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2.0 KiB
Controller Issue-Acceptance Gate
A merged PR does not automatically prove an issue is fully satisfied. After merge, a controller must audit the linked issue against its acceptance criteria and post a durable handoff before the issue is treated as complete.
Workflow position
- Author implements the issue and opens a PR.
- Reviewer reviews the PR.
- Merger merges the approved PR.
- Controller performs issue-acceptance audit.
- Controller posts a
## Controller Issue Acceptancecomment with either:STATE: acceptedand checked criteria, or- a rejection path (
more-work-required,needs-tests,needs-docs, etc.) withMISSING_WORKand a paste-readyNEXT_PROMPT.
Gitea may auto-close an issue via Closes #N in the PR body. That closure is
merge mechanics only. Controller acceptance is still required before any final
report or queue controller treats the issue as complete.
Template
Use issue_acceptance_gate.render_controller_acceptance_template() or the
copy in
skills/llm-project-workflow/templates/controller-issue-acceptance.md.
Final-report rules
Final reports must not claim issue complete solely because a PR merged.
Either:
- include a valid
## Controller Issue Acceptanceblock withSTATE: accepted, or - explicitly state
controller acceptance pendingand identify the controller as the next actor.
final_report_validator enforces this through
issue_acceptance_gate.validate_final_report_issue_acceptance().
Role boundaries
- Authors must not mark their own issues accepted.
- Reviewers must not mark issue acceptance unless acting under controller capability.
- Mergers merge PRs; they do not substitute for controller acceptance.
Related
- #495 — canonical next-action comment templates
- #496 — fail-closed canonical comment validation before posting
- #303 — controller handoff schema for reconciliation workflows