Skip to content

backport: upstream #2403 — CI nudge dedup starvation#20

Merged
nhod merged 2 commits into
mainfrom
ao/agent-orchestrator-4/issue-10-backport-2403
Jul 6, 2026
Merged

backport: upstream #2403 — CI nudge dedup starvation#20
nhod merged 2 commits into
mainfrom
ao/agent-orchestrator-4/issue-10-backport-2403

Conversation

@polymath-orchestrator

@polymath-orchestrator polymath-orchestrator commented Jul 6, 2026

Copy link
Copy Markdown

Summary

Closes #10

Test plan

  • cd backend && env -u AO_PROJECT_ID -u AO_SESSION_ID go build ./...
  • cd backend && env -u AO_PROJECT_ID -u AO_SESSION_ID go vet ./...
  • cd backend && env -u AO_PROJECT_ID -u AO_SESSION_ID go test ./...

Merge policy

  • PARK for human merge: this diff touches backend/internal/lifecycle/**, which is a sensitive path under repo policy.

View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.

…nflict nudges

ApplyPRObservation drives three independent nudge lanes (CI failure, review
feedback, merge conflict), each with its own dedup key. Each lane did
`return m.sendOnce(...)`, but sendOnce returned nil for both a real send and a
dedup/attempt-cap no-op. So while a PR's CI stayed failing on the same commit
(a normal multi-poll state), the CI lane deduped to a no-op yet still returned,
and the review-feedback and merge-conflict lanes below were never reached. A
reviewer's "please fix" nudge was silently suppressed for as long as CI was red.

Make sendOnce report whether it actually sent (bool), and have each lane return
early only on a real send or error, falling through to the next lane on a dedup
no-op. This preserves the one-nudge-per-tick priority for a fresh CI failure
while letting independent review/merge-conflict feedback through once the CI
nudge is already delivered and deduping. Other sendOnce callers ignore the new
bool. Adds a regression test covering the deduped-CI-then-new-review case.
@polymath-orchestrator polymath-orchestrator force-pushed the ao/agent-orchestrator-4/issue-10-backport-2403 branch 2 times, most recently from ade5b65 to 2c56a0f Compare July 6, 2026 03:27
@polymath-orchestrator polymath-orchestrator force-pushed the ao/agent-orchestrator-4/issue-10-backport-2403 branch from 2c56a0f to 560c2db Compare July 6, 2026 03:33
@polymath-orchestrator

Copy link
Copy Markdown
Author

Parked by address-issue-queue after final-review loop: backend gates are green, but codex-fugu found an unresolved P2 in the local duplicate-check follow-up on top of upstream AgentWrapper#2403. Finding: CI dedupe key changes when a PR goes from one failed check named e.g. build to multiple failed checks with the same name, causing the previously delivered check to be re-sent under a new hashed key before fresh lower-priority review/merge-conflict lanes can run. This PR touches backend/internal/lifecycle/**, so even after this is resolved it must be human-merged, not auto-merged.

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.

backport: upstream #2403 — CI nudge dedup starves review/merge-conflict nudges

3 participants