feat(platform-agent): dedicated molecule-platform-agent image build (Phase 3b) #30
Closed
devops-engineer
wants to merge 1 commits from
feat/platform-agent-image into main
pull from: feat/platform-agent-image
merge into: molecule-ai:main
molecule-ai:main
molecule-ai:fix/validate-plugin-kind-aware-content
molecule-ai:fix/t4-aggregate-fork-guard-guidance
molecule-ai:fix/gitea-curl-11721-short-forms
molecule-ai:fix/gitea-curl-followup-hardening
molecule-ai:fix/agent-gitea-token-leak
molecule-ai:feat/canonical-ci-validate-templates
molecule-ai:feat/bp-context-drift-gate
molecule-ai:ci/absorb-queue-schedule-into-conductor
molecule-ai:feat/trivy-skip-dirs-files-39
molecule-ai:feat/known-runtime-google-adk
molecule-ai:feat/internal-718-p4-pr3-drift-gate-full-providers
molecule-ai:feat/platform-models-ssot-drift-gate
molecule-ai:fix/ruff-e401-f401-split-imports
molecule-ai:infra/add-merge-queue
molecule-ai:fix-15-pin-shas-molecule-ci-phase1
molecule-ai:chore/gitea-only-ci
molecule-ai:chore/sop-checklist-gate
molecule-ai:infra/add-ci-workflow
molecule-ai:fix/ci-gate-pull-request-trigger
molecule-ai:infra-write-test-1778794651
molecule-ai:feat/gitea-workflows-port
molecule-ai:fix/validate-template-docker-smoke-graceful-skip
molecule-ai:feat/audit-force-merge-composite-action
molecule-ai:fix/git-clone-instead-of-actions-checkout
molecule-ai:fix/anon-cross-repo-checkout
molecule-ai:fix/lowercase-org-slug
molecule-ai:docs/readme-add-publish-template-image-section
molecule-ai:auto/p135-fork-pr-lockdown
molecule-ai:auto/p133-readme-v1-pin
molecule-ai:auto/p9-reusable-auto-promote
molecule-ai:feat/strict-template-drift-check
molecule-ai:feat/build-arg-runtime-version
molecule-ai:docs/disable-auto-merge-readme
molecule-ai:feat/disable-auto-merge-on-push
molecule-ai:feat/lint-reads-runtime-manifest
molecule-ai:feat/lint-bare-imports-and-deeper-boot-smoke
molecule-ai:feat/boot-image-smoke-test
No Reviewers
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
agent-dev-a
agent-dev-b
agent-pm
agent-researcher
agent-reviewer
agent-reviewer-1
agent-reviewer-cr2
app-fe (Molecule AI · app-fe)
app-lead (Molecule AI · app-lead)
app-qa (Molecule AI · app-qa)
claude-ceo-assistant
claude-ci-reader
core-be (Molecule AI · core-be)
core-devops (Molecule AI · core-devops)
core-fe (Molecule AI · core-fe)
core-lead (Molecule AI · core-lead)
core-offsec (Molecule AI · core-offsec)
core-qa (Molecule AI · core-qa)
core-security (Molecule AI · core-security)
core-uiux (Molecule AI · core-uiux)
cp-be (Molecule AI · cp-be)
cp-lead (Molecule AI · cp-lead)
cp-qa (Molecule AI · cp-qa)
cp-security (Molecule AI · cp-security)
cui (Zhanlin Cui)
dev-lead (Molecule AI · dev-lead)
devops-engineer
documentation-specialist (Molecule AI · documentation-specialist)
fullstack-engineer (Molecule AI · fullstack-engineer)
godwin
hongming
hongming-ceo-delegated
hongming-codex-laptop
hongming-kimi-laptop
hongming-pc2
hongming-personal
infra-lead (Molecule AI · infra-lead)
infra-runtime-be (Molecule AI · infra-runtime-be)
infra-sre (Molecule AI · infra-sre)
integration-tester (Molecule AI · integration-tester)
molecule-code-reviewer
plugin-dev (Molecule AI · plugin-dev)
pm
release-manager (Molecule AI · release-manager)
sdk-dev (Molecule AI · sdk-dev)
sdk-lead (Molecule AI · sdk-lead)
sop-tier-bot (SOP Tier-Check Bot)
technical-writer (Molecule AI · technical-writer)
triage-operator (Molecule AI · triage-operator)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: molecule-ai/molecule-ci#30
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "feat/platform-agent-image"
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?
Phase 3b of the platform-agent RFC — the dedicated image that activates the feature.
What
images/platform-agent/Dockerfile— multi-stage: buildsmolecule-mcp-server(dist + prod node_modules), thenFROM workspace-template-claude-code, pins Node 20 (slim base ships 18; the org MCP needs ≥20), and COPYs the MCP to/opt/molecule-mcp-server/dist/index.js— the exact path the merged Phase 2 config references (mcp_servers: [{name: platform, command: node, args: [/opt/molecule-mcp-server/dist/index.js]}])..github/workflows/publish-platform-agent-image.yml— mirrors the templates proven ECR publish (op-host[publish,release]runners, build→smoke→push,promote-pin). Adds cross-repo checkout ofmolecule-mcp-server+ a Node20/baked-entry smoke.Dependencies to go green (enumerated, not yet provisioned)
The publish only runs on push-to-main / manual dispatch. To publish+pin it needs these repo secrets on molecule-ci:
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY(ECR push, acct 153263036946)MCP_CHECKOUT_TOKEN(read token for cross-repo checkout of molecule-mcp-server)CP_ADMIN_API_TOKEN/CP_ADMIN_API_TOKEN_STAGING(promote-pin)And the
promote-pinstep needs the control-plane to accepttemplate_name: platform-agentinruntime_image_pins— that is Phase 3c (pin consumption + the CP→tenant install call).Verification
Dockerfile baked path + Node-20 pin verified against the merged Phase 2 config schema and RFC §5.7. Full build/push e2e runs once the secrets above are provisioned.
🤖 Generated with Claude Code
Closing — re-homed into the workspace-template-claude-code repos existing publish pipeline (reuses its ECR creds + publish runners + pin mechanism, no new secret/admin), and the MCP is now pulled from the org Gitea npm registry (anonymous) instead of a cross-repo checkout. Supersedes this PR.
Pull request closed