fix(telemetry): a rejection Discord answered outranks our own budget #729
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!729
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/a-rest-failure-keeps-its-status"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Slice of issue 292. The delivery-failure classifier that issue depends on discards Discord's verdict whenever a context error travels beside it.
Measured
A 403 with code 50013, a missing permission, reports as
abandonedand loses its status and code.Why that is the common path, not an exotic one
runSerializedreturns that join anddiscord.turn.failedclassifies it.reportUndeliveredsends a notice on a turn whose context has often just expired, so the join carrying a context error is the normal shape of a failed delivery.discordFailureAttrsreturns on its first match and the context check was first, per issue 648. That precedence is correct when the error is only a context error. When both are present Discord did answer, andabandonedsays the opposite.The existing test already claimed this
TestARestErrorIsStillClassifiedByItsStatuscarries the comment:It passes a bare rejection and never a joined one, so it asserted the sentence it did not test. Strengthened rather than replaced.
The change
Look for the rejection first; fall back to the context check and then the catch-all. 648's case is untouched: a pure context error, wrapped or joined with a plain error, still reads
abandoned.Acceptance
rest_errorand keeps its status and code.abandoned.no_response.Next owner
Engineer. Closed by the pull request that lands the change.
ward exec gatePASS on all six steps. Mutation: restoring the original precedence fails both new rows in a run where the package compiles.closes #727