Skip to content

Add post-develop verification before label transition #69

Description

@monkut

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:

  1. Tests: detect and run test command (uv run poe test, pytest, npm test, make test)
  2. Linting: detect and run linter (uv run poe check, ruff check, eslint, make lint)
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions