Acceptance Review Loop
Use this playbook after implementation validation is already recorded with wap-flow complete.
Lifecycle terms stay distinct throughout this loop:
completed: implementation validation evidence recordedaccepted: acceptance gates currently passfinalized:accept finalizewrote the accepted closeout decisionclosed: a GitHub issue was actually closed
Initialize
Section titled “Initialize”wap-flow accept init --preset <manual|agent|balanced> --profile <local|local_pr|github> [--surface issue|pr|local] [--pr <number>]wap-flow accept statusaccept can be used for both GitHub-backed and local-private authority. issue and local surfaces both work for local-private tasks; issue keeps issue-style findings locally without requiring promotion. pr surfaces and pr lifecycle commands remain GitHub-only.
Manual-only closeout
Section titled “Manual-only closeout”wap-flow accept manual --by <name> --result pass --evidence "<what was reviewed>"wap-flow accept check --strictwap-flow accept finalizeFor local-private tasks, this is the normal closeout path. It reaches accepted and finalized state locally without closing a GitHub issue, whether the acceptance session uses surface: local or surface: issue.
Local agent review
Section titled “Local agent review”wap-flow accept review --agent claude_localwap-flow accept statuswap-flow accept resolve --finding <id> --evidence "<fix evidence>"wap-flow accept check --strictGitHub-backed remote review
Section titled “GitHub-backed remote review”wap-flow accept request-review --agent <id>wap-flow accept wait-remote --agent <id> --for claimwap-flow accept wait-remote --agent <id> --for resultwap-flow accept sync --agent <id>wap-flow accept statusThis path is GitHub-backed only.
If findings remain open:
wap-flow accept resolve --finding <id> --evidence "<fix evidence>"wap-flow accept request-review --agent <id>Finalization gates
Section titled “Finalization gates”review_enforcement.closeoutremains mandatory blocking.review_enforcement.commitandreview_enforcement.pushare disabled by default, are valid only for compatible local non-PR profiles, and are true no-ops when disabled.warnis not a supported review-enforcement mode.accept finalizemust stay blocked while the current remote request isunclaimedorclaimed-pending.accept check --strictandpr reconcile --strictrequire reviews bound to the current review target commit.- Treat repeated remote stalls as sandbox or provider evidence, not as silent success.