Repository navigation
Conversation
T-1: Reproduce priority and mutex queue failure.
T-1: Cover selection state transport.
Queue mutex conflicts until release and keep mapped states in stable delivery order. Refs: #611
Document the override and keep workflow mirrors aligned. Refs: #611
Keep the state and queue decisions in small functions. Refs: #611
Keep existing eligibility and argument tests on runnable cards. Refs: #611
Code Review — PR #612Verdict
PR: #612 · Author: rucka · Reviewer: independent Pair verifier · Date: 2026-11-07 · Story: US-611 · Type: feature Classification matrixService criticality green (adopted Low); change risk yellow (shared CLI/workflow contracts); business impact red (core workflow); security relevance red (untrusted argument parsing, no introduced vulnerability); coupling balanced. Story floor red. Cost green: no new cost signal. AssessmentsSecurity — Input validationVerdict: green — Security — Output handlingVerdict: green — state values are quoted in errors; audit values come from fixed state tokens. Security — AuthenticationVerdict: green — no changed authentication path. Security — AuthorizationVerdict: green — no changed access-control path. Security — Introduced vulnerabilitiesVerdict: green — none found. CostVerdict: Architecture (Coupling)Verdict: green — the CLI and workflow share a policy contract; both are tested, but the override boundary diverges (r0-1). Bug fix — Red test before fixVerdict: not applicable — feature PR. DetailsFindings by severityMajor (must fix before merge)
Minor (must fix before merge)
Functionality & requirements (AC coverage)AC1: Testing & quality gates
Adoption, debt, docs, deploymentGitHub Projects mapping and detached setup followed. No new dependency or cost surface. CLI docs, policy and generated mirrors changed with the implementation. No separate debt item; revert is the rollback path. |
Open findingsRe-review r2: 1 new (r2-3 new in r2), 2 still open.
|
PR Information
PR Title: [US-611] feat: prioritize root delivery state
Story/Epic: #611 / #605
Type: Feature
Priority: High
Assignee: @rucka
Labels: none until review classification
Summary
What Changed
Root runs use mapped delivery state in stable Review → In Progress → Ready order. A validated
--state-orderargument overrides## Delivery State Orderadoption. Draft follows those states; unreadable and unmapped states get explicit exclusions. Mutex conflicts wait in the finite pool and run after release.Why This Change
The #605 parallel run selected Ready #598 before Review #589. Both need
pair-capability-publish-pr; the conflict dropped #589 from a non-watch run. Priority now gives #589 the mutex first and retains #598 for the same batch.Story Context
User Story: #611
Acceptance Criteria: AC1–6: state order and override, #589/#598 mutex, finite queue drain, mapped/unknown states, audit and console, selection → plan → pool tests.
Changes Made
Implementation Details
Files Changed
apps/pair-cli/src/commands/run/, canonical.workflows/pair-loop.js,.skills/loop/SKILL.md, generated mirrors, policy and CLI docs..changeset/611.md.Services to Release
--state-order.Testing
Test Coverage
Test Results
pnpm quality-gatepassed, including 3,624 CLI tests, workflow tests, lint, type checking, formatting and repository checks. The pre-push gate passed on the pushed head.Documentation
Documentation Updates
--state-order.Reviewer Guide
Review Focus Areas
Check mapped-state transport, stable priority before mutex acquisition, and pool queue release in
root-select.ts,root-plan.ts,parallel-entry.tsandparallel.ts. Compare the shipped workflow and generated mirror.Testing the Changes