chore(provisioner): de-bake local-build platform-agent image (P6) #3247
Reference in New Issue
Block a user
Delete Branch "chore/debake-core-localbuild"
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?
What
Phase P6 of the concierge de-bake: remove the last baked-image consumer in molecule-core local-build. The org concierge (
kind='platform') now runs on the plain per-runtime image — identity is delivered via the template asset-channel and the org-admin platform MCP via the plugin system, so there is no longer any baked image variant to prefer.Changes
workspace-server/internal/provisioner/localbuild.go— deleteresolvePlatformAgentImage+LocalPlatformAgentLatestTag+platformAgentImageSuffix. Local-build no longer needs a baked-platform-agentvariant.workspace-server/internal/provisioner/provisioner.go— delete thekind=platformbaked-image-preference lookup block. It already fell back fail-soft to the plain per-runtime image when the variant wasn't present, so removing the lookup is behaviour-preserving for every existing local stack (the concierge was already running on the plain image in practice). De-staled theKinddoc-comment.workspace-server/internal/provisioner/cp_provisioner.go— keep forwardingKindto the CP (still needed for the concierge's config/identity overlay); de-staled the prose that claimed the CP selects a "platform-agent image variant".platform_agent_image_test.go— pinned the now-deleted resolver (resolvePlatformAgentImage,LocalPlatformAgentLatestTag).platform_agent_image_drift_test.go— the CI drift-gate for the IMAGE-BAKED platform-agent identity (RFC #2843 §10a). The image-baked SSOT it guards no longer exists, so the gate is obsolete (it was already a guaranteed SKIP on PR lanes without the pre-cloned SSOT).workspace-server/internal/provisioner/workspace_kind_test.go(new) — preserves the still-relevantWorkspaceKindPlatform == models.KindPlatformsync guard, which is unrelated to the baked image (the constant is still forwarded to the CP on the provision path). Keeping it avoids silently dropping a real invariant when its old home file is deleted.Prove-fail
The deletion is structurally self-proving: leaving the resolver out while keeping
platform_agent_image_test.gofails to compile (undefinedresolvePlatformAgentImage/LocalPlatformAgentLatestTag), so CI would go red — which is exactly why the tests are removed in the same commit. The retainedTestWorkspaceKindPlatform_MatchesModelsstill fails if the duplicated kind constant ever drifts frommodels.KindPlatform.Verification
From the module root (
workspace-server/):All green. No remaining references to the removed symbols anywhere in the module.
De-bake phase
P6 — local-build consumer. Companion phases remove the CP-side ghost (#77) and the baked-image build artifacts:
Dockerfile.platform-agent, the manifest entry, the publish workflow (#78).🤖 Generated with Claude Code
APPROVE — wave-1 adversarial verification: tests rerun green, prove-fail confirmed (new tests fail against pre-change source), no fail-open/bypass introduced, scope matches the phase. code-review lens
APPROVE — wave-1 adversarial verification: tests rerun green, prove-fail confirmed (new tests fail against pre-change source), no fail-open/bypass introduced, scope matches the phase. security/fail-closed lens
qa-review 5-axis: APPROVED. Verified P6 local-build de-bake removes the platform-agent image preference/probe path instead of adding a new fallback: kind=platform now uses the plain per-runtime local image, with identity/config delivered by asset channel and org-admin MCP by plugin system. Correctness/robustness: production CP request still forwards Kind for concierge overlay; local-build no longer depends on a separately baked platform-agent image, so probe errors/absent variant cannot create inconsistent behavior. Security: no new token or image selection bypass; kind remains only metadata for platform overlay. Performance/readability: deletes dead image resolver/drift tests tied to the old baked path and simplifies provisioner flow. Test coverage includes WorkspaceKindPlatform matching models.KindPlatform and updated comments/contracts around CP/local provision behavior.
APPROVED: independent 5-axis qa review on head
e3c3ef24e3.Correctness: removing resolvePlatformAgentImage and the local -platform-agent preference is consistent with the de-bake path; local-build now always uses the plain per-runtime image, while Kind is still forwarded for the concierge config/identity overlay. Robustness: this preserves the previous fail-soft behavior because the old branch already fell back to the plain image when the variant was absent or probe failed, and the remaining WorkspaceKindPlatform sync test keeps the still-live kind invariant. Security: no fail-open path is introduced; management MCP delivery is no longer inferred from an image tag. Performance: removes an unnecessary docker tag probe on platform local-build starts. Readability: stale baked-image tests/comments are removed and the retained invariant has a focused test.