Repository navigation
fix(runtime): surface provider HTTP rejections instead of RUNTIME_FINAL_ERROR - #121
Merged
Merged
Conversation
…AL_ERROR The protected live-tangle check failed with only RUNTIME_FINAL_ERROR. The runtime's real message was a Router 401 invalid_key, but the run-event mapper reduced every free-text final error to the bare code. Classify Router HTTP failures into a public diagnostic that keeps the status class, HTTP status, and the provider's own error type and code tokens. Tokens that look like credentials are dropped, and provider free text still never reaches durable state. The same classifier now covers backend_error events and the reconnect and replay terminal paths.
tangletools
approved these changes
Oct 6, 2026
tangletools
left a comment
There was a problem hiding this comment.
✅ Auto-approved PR — f6137c69
Blanket team auto-approval is intentional. This is not a code review.
No automated review runs on this PR. This approval rests on the rule above alone.
tangletools · auto-approval · reason: blanket_auto_approve · 2026-10-06T00:57:51Z
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.
Problem
The Release Live Evidence runs 37391592677 (Oct 6) and 36551284049 (Sep 29) failed
live-tanglewith onlyerror="RUNTIME_FINAL_ERROR".run-event-mapperpassed every final error throughsafeDiagnostic, which collapses any free-text message to that bare code.Root cause of the live failure (configuration, not code)
x-tangle-client: braid/0.3.4, from a GitHub Actions IP). The Router returned 401, a 90-byte body that matches{"error":{"message":"Invalid API key","type":"authentication_error","code":"invalid_key"}}exactly. The Sep 29 attempts got the same 401. The last braid client 200 was on 2026-09-27 at 05:42Z.release-live/BRAID_LIVE_TANGLE_ENV_JSON(last updated 2026-09-27T04:22Z) is now rejected by Platform. chore(release): remove temporary model probe #117 already recorded the same 401 invalid_key on Sep 29.Change
providerHttpFailureDiagnostic, which turns runtime'srouter <status>: <body>message into a public diagnostic, for exampleRUNTIME_PROVIDER_UNAUTHORIZED: provider returned HTTP 401 (authentication_error/invalid_key). Only the status and the provider's own type and code tokens survive. Tokens that look like credentials are dropped, and free text never reaches state.finalerrors,backend_error, and the reconnect and replay terminal paths.Validation
pnpm install --frozen-lockfileand the fullpnpm check: both pass.test/application.test.ts.🤖 Generated with Claude Code