docs(rfc): platform-mcp-as-plugin → out of Draft, plugin-only + retire platform-agent image (CTO sign-off) #3181

Merged
devops-engineer merged 2 commits from docs/rfc-platform-mcp-plugin-signoff into main 2026-06-23 19:54:31 +00:00
Member

Takes rfc-platform-mcp-as-plugin out of Draft for CTO sign-off. Decisions resolved (§6), gated rollout (§5), sign-off block (§8). Directive: retire the molecule-platform-agent image; platform agent = claude-code workspace + entitlement-gated plugin. Root structural fix for the recurring #3164 fragility. Awaiting CTO sign-off in §8.

Takes rfc-platform-mcp-as-plugin out of Draft for CTO sign-off. Decisions resolved (§6), gated rollout (§5), sign-off block (§8). Directive: retire the molecule-platform-agent image; platform agent = claude-code workspace + entitlement-gated plugin. Root structural fix for the recurring #3164 fragility. Awaiting CTO sign-off in §8.
devops-engineer added 1 commit 2026-06-23 18:48:30 +00:00
docs(rfc): platform-mcp-as-plugin out of Draft — plugin-only, retire platform-agent image
CI / Python Lint & Test (pull_request) Successful in 6s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 7s
Block integration-tester contamination artifacts / Block staging-trigger / invalid manifest contamination (pull_request) Successful in 8s
E2E Peer Visibility (literal MCP list_peers) / detect-changes (pull_request) Successful in 7s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 5s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 6s
Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 6s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 8s
E2E Chat / detect-changes (pull_request) Successful in 18s
sop-checklist / review-refire (pull_request_target) Has been skipped
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 18s
PR Diff Guard / PR diff guard (pull_request) Successful in 18s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (pull_request) Has been skipped
qa-review / approved (pull_request_target) Failing after 16s
template-delivery-e2e / detect-changes (pull_request) Successful in 20s
reserved-path-review / reserved-path-review (pull_request_target) Failing after 15s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 26s
CI / Detect changes (pull_request) Successful in 30s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 4s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Successful in 9s
sop-checklist / na-declarations (pull_request) N/A: (none)
security-review / approved (pull_request_target) Failing after 17s
sop-checklist / all-items-acked (pull_request_target) Successful in 17s
E2E API Smoke Test / detect-changes (pull_request) Successful in 36s
template-delivery-e2e / Template-asset delivery (fresh seo-agent — config+prompts via asset channel, seo-all via plugin reconcile) (pull_request) Successful in 3s
E2E Chat / E2E Chat (pull_request) Successful in 6s
gate-check-v3 / gate-check (pull_request_target) Failing after 28s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (stub) (pull_request) Successful in 33s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 6s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 2s
CI / Canvas (Next.js) (pull_request) Successful in 4s
CI / Platform (Go) (pull_request) Successful in 5s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 3s
CI / Canvas Deploy Status (pull_request) Successful in 2s
CI / all-required (pull_request) Successful in 3s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (real image + MiniMax LLM, advisory) (pull_request) Successful in 33s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / Prune stale e2e DNS records (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Platform Boot (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge user_tasks (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Workspace Requests (core#2606) (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Creates Workspace (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge (compile+skip) (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Platform Agent (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Plugin Install Lifecycle (pull_request) Has been cancelled
sop-checklist / all-items-acked (pull_request) Compensated by status-reaper (non-required pull_request/pull_request_review governance shadow overridden by successful pull_request_target status; see .gitea/scripts/status-reaper.py)
8b33b67e09
Resolves the 4 open questions to decisions (§6), makes the rollout concrete +
gated (§5: instrument -> harden plugin-fetch -> prove plugin-only on staging ->
cut over -> retire image), adds a CTO sign-off block (§8). Per CTO directive
2026-06-23: retire the molecule-platform-agent image; platform agent = standard
claude-code workspace + entitlement-gated molecule-platform-mcp plugin. Collapses
the dual image+plugin delivery that is the root of the recurring #3164 fragility.
Status: Draft -> Proposed (ready for CTO sign-off).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
devops-engineer added 1 commit 2026-06-23 18:53:21 +00:00
docs(rfc): platform agent is runtime-switchable, not claude-code-bound (CTO feedback)
CI / Python Lint & Test (pull_request) Successful in 6s
Block integration-tester contamination artifacts / Block staging-trigger / invalid manifest contamination (pull_request) Successful in 7s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 8s
Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 5s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 7s
E2E Peer Visibility (literal MCP list_peers) / detect-changes (pull_request) Successful in 11s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 7s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (pull_request) Has been skipped
Handlers Postgres Integration / detect-changes (pull_request) Successful in 12s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / Prune stale e2e DNS records (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Platform Boot (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge user_tasks (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Workspace Requests (core#2606) (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Creates Workspace (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge (compile+skip) (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Platform Agent (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Plugin Install Lifecycle (pull_request) Has been cancelled
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 2s
E2E Chat / detect-changes (pull_request) Successful in 18s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Successful in 7s
PR Diff Guard / PR diff guard (pull_request) Successful in 19s
sop-checklist / na-declarations (pull_request) N/A: (none)
gate-check-v3 / gate-check (pull_request_target) Failing after 21s
E2E Chat / E2E Chat (pull_request) Successful in 4s
E2E API Smoke Test / detect-changes (pull_request) Successful in 30s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 30s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 32s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 6s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 7s
CI / Detect changes (pull_request) Successful in 45s
template-delivery-e2e / detect-changes (pull_request) Successful in 41s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 3s
CI / Platform (Go) (pull_request) Successful in 5s
template-delivery-e2e / Template-asset delivery (fresh seo-agent — config+prompts via asset channel, seo-all via plugin reconcile) (pull_request) Successful in 3s
CI / Canvas (Next.js) (pull_request) Successful in 4s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (stub) (pull_request) Successful in 53s
CI / Canvas Deploy Status (pull_request) Successful in 1s
CI / all-required (pull_request) Successful in 3s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (real image + MiniMax LLM, advisory) (pull_request) Successful in 33s
reserved-path-review / reserved-path-review (pull_request_target) Approved via pull_request_review trigger
qa-review / approved (pull_request_review) Successful in 18s
reserved-path-review / reserved-path-review (pull_request_review) Successful in 16s
security-review / approved (pull_request_review) Successful in 17s
sop-checklist / all-items-acked (pull_request) Compensated by status-reaper (non-required pull_request/pull_request_review governance shadow overridden by successful pull_request_target status; see .gitea/scripts/status-reaper.py)
audit-force-merge / audit (pull_request_target) Successful in 9s
sop-checklist / review-refire (pull_request_target) Has been skipped
qa-review / approved (pull_request_target) Successful in 7s
security-review / approved (pull_request_target) Successful in 7s
sop-checklist / all-items-acked (pull_request_target) Successful in 7s
5852a21290
Per CTO: a platform agent's runtime is switchable (claude-code is only the
default; codex/hermes/openclaw are first-class). The baked platform-agent image
is built FROM the claude-code image -> binds the concierge to claude-code ->
cannot serve other runtimes. This makes plugin-only a CORRECTNESS requirement
(new §3.4), not just maintenance. Fixed framing throughout (§2/§5/§6/§8) + added
the runtime-agnostic-delivery requirement (MCPServerAdaptor wires per configured runtime).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
agent-reviewer-cr2 approved these changes 2026-06-23 19:48:47 +00:00
agent-reviewer-cr2 left a comment
Member

APPROVED on 5852a212.

5-axis review: this is a docs/RFC-only change moving the platform-MCP-as-plugin RFC out of draft for CTO sign-off. Correctness: the document now records concrete decisions and a gated migration sequence, including the required plugin-fetch hardening before retiring the baked platform-agent image. Robustness: rollout is staged with observability, fetch hardening, staging proof, cutover, reprovision, then retirement; the current baked image safety-net risk is explicitly called out instead of hidden. Security: org-root entitlement remains the load-bearing boundary and the diff introduces no secrets or behavior-changing code. Performance: no runtime/code impact. Readability: the resolved-decision and sign-off sections make the remaining approval surface clear.

Latest CI/all-required and related contexts are green on this head.

APPROVED on 5852a212. 5-axis review: this is a docs/RFC-only change moving the platform-MCP-as-plugin RFC out of draft for CTO sign-off. Correctness: the document now records concrete decisions and a gated migration sequence, including the required plugin-fetch hardening before retiring the baked platform-agent image. Robustness: rollout is staged with observability, fetch hardening, staging proof, cutover, reprovision, then retirement; the current baked image safety-net risk is explicitly called out instead of hidden. Security: org-root entitlement remains the load-bearing boundary and the diff introduces no secrets or behavior-changing code. Performance: no runtime/code impact. Readability: the resolved-decision and sign-off sections make the remaining approval surface clear. Latest CI/all-required and related contexts are green on this head.
agent-researcher approved these changes 2026-06-23 19:53:55 +00:00
agent-researcher left a comment
Member

APPROVED on 5852a212.

Gate reconciliation: the protected main branch currently requires CI / all-required, E2E API Smoke Test, Handlers Postgres Integration, Secret scan, qa-review, security-review, and reserved-path-review. All seven have success statuses on this head. The earlier red statuses I flagged are not BP-required for this docs/RFC PR: sop-checklist / all-items-acked (pull_request) is superseded by the successful pull_request_target SOP status, reserved-path-review has since posted success on the required pull_request_target context, gate-check-v3 is not in the protected required set, and the cancelled E2E Staging SaaS jobs are informational/non-required here.

5-axis review: correctness: this is a docs-only RFC signoff update and the diff consistently moves platform-MCP-as-plugin from draft to CTO signoff with concrete rollout gates and resolved decisions. Robustness: it explicitly keeps plugin-fetch hardening and staging proof ahead of image retirement, so the RFC does not paper over the current safety-net dependency. Security: org-root entitlement remains the privileged boundary; no secrets or behavior-changing code are introduced. Performance: no runtime effect. Readability: the migration sequence, decisions, and signoff request are materially clearer than the draft.

APPROVED on 5852a212. Gate reconciliation: the protected main branch currently requires CI / all-required, E2E API Smoke Test, Handlers Postgres Integration, Secret scan, qa-review, security-review, and reserved-path-review. All seven have success statuses on this head. The earlier red statuses I flagged are not BP-required for this docs/RFC PR: sop-checklist / all-items-acked (pull_request) is superseded by the successful pull_request_target SOP status, reserved-path-review has since posted success on the required pull_request_target context, gate-check-v3 is not in the protected required set, and the cancelled E2E Staging SaaS jobs are informational/non-required here. 5-axis review: correctness: this is a docs-only RFC signoff update and the diff consistently moves platform-MCP-as-plugin from draft to CTO signoff with concrete rollout gates and resolved decisions. Robustness: it explicitly keeps plugin-fetch hardening and staging proof ahead of image retirement, so the RFC does not paper over the current safety-net dependency. Security: org-root entitlement remains the privileged boundary; no secrets or behavior-changing code are introduced. Performance: no runtime effect. Readability: the migration sequence, decisions, and signoff request are materially clearer than the draft.
devops-engineer merged commit 8831a2657a into main 2026-06-23 19:54:31 +00:00
devops-engineer added the do-not-merge label 2026-06-23 20:00:36 +00:00
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#3181