Repository navigation
feat(pairing): add receiver-bound one-time links - #331
Merged
Merged
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This was referenced Oct 23, 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
Implements the #212 v1.3 candidate as a receiver-bound one-time link, without a broker, short numeric code, browser handler, hosted deployment or new listener. Existing Unix Python 3.11+ relay dependencies and receiving target policy remain required.
device offer --peer-key … --direct|--relay … --show-link,offer-status,offer-cancel, and hiddendevice pair --linkinput. Existing invitation-file commands remain supported. Guided setup offers both methods.session-peer://pair/v1#…envelope carries an existing invitation and intended current client certificate fingerprint. It does not establish an arbitrary stable principal. Rotated identities require the exact existing active anchor. Existing pinned TLS and private-key possession remain mandatory.BEGIN IMMEDIATE. Links requirepairing-offer-v1, exact invitation-bound commit and the authenticated raw TLS key. No legacy downgrade or paired-to-pending transition; cancellation affects only its owned pending trust.Protocol/threat-model proposal preceded implementation: #212 (comment)
Refs #212. No merge or publication is part of this PR.
Validation
claude-opus-5-5; Codex CLI 0.163.0, isolated default (actual model name not exposed). Each pair received identical frozen sanitized input, completed successfully, and had no tool/test/network authority. Input SHA-256:f431baa9c7f996b7c81a6ad551df5abb51933590f89158984bd880c2ffb2d7b9,b4933dd662a6e8f7953ad8f9f26995bdb854d011b4a6bdcb13023c08066b961e.Explicit limits and compatibility decisions
Translation quality review (2026-10-23)
At the user's request, Antigravity CLI 1.4.5 explicitly selected available
gemini-3.8-flash-medium, medium effort, plan mode and sandbox with a four-minute limit. The task-local runner omitted permission-bypass flags and repository access. One fresh read-only review completed with exit 0 and structured output (190.462 seconds, no retry). Frozen evidence covered all 256 added/changed lines across eight English/Korean/Japanese/Simplified Chinese CLI reference/paired-device files atad8b9b9, plus context; prompt SHA-2561469e7cf2ef2a23769f311faad06ba6c7572ccc98157150ac7141530d65f2cba. The model selector is recorded; independent backend identity is not exposed by the normalized result.Codex verified full source sentences and applied narrow translation corrections in six locale documents: failed guesses count toward limits; native CLI approval and agent-execution authority remain distinct; a missing-history local stop performs no remote-revocation operation; Korean native-message terminology no longer implies original-message identity. The model's overbroad OS-approval interpretation was rejected, and the text does not claim that unknown remote authority is currently valid, revoked or unexpired. English/style suggestions were not used to alter the contract. Runtime, English source, flags, code, links, numbers and versions are unchanged. Documentation tests: 65 OK; deterministic code/inline/link/digit preservation and diff checks pass.
This is static linguistic/semantic QA, not native, security, runtime or native-speaker field validation. Earlier CLI code-review and automatic review results remain scoped to their exact recorded source; no claim that they re-reviewed this documentation-only follow-up.