docs(rfc): platform-mcp-as-plugin — runtime-agnostic / plugin-SSOT revision #3185
Reference in New Issue
Block a user
Delete Branch "docs/rfc-platform-mcp-plugin-lego-revision"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Revises the RFC merged via #3181 to the CTO-reviewed design. Headline shift: it is NOT 'claude plugin done, retire image' — the core deliverable is making the plugin runtime-agnostic (per-runtime adapter rendering + identity-gate + delivery-contract), proven per-runtime locally.
Key changes: §2b plugin-SSOT (drops the redundant mcp_servers: list); §3.4 runtime-switchable correctness; §5 gated retirement + canvas kind=platform scope-guard + rollback + OBS boot-event; §5b local testability (no cloud wait); §6 decisions incl naming; §7 non-goals incl core string-compares; §8 sign-off (a)-(d).
Matches the reviewed HTML render. Companion: PR #171 (platform_mcp_diag observability).
APPROVED on
410468b7.5-axis review: this docs/RFC corrective revision addresses the CTO flaw by making runtime-agnostic delivery the actual requirement: the plugin declaration is the SSOT, runtime-specific adapters render the MCP shape for claude/codex/hermes, and identity/delivery checks must ask the active adapter instead of reading the claude-only settings path. Correctness: the RFC no longer implies claude-only plugin delivery is sufficient, and it explicitly calls out the codex/hermes failure mode and local per-runtime proof requirement. Robustness/security: entitlement remains org-root gated, plugin-fetch hardening and rollback/soak gates remain before image retirement, and no secrets are introduced. Performance: docs-only. Readability: revised sections clearly separate shipped pieces from required follow-up work.
5-axis review: Correctness: the RFC revision resolves my prior #3181 design concern at the architecture/signoff level: plugin declaration is the SSOT, per-runtime adapters cover claude-code/codex/hermes/gemini, and the identity gate is required to ask the active adapter instead of hard-coding .claude settings. It also explicitly marks the current claude-only shipped path as incomplete until adapter rendering, delivery-contract, and per-runtime local proof land. Robustness: gated rollout, rollback, fail-loud fetch, and local visibility harness are specified. Security: org-root entitlement and env-secret references avoid leaking material. Performance: npx cold-start is bounded to measurement/follow-up. Readability: internally consistent. No blocking findings; merge still waits on BP-required/governance contexts.