Conversation
| || _e2e_route_rc=$? | ||
| if [[ "$_e2e_route_rc" -ne 0 ]]; then | ||
| log "ERROR: required E2E failure route failed (rc=${_e2e_route_rc}); refusing to report a pending-dev transition." | ||
| RESULT_PARSED=true |
There was a problem hiding this comment.
[P1] Requeue review when the required E2E verdict write fails
If the lane reports dev-actionable=false, the disposition is saved, and the required verdict POST fails, this branch sets RESULT_PARSED=true and exits with the issue still reviewing. In the default recovery mode (without hard token-budget recovery), the dispatcher's dead-review path eventually moves it to pending-dev. With a missing or unconfirmed dev session, same-HEAD recovery accepts the new e2e-failed disposition, defaults the missing verdict to actionable, and dispatches dev-new. I reproduced the failed write in the real wrapper and the resulting DEV dispatch through the existing recovery router.
This bypasses INV-150's requirement that the classification be durable before pending-dev becomes observable. Please handle return code 20 through a safe pending-review retry, including the cleanup path, and distinguish it from return code 21, where the evidence is already durable. The existing _review_finish_required_pending_dev_route provides that distinction. Add regression coverage through dispatcher recovery after a verdict-write failure.
| _review_ensure_required_verdict \ | ||
| "$issue" "$head" "e2e-failed" "pre-fanout" \ | ||
| "failed-substantive" "" "$dev_actionable" || return 20 | ||
| itp_transition_state "$issue" "reviewing" "pending-dev" >/dev/null 2>&1 \ |
There was a problem hiding this comment.
[P2] Update the executable-spec mapping for the relocated transition
Moving this reviewing -> pending-dev write out of autonomous-review.sh changes the physical write-site counts, but docs/pipeline/spec-codesite-map.json still declares the old location. check-spec-drift.sh now fails C.4 (wrapper: 8 actual vs. 9 declared; helper: 3 actual vs. 2 declared) and C.5 because the old E2E hard gate fail — no fan-out anchor no longer has an adjacent transition. The base passes this check, and the approved GitHub Spec Drift job confirms the same failures on this PR.
Please move the corresponding site mapping and update any affected transition/code-site references to this helper, then rerun bash skills/autonomous-dispatcher/scripts/check-spec-drift.sh. This is a required CI gate.
Persist strict same-HEAD pre-fan-out E2E routing evidence and explicit dev-actionability before pending-dev becomes observable. Pipeline docs and focused regression coverage are included. Local focused validation is green; GitHub hermetic CI is the authoritative full-suite gate. Tracking context: Crohm007/autonomous-dev-team-infra#115.