Repository navigation
Conversation
A pure read over the existing openIncoming path: true when one of the session's header receive-window keys authenticates the blob, false for a foreign or out-of-window frame, true on a post-auth throw. Ownership equals openability, so this is the engine's ownership signal for a pooled session. Co-Authored-By: Claude Code <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: cde60ed The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Contributor
Author
|
Closing: the Rust half of this probe is not needed. The anchor adoption flips iOS to the value engine and the pool scan will only ever walk value sessions (PQ anchors/invitations are being migrated). The probe will land on the value adapter + the |
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.
Adds an additive, pure-read probe on
PQSession:Returns
truewhen one of the session's header receive-window keys authenticates the blob (the frame was sealed by this session's peer),falsefor a foreign or out-of-window frame, andtrueon a post-auth throw. It wraps the existingopenIncomingpath — no state mutation, no persistence push.Why: ownership is not derivable at the call site — the wire frame is header-encrypted, so a pooled session scanning an inbound frame cannot tell "mine" from "not mine" by inspection. Ownership equals header openability, which only the engine knows. This exposes that signal so a caller can filter a non-owner's retry/recovery answer instead of spooling a frame it does not own. Purely additive: no change to any error classification or custody decision.
Tests:
Tests/TwoMLSPQTests/OpensHeaderProbeTests.swift— owner's peer frame probes true, an independently-established sibling's frame probes false, and probing does not consume the frame (a subsequent decrypt still succeeds). Full Swift suite green (22 tests, 6 suites);swift format lint --strictclean. Mutation-verified: unconditionalfalsefails the owner test, unconditionaltruefails the sibling test, and routing through a consuming door fails the purity test.Known gap: the
catch { return true }branch (a key-authenticated blob with a bad inner tag) is unreachable from the public API with an honest peer, so it is not exercised by tests — the doc comment records the reasoning.Minor changeset included.
🤖 Generated with Claude Code