Repository navigation
feat(mcp): add separately authorized structured send preflight - #362
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. |
|
Current head bdcd570: all 38 available checks pass. Initial Windows core failure was the added fixture assuming wake preflight support on Windows, plus its aggregate release-gate failure. The fixture now tests ordinary queue dry-run on supported platforms, keeps wake-positive/interruption cases macOS/Linux only, and explicitly tests unsupported-platform refusal without probing or effects. Runtime source is unchanged by this test-only follow-up. Automatic code/security review completed at earlier runtime-identical head 1273a73, not asserted as a fresh exact-head review. No review mention or protection bypass was used. This stacked PR still requires normal current-main checks after its dependency is merged and the base is retargeted. |
|
@codex review |
|
Codex Review: Didn't find any major issues. 🚀 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". |
|
Codex Review: Didn't find any major issues. Swish! 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". |
Summary
Adds a separately authorized
preflight_sendMCP tool and explicit policy schema v2preflightcapability. Default and v1 policy permissions do not expand. Validation-only callers cannot send, and requested Codex wake eligibility additionally requireswakewithout starting a turn or reserving a budget.The opt-in CLI
send --dry-run --explain-jsonsupplies a versioned allowlisted explanation without scraping text or changing ordinary CLI JSON. Existing--explainremains text-only. The new mode captures original SSH facts before compatibility shaping, accepts one destination, and rejects device/preset/address/handoff routes before input or effects. Preset integration is a later separate adapter change (#359).The shared classifier fails closed on unknown, malformed or contradictory native facts, including positive consumption evidence mixed with dry-run, known refusal reasons, and unknown submission fields. MCP validates the complete required projection before reconstructing it; raw paths, bodies, errors, host data and authority fields are excluded. Policy refusals have a fixed not-run/not-attempted shape; post-invocation I/O/timeout stays unknown and never permits automatic retry. Registered Antigravity dry-run reuses its existing experimental adapter; this does not promote native support.
Refs #357. Depends on #361; stacked base is
feat/mcp-356-destinations, not an independent merge target. Merge/retarget only after the preceding PR is approved and merged normally, then rerun current-head checks. No issue closure requested.Validation
Independent verification
Used
independent-cli-reviewwith Claude Code 2.1.314 (claude-opus-5-5, response-confirmed) and Codex CLI 0.166.0 (isolated default model; actual model ID not exposed). Each pair ran independently/non-interactively in parallel from the same immutable input, with tools disabled for Claude and ephemeral read-only/ignore-user-config for Codex. All runs completed successfully; no reviewer ran tests or edited files.5cd7d5e58c7ba186c6a1cbe04dc94663e24421214a14467bd0fb659e9b77e846, then60adcb70ead68973972fd6af0dd0c3d39b5561e6869adefdb1e4b8c2b81642a7.08ec8b1f14b61c27c5b829d7fb934b0d7b7953d623eec64a8627f7f5210b1779.Separate translation QA: Antigravity CLI 1.4.12 /
gemini-3.8-flash-medium/ medium, fresh read-only plan+sandbox invocation, 82.576 s, structured success. Input was the eight changed document diffs against English. Technical flags, versions and authority boundaries were preserved; optional stylistic changes that narrowed the meaning of unknown evidence were not adopted. No runtime testing was delegated to the translation model.Boundaries
No merge, version bump, tag/release/package publication, global installation, policy/service update or live delivery/ACK test. Automatic Codex review is triggered by opening the PR; no review mention is needed.