Skip to content

Archive exact open PR handoff representations#8677

Closed
aragora-automation-fable[bot] wants to merge 12 commits into
mainfrom
codex/handoff-state-exact-open-pr-transition
Closed

Archive exact open PR handoff representations#8677
aragora-automation-fable[bot] wants to merge 12 commits into
mainfrom
codex/handoff-state-exact-open-pr-transition

Conversation

@aragora-automation-fable

Copy link
Copy Markdown
Contributor

Summary

  • add a narrow exact-open-PR representation terminal path to reconcile_automation_outbox.py
  • require exact branch, base, and full desired head before writing a synthetic representation receipt and archiving
  • keep mismatched open PRs protected instead of treating them as represented

Validation

  • /Users/armand/.pyenv/versions/3.11.11/bin/python -m pytest -q tests/scripts/test_reconcile_automation_outbox.py
  • /Users/armand/.pyenv/versions/3.11.11/bin/python -m pytest -q tests/scripts/test_classify_handoff_state.py
  • /Users/armand/.pyenv/versions/3.11.11/bin/python -m ruff check scripts/reconcile_automation_outbox.py tests/scripts/test_reconcile_automation_outbox.py
  • git diff --check

Live dry-run proof

@aragora-automation-fable aragora-automation-fable Bot marked this pull request as ready for review June 30, 2026 01:51
@github-actions

Copy link
Copy Markdown
Contributor

Aragora Code Review

Advisory-only review. No issues found.

@scarmani

Copy link
Copy Markdown
Collaborator

OpenAI independent model review

Reviewer: codex/openai - independent focused dogfood review by a non-author lane, grounded on the exact PR head.
Head: 79c4fac
PR: #8677
Model family: openai

Verdict: PASS

Blocking findings: none.

Files reviewed:

  • scripts/reconcile_automation_outbox.py
  • tests/scripts/test_reconcile_automation_outbox.py

Focused dogfood verdict: The change is narrowly scoped to exact-open-PR terminal handling in the outbox reconciler. It requires narrow GitHub evidence, exact branch match, and full desired-head match before archiving an outbox item, and it preserves a keep decision when an open PR exists at a different head or branch. The tests cover the archive/receipt path and the mismatch keep path, which directly exercises the queue-pressure scenario this PR is meant to resolve.

Validation observed: live required checks for lint, typecheck, Generate & Validate, sdk-parity, and TypeScript SDK Type Check are green; aragora-merge-quorum is the only failing required check and is failing because model evidence is missing. I reviewed the current PR diff and existing comments/reviews. I did not run local tests in this lane.

dogfood: yes

This is not merge authorization.

scarmani and others added 4 commits June 29, 2026 21:06
Require exact-open-PR terminal archival to stay on PR-publication handoffs, honor local work markers and local-evidence base refs, and only run narrow GitHub proof after the bulk open-PR state is available.\n\nCo-authored-by: codex[bot] <codex[bot]@users.noreply.github.com>
Co-authored-by: codex[bot] <codex[bot]@users.noreply.github.com>
@scarmani

Copy link
Copy Markdown
Collaborator

OpenAI independent model review

Reviewer: codex/openai independent focused dogfood review by a non-author lane, grounded on the exact PR head.
Head: f77c2a6
PR: #8677
Model family: openai

Verdict: PASS

Blocking findings: none.

Files reviewed:

  • scripts/reconcile_automation_outbox.py
  • tests/scripts/test_reconcile_automation_outbox.py

Focused dogfood verdict: The change makes exact-open-PR outbox archival proof-gated instead of relying on broad open-PR branch presence alone. It requires publication intent, non-conflicting local evidence, no local-work markers, full desired-head matching, branch/base agreement, non-draft exact PR evidence, and owner-liveness safety before synthesizing a terminal receipt. The tests cover archive success, head/base/branch/draft mismatch keeps, local work/conflicting local evidence keeps, owner possible-unpushed-work/live-owner keeps, idempotency-key routing, and unhealthy GitHub fail-closed behavior.

