auto-heal: existing vanilla concierge should re-declare molecule-platform-mcp on boot-reprovision (not just fresh provision) #3047

Closed
opened 2026-06-18 20:54:44 +00:00 by core-devops · 0 comments
Member

Follow-up from PR #3044 verification. The molecule-platform-mcp declaration happens in applyConciergeProvisionConfig, which runs on create / full provision — NOT on a plain container restart and NOT on the maybeProvisionPlatformAgentOnBoot 'restart-running-but-vanilla' path. Verified on prod test3: after rolling its tenant to the merged image and restarting the concierge, workspace_declared_plugins stayed EMPTY (no create_workspace).

Net: NEW tenants get the management MCP at provision (confirmed via staging e2e), but EXISTING vanilla concierges do NOT auto-heal — they require a genuine re-provision.

Fix: make maybeProvisionPlatformAgentOnBoot's RestartsRunningButVanilla path (or a boot reconcile) re-run the declared-plugin seed for the concierge (seedTemplatePlugins([molecule-platform-mcp])) so existing concierges pick up the management MCP on the next tenant boot without a manual re-provision. Idempotent (recordDeclaredPlugin upserts + entitlement-gated to kind=platform).

🤖 Generated with Claude Code

Follow-up from PR #3044 verification. The molecule-platform-mcp declaration happens in applyConciergeProvisionConfig, which runs on **create / full provision** — NOT on a plain container restart and NOT on the maybeProvisionPlatformAgentOnBoot 'restart-running-but-vanilla' path. Verified on prod test3: after rolling its tenant to the merged image and restarting the concierge, workspace_declared_plugins stayed EMPTY (no create_workspace). Net: NEW tenants get the management MCP at provision (confirmed via staging e2e), but EXISTING vanilla concierges do NOT auto-heal — they require a genuine re-provision. Fix: make maybeProvisionPlatformAgentOnBoot's RestartsRunningButVanilla path (or a boot reconcile) re-run the declared-plugin seed for the concierge (seedTemplatePlugins([molecule-platform-mcp])) so existing concierges pick up the management MCP on the next tenant boot without a manual re-provision. Idempotent (recordDeclaredPlugin upserts + entitlement-gated to kind=platform). 🤖 Generated with Claude Code
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#3047