Code Review Workflow

Workflow for reviewing tickets (QC process) and addressing review feedback.

Prerequisites

GitHub Issues Review Process

In GitHub Issues, the review process works differently than traditional ticketing systems:

  • No separate reviewer role: GitHub uses a secondary assignee as the reviewer
  • Self-assignment: When a ticket is in Review status with only one assignee (the implementer), anyone can assign themselves as the secondary assignee to review it
  • Status transitions: Review decisions move tickets between Review, Done, and Ready statuses

For Reviewers: QC Process

# 1. Start QC (assigns you as secondary assignee/reviewer)
wseng qc start ws-eng-cli/123

# 2. Review code, test functionality, watch demo video

# 3. Generate automated review
wseng review-work

# 4. Fetch PR comments
wseng fetch-pr-review

# 5. Make decision
wseng qc pass          # ✅ Pass → moves to Done
wseng qc soft-push     # ❌ Soft fail → moves back to Ready
wseng qc fail           # ❌ Hard fail → moves back to Ready + QC:failed label
wseng qc stop          # ⏸️ Stop reviewing (can't complete)

QC Commands

Start QC:

wseng qc start ws-eng-cli/123

Assigns you as secondary assignee (reviewer), transitions ticket to Review status, checks out branch.

Override assignment:

wseng qc start ws-eng-cli/123 --force-review

Pass:

wseng qc pass

Transitions ticket to Done status. Product people will then do acceptance and move to Accepted if approved.

Soft push (soft fail):

wseng qc soft-push

Transitions back to Ready. Leave clear PR comments explaining what needs to change.

Hard fail:

wseng qc fail

Transitions back to Ready and applies QC:failed label. The assignee must fix issues and push back.

Stop review:

wseng qc stop

Unassigns you as reviewer. Ticket remains in Review status for someone else to pick up.

For Implementers: Addressing Feedback

# 1. Fetch review comments
wseng fetch-pr-review

# 2. Auto-fix unresolved comments (optional)
wseng fetch-pr-review --implement

# 3. Make manual fixes

# 4. Commit changes
wseng commit --type fix

# 5. Resubmit for review

Automated Checks

When ticket is moved to Review status, these run automatically via GitHub webhooks:

  1. wseng verify-acceptance-video - Validates demo video
  2. wseng review-work - Automated code review
  3. wseng ws infer-breakdown - Calculates story points

Results posted as PR comments.

Common Pitfalls

❌ Bad: Soft-pushing or failing without clear feedback

wseng qc soft-push
# No PR comments explaining issues

Solution: Always leave detailed PR comments before soft-pushing or failing. Implementer needs to know what's wrong, why, and how to fix it. For hard failures (QC label), be especially clear about what must be fixed.

❌ Bad: Not watching demo video

Skipping the demo video and only reviewing code can miss integration issues and misunderstandings that aren't visible in code.

Solution: Always watch the demo. Verify ALL acceptance criteria are demonstrated.


Complete workflow from starting ticket to delivery.

Full reference for QC commands and options.