Validation observed: live required checks for lint, typecheck, Generate & Validate, sdk-parity, and TypeScript SDK Type Check are green. The only failing required check is aragora-merge-quorum because current-head model evidence is missing. I reviewed the current PR diff and visible comments/reviews. I did not run local tests in this lane.

dogfood: yes

This is not merge authorization.

scarmani and others added 3 commits June 29, 2026 21:53
Keep automation outbox handoffs with contradictory local_evidence from being terminal-archived by landed-on-main, missing-branch, or merged-PR proof paths. Add regression coverage for each archive path.

Co-authored-by: Codex <codex@openai.com>
Use the selected state root for exact-open-PR owner liveness checks, reuse the shared head-field aliases, and allow the proof-gated narrow REST exact-PR path when the bulk open-PR cache misses a branch.

Co-authored-by: codex[bot] <codex[bot]@users.noreply.github.com>
@scarmani

Copy link
Copy Markdown
Collaborator

OpenAI independent focused dogfood review

Reviewer: codex/openai independent focused dogfood review by a non-author lane, grounded on exact PR head.
Head: d74cbcb
PR: #8677
Model family: openai

Verdict: PASS

Blocking findings: none.

Files reviewed:

  • scripts/reconcile_automation_outbox.py
  • tests/scripts/test_reconcile_automation_outbox.py

Focused dogfood verdict: The current-head change adds a stricter exact-open-PR terminal archival path for automation outbox handoffs. It gates archival on publication intent, non-conflicting local evidence, no local-work markers, full desired-head equality, matching branch/base GitHub evidence, non-draft exact open PR evidence, and owner-liveness checks before writing a synthetic receipt. The tests exercise archive success, narrow REST and bulk-cache miss cases, local evidence conflicts, draft, head, branch, and base mismatch keeps, unhealthy GitHub fail-closed behavior, and owner state plumbing. This reduces stale outbox pressure without broad-draining or deleting uncertain work.

Validation observed: live required checks for lint, typecheck, Generate and Validate, sdk-parity, and TypeScript SDK Type Check are green; aragora-merge-quorum is failing because current-head model evidence is incomplete. I reviewed the exact current diff, comments and reviews, and failed quorum log. I did not run local tests in this lane.

dogfood: yes

This is not merge authorization.

@scarmani

Copy link
Copy Markdown
Collaborator

Closing as a queue-drain churner, not as a judgment that the idea can never return.

Current live state at close:

  • Head: d74cbcb
  • Commits: 10 across repeated heads
  • Scope: scripts/reconcile_automation_outbox.py and tests/scripts/test_reconcile_automation_outbox.py
  • Non-quorum required checks are green
  • aragora-merge-quorum is still failing with status=needs_model_review_quorum
  • Recent exact-head evidence remains single-family OpenAI only after multiple head turns

Under the current queue-drain objective, this meets the FREEZE CHURNERS rule: do not keep patching or recollecting on a PR that has churned across 3+ heads and still fails quorum. The reversible drain action is to close this PR and let any future attempt return as a simpler replacement that removes the fragile abstraction or narrows the scope enough to settle cleanly.

@scarmani scarmani closed this Jun 30, 2026
@scarmani

Copy link
Copy Markdown
Collaborator

Queue-drain freeze: closing this reopened churner again under the hard anti-treadmill rule.

Live state before this close:

  • PR Archive exact open PR handoff representations #8677 is open/non-draft at exact head e0f5103 on branch codex/handoff-state-exact-open-pr-transition.
  • The PR now has 12 commits across repeated heads, after a prior queue-drain close at d74cbcb.
  • Non-quorum required checks are green, but aragora-merge-quorum is still failing.
  • The comment history shows repeated OpenAI-only exact-head evidence across older heads, followed by a prior churner close.
  • No operator-steering messages were pending for the claimed freeze lane.

Per the queue-drain FREEZE CHURNERS rule, this should not receive another patch or evidence cycle in this loop. The reversible drain action is to close it and preserve the branch for a deliberately smaller replacement if this outbox/handoff transition needs to return.

@scarmani scarmani closed this Jun 30, 2026
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.

1 participant