Skip to content

fix(review): persist pre-fanout E2E routing evidence - #551

Open
Crohm007 wants to merge 1 commit into
zxkane:mainfrom
Crohm007:contrib/adt-115-pre-fanout-e2e-routing
Open

Crohm007 wants to merge 1 commit into
zxkane:mainfrom
Crohm007:contrib/adt-115-pre-fanout-e2e-routing

Conversation

@Crohm007

@Crohm007 Crohm007 commented Sep 1, 2026

Copy link
Copy Markdown

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.

|| _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

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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 \

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants