fix(acp): route terminal failures to authors or opt-in sibling handlers - #7551
Draft
viggo-1 wants to merge 6 commits into
Draft
fix(acp): route terminal failures to authors or opt-in sibling handlers#7551viggo-1 wants to merge 6 commits into
viggo-1 wants to merge 6 commits into
Conversation
Signed-off-by: viggo-1 <viggo@boombutik.dk>
🔐 Codex Security Review
|
Signed-off-by: viggo-1 <viggo@boombutik.dk>
Signed-off-by: viggo-1 <viggo@boombutik.dk>
Signed-off-by: viggo-1 <viggo@boombutik.dk>
Signed-off-by: viggo-1 <viggo@boombutik.dk>
Signed-off-by: viggo-1 <viggo@boombutik.dk>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When a provider rejects a request because its session or usage allowance is exhausted, Buzz should stop retrying the same unavailable provider and emit a signed, thread-bound failure notice. This R4 candidate keeps that narrow terminal-stop behavior and the opt-in addressed routing to an existing attested sibling, while preserving bounded cycle and preflight guards.
The resulting behavior is:
Validation already available on the R4 source includes a passing baseline and restored baseline for
failure_routing_tests, plus three guard-removal mutants that fail as expected: source-author attestation, handler attestation and source-channel binding. The mutation receipt records restored production source and the five command outcomes.The first full R4 CI attempt ended with one mobile failure (
2097passed):settings_profile_header_test.dart, “warms and clears a paused animated-avatar handoff”, expected a cleared handoff but observed one. The named test passed once in isolation; this is currently treated as timing/resource-sensitive evidence, not as a silently ignored pass.Full
just cipassed on the unchanged, clean R4 commitd6a4b53fe6274eaf4fac271cebdc0791c819a5f3in attempt 2, including 953 ACP tests, 6,488 desktop tests and 2,098 mobile tests. Independent exact-revision review and the offline version-bound gate passed.Controlled native-app pilots are now complete. One normal read ran through the R4 binary. A separate synthetic terminal-error fixture produced an addressed notice; an already-running, independently authenticated sibling read the original task and published the correct read-only result in the original thread. The first attempt with a stopped sibling did not start it; enabling the existing native Start on launch setting and verifying its process after app restart resolved that prerequisite.
The reserve's normal completion callback produced one unnecessary second notice; the reserve recognized the task as complete and did not repeat it. This is a workflow configuration issue requiring a recovery-specific no-callback rule, not evidence of durable scheduling or exactly-once writes. All synthetic ACP-command overrides were removed. The same hash-bound R4 binary is now running under the official desktop lifecycle on six existing operator-owned instances; both native handler fields were read back from each actual process after restart.
A separate all-unavailable fixture followed the configured five-agent chain and stopped on the visited guard. After removing the fixtures and restarting normal R4, a different included-plan worker resumed the original task from an unchanged checkpoint and published the remaining result in the original root. This demonstrates bounded read-only fallback and explicit resume after restart; it does not implement automatic wake at a later quota reset or prove external-write exactly-once semantics.