fix(proxy): surface forwarded compact settlement failures - #1561
Merged
Komzpa merged 3 commits intoAug 1, 2026
Conversation
Contributor
Author
|
@codex review |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
This was referenced Aug 1, 2026
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.
Summary
Fail closed when an HTTP-bridge owner cannot persist the only settlement of a
forwarded compact API-key reservation. The owner now attempts a fresh-repository
release and returns
502 usage_settlement_failedwithout retrying upstream orpenalizing the selected account.
Type of change
fix:— bug fix (no behavior change beyond the bug)feat:— new user-facing feature or capabilityrefactor:— internal refactor (no behavior change, no API change)docs:— documentation onlychore:/ci:/build:— tooling, CI, packagingtest:— test-only changeLinked issue: none found in the bounded related-work search.
Related work:
this PR covers persistence failure after an upstream compact succeeds.
path or the changed files.
OpenSpec
request/response framing
Change directory:
openspec/changes/propagate-forwarded-compact-settlement-failure/Changes
after compact finalization or release persistence fails, then surface the
existing
usage_settlement_failederror contract.account-health classification.
/internal/bridge/responsesregression proving one upstream call,no health-error handling, a 502 response, and final
releasedreservation state,plus a hermetic unit regression for finalization and fail-safe release both failing.
Test plan
The focused regression also failed against the unmodified baseline as expected:
the old path returned HTTP 200 after swallowing the injected settlement failure.
Full-project
ty checkwas attempted with Python 3.13 and reported one diagnosticin unchanged
tests/unit/test_settings_reference.py:36for the Pydantic_env_fileconstructor argument. The affected files pass targeted type checking;required GitHub CI remains the authoritative full-project gate. Full local CI was
not run.
Screenshots / output
No dashboard-visible change. The signed forwarded-route regression observes:
Checklist
and OpenSpec subset locally.
openspec validate --specs --strictpasses and OpenSpec verification is clean.dashboard navigation, default, or dashboard pixels change.
CHANGELOG.mdis not edited.