Conversation
The five libid-rs pins move from 391078f, the head of fix/origin-form- request-target when libid-rs#5 was open, to cc40b0c, the head of feat/ceremony-constructions that #5 merged into. The new head carries the reveal layouts that match what the verifier matches (libid-rs#8), the refusal of a member that chunk framing runs through (#9), and drops libid-attestations (#6), which nothing here used. The upstream tlsn pin is unchanged, so the [patch] entry stays. Verified: nightly fmt, clippy -D warnings, cargo test --all (13 unit, the smoke and driver-leak integration tests), including the JWKS record tests and the chunked-framing round trip the transcript fixes touch. Assisted-by: Claude Fable 5.1 Signed-off-by: xgreenx <xgreenx9999@gmail.com>
xgreenx
added a commit
that referenced
this pull request
Sep 15, 2026
The notary used to dispatch on the TLS-verified server name and answer `www.googleapis.com` with a Merkle proof of its own shape, signed over a digest of its own design, for the legacy `JwksOracle`. That was the notary deciding what a session was for -- the profile-specific decision REQ-COMMON-33 forbids it from making -- and a second wire format kept in step with a second contract. `GoogleJwtRoots` now verifies through `NotaryService` like every Platform Verifier, so the second format has no reader. Delete the JWKS duty and everything only it used: `src/jwks/` (the Merkle path, the prover helpers and the mock), the `jwks_enabled` flag, the dispatch in `handle_verified_session`, the `Jwks`/`Http`/`Base64` error variants, and the `alloy-*`, `serde_with`, `base64`, `k256` and non-test `reqwest` dependencies. The notary signs the section 9.1 record for every session; which host it observed is in the record, and the contract that reads it pins the host. The prover-side helpers were only ever keeper code hosted here for reuse, and hosting them here made the keeper depend on this whole crate and match its libid-rs revision exactly. They move to the keeper, on libid-rs's primitives (`libid_tlsn::prover_generic`, `libid_transcript`). The notary crate still builds as a library so the smoke tests can embed `run`. Supersedes #7, whose branch carried pre-force-push copies of #6, and #8. Assisted-by: Claude Fable 5.1 Signed-off-by: xgreenx <xgreenx9999@gmail.com>
xgreenx
added a commit
that referenced
this pull request
Sep 15, 2026
The notary used to dispatch on the TLS-verified server name and answer `www.googleapis.com` with a Merkle proof of its own shape, signed over a digest of its own design, for the legacy `JwksOracle`. That was the notary deciding what a session was for -- the profile-specific decision REQ-COMMON-33 forbids it from making -- and a second wire format kept in step with a second contract. `GoogleJwtRoots` now verifies through `NotaryService` like every Platform Verifier, so the second format has no reader. Delete the JWKS duty and everything only it used: `src/jwks/` (the Merkle path, the prover helpers and the mock), the `jwks_enabled` flag, the dispatch in `handle_verified_session`, the `Jwks`/`Http`/`Base64` error variants, and the `alloy-*`, `serde_with`, `base64`, `k256` and non-test `reqwest` dependencies. The notary signs the section 9.1 record for every session; which host it observed is in the record, and the contract that reads it pins the host. The prover-side helpers were only ever keeper code hosted here for reuse, and hosting them here made the keeper depend on this whole crate and match its libid-rs revision exactly. They move to the keeper, on libid-rs's primitives (`libid_tlsn::prover_generic`, `libid_transcript`). The notary crate still builds as a library so the smoke tests can embed `run`. Supersedes #7, whose branch carried pre-force-push copies of #6, and #8. Assisted-by: Claude Fable 5.1 Signed-off-by: xgreenx <xgreenx9999@gmail.com>
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.
Stacked on #7. The five libid-rs pins move from
391078f(the head offix/origin-form-request-targetwhile libid-rs#5 was open) tocc40b0c, the head offeat/ceremony-constructionsthat #5 merged into. That head adds the reveal layouts that match what the verifier matches (libid-rs#8), the refusal of a member that chunk framing runs through (libid-rs#9), and removeslibid-attestations(libid-rs#6), which nothing here used. The upstreamtlsnpin is unchanged, so the[patch]entry stays as it is. The manifest comment now names the branch the rev sits on.Verified locally:
cargo +nightly-2026-08-10 fmt --check,cargo clippy --locked --all-targets --all-features -- -D warnings,cargo test --locked --all: 13 unit tests plus the smoke and driver-leak integration tests pass, including the JWKS record tests (the_request_is_the_line_the_contract_pins,chunked_framing_round_trips_the_body,content_length_framing_carries_the_body_verbatim) that sit on the changed transcript code.keeper follows this rev in libid-org/keeper#6, since its
libid-crypto/libid-signerpins must equal this crate's.