Skip to content

feat(mcp): expose policy-scoped bounded diagnostics #358

Closed

Description

@abruption

Problem

MCP clients can list and send but cannot request a bounded explanation of discovery, SSH-return-route or receiver readiness failures through a reviewed diagnostic contract. Raw doctor output may contain more route/environment information than a shared MCP caller needs.

Proposed scope

Expose a narrowly scoped diagnostic tool around supported CLI checks. Separate local metadata inspection from explicitly permitted active connection probes and return sanitized structured findings.

Acceptance criteria

  • Require explicit operator policy for diagnostic actions, destinations and permitted agents. Do not derive diagnostic authority from list/send permission or expand old policies silently.
  • Enumerate supported checks and their effects. Metadata-only inspection must not automatically invoke SSH/network/native/version probes; active probes require separately explicit permission.
  • Enforce bounded execution time, output/byte budgets, per-call probe limits and cancellation cleanup. Do not add continuous health monitoring, unbounded watch or automatic retries.
  • Preserve exact destination/SSH/home allowlists. No arbitrary command, host, path, trusted SSH config, bind address, firewall or credential overrides.
  • Return only reviewed safe summary fields. Keep raw logs, native transcripts, message contents, keys, fingerprint material and private topology/path details out of model-visible output unless a separately reviewed policy explicitly permits a narrow field.
  • Distinguish configuration/discovery readiness, TCP accept, TLS, peer authentication, native submission and ACK. Missing older-version fields mean unknown, not false or success.
  • Diagnostic success is not send authorization, effective-storage attestation, guaranteed return path, native consumption or ACK.
  • No install/update, service restart, pairing mutation, firewall/ACL change, policy rewrite or fallback route is performed.
  • Add installed stdio, policy, malformed/partial-result, timeout/cancellation, non-reflection and zero-submission fixtures. Retain current POSIX versus Windows cleanup limits.

Related work

Depends on the destination/capability contract and coordinates safe refusal/explanation fields with MCP preflight. Reuse doctor/readiness semantics, including #341/#342 diagnostics; do not reopen those completed changes or infer live acceptance.

Source: MCP guide, doctor/readiness implementation.

Planning

Proposed v1.4.0 candidate, priority P2; no committed date. Registration does not authorize active live probes, implementation, merge, release or operational changes.

Tracking dependencies

Depends on #356; coordinate structured refusal/explanation output with #357. Active probes require explicit diagnostic policy, not authority inferred from either tool's successful output.

Activity

  1. added this to the v1.4.0 milestone on Nov 2, 2026
  2. self-assigned this
    on Nov 2, 2026
  3. added
    priority:P2Planned reliability, acceptance or feature work; priority does not authorize implementation.
    on Nov 2, 2026
  4. abruption commented on Nov 2, 2026

    @abruption
    OwnerAuthor

    Implementation prepared in PR #363, stacked after #362. Initial diagnostic execution deliberately covers only forward/local doctor checks of allowed agents and the selected Codex home. Reverse SSH probing is excluded: it needs a separately reviewed operator-owned return-route allowlist, not a model-provided reply host. TCP/TLS/paired-device authentication and per-target readiness remain not_checked; forward SSH failures expose only fixed categories. This boundary is explicit in the PR/docs and does not complete any broader reverse-route or native acceptance gate. Paired CLI/translation review and current CI are recorded; no merge/publication/operations.

  5. abruption commented on Nov 2, 2026

    @abruption
    OwnerAuthor

    Verified on 2026-11-03 against published v1.4.0, source 476c67e636ef02cb93797dd2f42252dfe577625f. The exact main CI passed all 37 jobs (including the 12 Mac/Linux MCP SDK/version cells), and publication/PyPI verification passed all 6 jobs. This completion audit is a source/test/contract review, not a new native/SSH/model/ACK experiment.

    Implementation: PR #363, merge 7f85cb12cf6661db2facd5d74b2b31d7ee8514bd.

    Complete for the explicitly published forward/local diagnostic scope: separate metadata/active permissions, selected-agent/home collection, finite time/pipe/result budgets, sanitized failures and cancellation cleanup. ok means collection completeness. Reverse-route probing, per-target readiness, TCP/TLS, paired-device authentication, consumption and ACK remain not_checked; Windows active diagnostics remain unsupported. Closing does not claim those excluded capabilities. A future reverse-route feature would require its own operator-owned allowlist design.

    Closing as completed for the shipped scoped contract; Long-term native identity/storage, handoff and integration research remain separate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestpriority:P2Planned reliability, acceptance or feature work; priority does not authorize implementation.

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions