Repository navigation
feat(mcp): add scoped bounded diagnostics with explicit probe permission - #363
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. |
|
Additional final translation verification completed after the effect-table clarification: Antigravity CLI 1.4.12, requested gemini-3.8-flash-medium / medium / fresh read-only plan+sandbox, 91.043 seconds, structured success. All eight changed localized document diffs were checked against English, including supported-check/effect tables, collection versus availability, per-target readiness limits, effective-storage/return-route caveats and TCP/TLS/paired authentication distinctions. Input SHA-256 e35fea9e181b210da06e7abf4195038efef2302e28c7e23b0f1a9342645d07e9. No material translation mismatch reported; this is text QA, not runtime/native acceptance. |
|
Sequential integration after #362: base is now main, integrated head 9ab142f. The main squash tree equals the previously included bdcd570 base; conflict resolution preserved the entire reviewed 29858dd tree exactly (tree d16034941bd3c255767101754e3ff127dc942b42). Generator and diff checks pass; no source, documentation or test bytes changed. Existing completed code/security reviews apply to the identical content, not asserted as newly run at the integration SHA. Fresh current-head/main CI and normal protections remain mandatory before merge. |
Summary
Adds
diagnose_destinationwith metadata-only default mode and explicit policy-v2 permissions:diagnosticsfor inspection, plusdiagnostics_probefor active checks. Existing v1/default permissions do not expand. The combined tool has non-read-only/non-idempotent annotations because active SSH configuration may execute operator-controlled commands; host approval remains separate.Active checks are limited to macOS/Linux, at most three permitted agents, a shared 20-second execution budget excluding bounded local cleanup, and 64 KiB retained per stdout/stderr pipe. No reverse probe, installation, pairing, service change, native submission or model activation is added. Windows metadata remains available; Windows active mode fails before process creation.
New CLI
doctor --agentand--selected-home-onlynarrow actual execution and forwarded SSH scope, not merely output filtering. Scoped doctor skips shared installed-skill scans. Codex inspects only the policy-pinned home; the existing all-agent command remains compatible. A selected disabled agent no longer becomeshealthyby an empty-set comparison.Responses expose only bounded known statuses/checks. Missing/malformed/partial/truncated diagnostics become
unknown/diagnostic_incomplete; positive Codex results require expected executable/DB checks and a nontruncated writer scan. Registered Antigravity's legitimate empty check list is qualified by its existing registry scope. SSH failures retain only a fixed failure category. TCP/TLS/paired-device authentication and per-target readiness remain explicitly unobserved.okmeans recognized collection, not availability or authorization.Refs #358. Depends on #362; stacked base
feat/mcp-357-preflight. Retarget/revalidate only after the preceding PR is approved and merged normally. No automatic issue closure.Validation
setsiddescendant holding inherited pipes, and cleanup errors during cancellation. Diagnostic-only nonblocking readers prevent inherited EOF from hanging completion. The helper signals only its original reserved process group; the test releases its own escaped fixture through a control pipe, without a saved-PID kill.Independent review
Applied
independent-cli-reviewin parallel pairs: Claude Code 2.1.314, response-confirmedclaude-opus-5-5; Codex CLI 0.166.0, ephemeral/read-only/ignore-user-config default model (actual model ID not exposed). Claude tools/MCP/hooks were disabled. Both pairs completed non-interactively from identical immutable self-contained inputs; reviewers did not run tests or edit files.aa3352807a159049b69084107a63136db31df991c89514e02f9babd1398b4b7f.7ea01b56637062d81c78b6b7f1b63e693e6beea6d654b31df6251b914bdb3408.readinessstaysnot_checkedbecause no target is selected; active evidence is at most a point-in-time diagnostic. Complete negative availability can still be a successful collection. Empty Antigravity checks are legitimate only under its existing registry scope.Separate translation QA: Antigravity CLI 1.4.12 /
gemini-3.8-flash-medium/ medium, fresh read-only plan+sandbox calls, structured success at 105.459 s and 90.918 s. Inputs were eight changed localized document diffs against English. Codex checked flags/limits/permission boundaries and corrected Japanese optional-check wording and Korean particles. Final small effect-table/evidence clarifications were aligned by Codex and i18n tests, not claimed as a third Gemini pass.Limits
Forward SSH only; return-route diagnostics would require a separately reviewed operator-owned reverse-route allowlist. Execution budget excludes cleanup and is not a strict wall-clock or remote-process cleanup promise. No effective-storage attestation, ACK, version bump, merge, tag/release, package publication, global install or operational rollout.