Skip to content

feat(autopilot): the Orchestrator reads your answers, and closes superseded pull requests - #269

Merged
hoangsnowy merged 1 commit into
mainfrom
feat/orchestrator-answers-superseded
Oct 23, 2026
Merged

hoangsnowy merged 1 commit into
mainfrom
feat/orchestrator-answers-superseded

Conversation

@hoangsnowy

Copy link
Copy Markdown
Owner

Summary

Two gaps seen on the lab (VNChessAcademy):

  1. Answers were never read. The Autopilot Orchestrator asked on feat: clear the deferred backlog (8 follow-ups in one PR) #42 and feat: prototype agentic-sdlc — Sprint 0-5 + honest follow-up (live smoke + thesis comparison) #1, but replies went nowhere. Now each stuck task's ticket is read for a person's reply after the agent's last question (PersonAnswers: unsigned comments after the latest AgentOS-signed one). The reply goes into the brief (fenced as data), grants one more retry even when automatic retries are used up, and lets the agent close a ticket — only one a person answered about. Acting on it posts a signed acknowledgement, so one reply never buys two retries and a failed attempt produces a new question, not a loop.
  2. Duplicate PRs. An attempt cut short after pushing left its PR open; the next attempt opened another (refactor: de-dupe GitHub PR plumbing + cross-link Pipeline↔Workflow (coherence pass #1) #53 beside merged ci(security): F1 — dependabot + dependency-review + least-priv workflow tokens #56, feat: unify repo+token credentials — Pipeline PRs target a connected workspace (coherence A1) #54 beside feat(safety): Phase 1 — budget gate on Spine + per-tenant rate limit + runner_shell cap (S1–S3) + CodeQL #55). Every 10 min per board, open PRs on AgentOS attempt branches (issue-N-ai-fix…, strict regex) are closed as superseded when AgentOS tracks a newer PR for that ticket. Nothing else is ever closed.

IPrCreationService: ListCommentsAsync, ListOpenPullRequestsAsync, CloseAsync (GitHub impl).

Test plan

🤖 Generated with Claude Code

https://claude.ai/code/session_018WAdQ7Rm24xss5QDSvXtJB

…rseded pull requests

Two gaps the lab showed:
- The Orchestrator asked questions on tickets but never read the replies. Each stuck task's ticket is now read for a
  person's reply after the agent's last question (PersonAnswers: unsigned comments after the latest signed one). The
  reply goes into the brief (fenced as data) and buys one more retry even when the automatic ones are used up; the
  agent may also close a ticket — only one a person answered about. Acting on a reply posts a signed acknowledgement,
  so the same reply never buys a second retry and a failed attempt leads to a new question, not a loop.
- An attempt cut short after it pushed left its PR open and the next attempt opened another (#53 beside the merged
  #56, #54 beside #55). Every 10 minutes per board, an open PR on an AgentOS attempt branch (issue-N-ai-fix…) is
  closed as superseded when AgentOS tracks a newer PR for that ticket. Nothing else is ever closed.
- IPrCreationService: ListCommentsAsync, ListOpenPullRequestsAsync, CloseAsync (GitHub).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018WAdQ7Rm24xss5QDSvXtJB
@hoangsnowy
hoangsnowy merged commit f552cdc into main Oct 23, 2026
4 checks passed
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