Context
cli.py:202-232 — After develop completes, the code only logs git status and git worktree list. The transition to action:review happens unconditionally on exit code 0 (cli.py:231-232). No verification that tests pass, build succeeds, or linting is clean.
Proposal
Add a post-develop verification step in cli.py between runner completion and transition_issue_to_review():
if action == AgentAction.DEVELOP and return_code == 0:
# Run project verification before transitioning
verify_result = _run_project_verification(cwd)
if verify_result.passed:
transition_issue_to_review(issue_url)
else:
logger.warning("Post-develop verification failed: %s", verify_result.message)
# Don't transition — issue stays in develop state
Verification checks
Detection-based approach — try common project commands:
- Tests: detect and run test command (
uv run poe test, pytest, npm test, make test)
- Linting: detect and run linter (
uv run poe check, ruff check, eslint, make lint)
- Type check: detect and run type checker (
uv run poe typecheck, mypy, tsc --noEmit)
If no commands are detected, skip verification (don't block).
Rationale
Transitioning to action:review signals that the work is ready for human review. If tests are failing or linting is broken, the issue isn't ready — the reviewer wastes time on mechanical failures instead of reviewing logic.
Research shows all successful frameworks (agent-skills, Superpowers, gstack) enforce verification before declaring work complete.
Context
cli.py:202-232— After develop completes, the code only logsgit statusandgit worktree list. The transition toaction:reviewhappens unconditionally on exit code 0 (cli.py:231-232). No verification that tests pass, build succeeds, or linting is clean.Proposal
Add a post-develop verification step in
cli.pybetween runner completion andtransition_issue_to_review():Verification checks
Detection-based approach — try common project commands:
uv run poe test,pytest,npm test,make test)uv run poe check,ruff check,eslint,make lint)uv run poe typecheck,mypy,tsc --noEmit)If no commands are detected, skip verification (don't block).
Rationale
Transitioning to
action:reviewsignals that the work is ready for human review. If tests are failing or linting is broken, the issue isn't ready — the reviewer wastes time on mechanical failures instead of reviewing logic.Research shows all successful frameworks (agent-skills, Superpowers, gstack) enforce verification before declaring work complete.