feat(sensitive): bind fallback availability to exact route - #88
Draft
seonghobae wants to merge 4 commits into
Draft
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Partial implementation of #10, stacked on PR #87.
Buyer/security gap
PR #87 makes fallback availability time-bounded, but the availability evidence itself was free-floating: it carried only state and a validity horizon. A fresh outage observation for one provider/model route must not be replayable against a different primary route to trigger an otherwise reviewed fallback.
Dependency and TDD / RCA sequence
This Draft is stacked on unchanged exact PR #87 head
b1273d7bc34fffee262be4bd2da24c24520d11db.48feb2b18fb1089605f6985a2f70e1dcc0c3038eintroduced route-bound availability construction and the fail-closedPrimaryAvailabilityRouteMismatchexpectation.38f44aab67000affcde0648a216e61c31f6937f5reached the intended production-boundary RED in CI run31501789957: repository contracts and formatting passed, then the Rust workspace check failed with E0061 because production availability evidence accepted only state/lifetime and E0599 becausePrimaryAvailabilityRouteMismatchdid not exist.371364f69f5ea08dd9708a6cb3db3c33da4e159dbinds eachModelRouteAvailabilityEvidenceto the exactModelRouteRequestit describes and checks that route after exact primary policy authorization but before lifetime/state. CI run31505437349completed successfully: Rust contracts job93825700372and Production coverage job93825700518both passed, including repository contracts, formatting, locked workspace/all-target check, full tests, strict Clippy, rustdoc, and exact owned production function/line/region/branch coverage.121d9d70d6c5592b9dff06d7ba09ee563958bfefadds only the truthful Unreleased changelog entry. CI run31505770116completed successfully on that exact head.No predecessor-head check, review, mergeability result, or synthetic status is transferred to the current head.
Implemented contract
The branch now requires:
ModelRouteRequestit describes;PrimaryAvailabilityRouteMismatchbefore invalid/expired/fresh availability can influence fallback;Truth boundary
This slice does not prove provider health, attest runtime route identity or clock provenance, invoke a model, disclose protected values, retry, persist health state, or execute a selected route. Constructing a
ModelRouteAvailabilityEvidencevalue does not make arbitrary caller input trusted. A trusted broker/orchestrator must derive the actual runtime route and availability observation from authenticated/configured runtime state and execute only the route selected by deterministic policy.Keep Draft while #87/#86 and the prerequisite sensitive-data stack remain active. This PR does not close #10.