Phase 3: dev<->test loop #7
No reviewers
Labels
No labels
agent
coordinate
agent
dev
agent
plan
agent
reflect
agent
test
agent
triage
ai/off
blocked
night
blocked
usage
loop
1
loop
2
loop
3
needs/approval
needs/human
needs/input
needs/review
plan/approved
run/night
state
blocked
state
building
state
passed
state
planning
state
testing
tier
fable
tier
haiku
tier
local
tier
opus
tier
sonnet
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
valssi-public/agent-workflows!7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "phase3-dev-test-loop"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 3 of agent-orchestration (runbook §4). Wires the dev<->test loop on top of the Phase 2 preflight/state lib.
dev.yaml(new) — dev side, serves two dispatch routes:implement(first build, APPROVER-gated) anddev(a bounce). Branchagent/issue-N, implement per approved plan + the latest test findings, no-progress guard (parks toneeds/humanwhen a run yields no new commit), push, (re)open the PR, hand off by labelling the PRagent/test. Replacesimplement.yaml.test.yaml(new) — test side, runs asCLAUDE_PLAN_PAT(comment+label, no push). Checks out PR head, builds+tests in DinD, Sonnet review vs plan. PASS →needs/review+state/passed. FAIL → findings comment, bumploop/Non the issue, re-applyagent/devto bounce.dispatch.yaml— addsdev-bounce+testroutes;implementnow targetsdev.yaml.plan.yaml— reconciled to the/-label taxonomy (agent/plan→needs/approval, failures→needs/human) and wired throughlib/preflight+lib/state.Every route now starts with
lib/preflightand records attempts vialib/state. Loop cap enforced by preflight atloop/3(escalate-or-park is Phase 5).Notes for review:
plan/approvedis intentionally KEPT on the issue through the loop as the standing autonomous-dev gate (thedev-bounceguard admits a bot PAT only when it's present). Only the human APPROVER can first apply it.testroute runs preflight against the PR number; loop/state labels live on the issue, so caps/night are trivially open on the PR side (intentional — the loop cap is enforced on the dev side).implementguard is APPROVER-only. Queue design should account for this.🤖 Generated with Claude Code