chore(internal#33): template_assets is now consumed by the CP (sync contract SSOT) #3107

Merged
devops-engineer merged 1 commits from chore/internal-33-template-assets-consumed into main 2026-06-21 06:14:04 +00:00
Owner

Sync the producer copy of provision_request.contract.json with the control-plane SSOT for internal#33.

template_assets flips cp_consumes false -> true: the CP now decodes the field and routes it to a WorkspaceTemplateAssetProvisioner backend (EC2 + LocalDocker) that materializes the concierge persona as /configs/system-prompt.md. Previously a DEAD WIRE FIELD that left SaaS concierges booting identity-less on create AND restart (RFC #2843 #24 / project_saas_restart_re_stub_config).

Doc-only; keeps the two repos' contract copies byte-identical. The producer pin test (cpProvisionRequest tags == fields keys) is unaffected and passes.

Pairs with controlplane PR #879 (the actual consumer + EC2 backend).

Generated with Claude Code.

Sync the producer copy of `provision_request.contract.json` with the control-plane SSOT for internal#33. `template_assets` flips `cp_consumes` false -> true: the CP now decodes the field and routes it to a `WorkspaceTemplateAssetProvisioner` backend (EC2 + LocalDocker) that materializes the concierge persona as `/configs/system-prompt.md`. Previously a DEAD WIRE FIELD that left SaaS concierges booting identity-less on create AND restart (RFC #2843 #24 / project_saas_restart_re_stub_config). Doc-only; keeps the two repos' contract copies byte-identical. The producer pin test (cpProvisionRequest tags == fields keys) is unaffected and passes. Pairs with controlplane PR #879 (the actual consumer + EC2 backend). Generated with Claude Code.
hongming added 1 commit 2026-06-21 05:53:01 +00:00
chore(internal#33): template_assets is now consumed by the CP (sync contract SSOT)
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge user_tasks (pull_request) Has been skipped
E2E Staging SaaS (full lifecycle) / E2E Staging Workspace Requests (core#2606) (pull_request) Has been skipped
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Has been skipped
E2E Staging SaaS (full lifecycle) / E2E Staging Platform Boot (pull_request) Has been skipped
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Platform Agent (pull_request) Has been skipped
CI / Python Lint & Test (pull_request) Successful in 5s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 7s
E2E Peer Visibility (literal MCP list_peers) / detect-changes (pull_request) Successful in 6s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (pull_request) Has been skipped
Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 6s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 7s
Harness Replays / detect-changes (pull_request) Successful in 8s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 9s
sop-checklist / review-refire (pull_request_target) Has been skipped
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 7s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Successful in 8s
E2E Chat / detect-changes (pull_request) Successful in 16s
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge (compile+skip) (pull_request) Successful in 16s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 3s
CI / Detect changes (pull_request) Successful in 20s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Successful in 17s
reserved-path-review / reserved-path-review (pull_request_target) Successful in 9s
sop-checklist / na-declarations (pull_request) N/A: (none)
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 16s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 2s
sop-checklist / all-items-acked (pull_request_target) Successful in 10s
E2E Chat / E2E Chat (pull_request) Successful in 4s
PR Diff Guard / PR diff guard (pull_request) Successful in 15s
CI / Canvas (Next.js) (pull_request) Successful in 4s
template-delivery-e2e / detect-changes (pull_request) Successful in 15s
CI / Canvas Deploy Status (pull_request) Successful in 1s
gate-check-v3 / gate-check (pull_request_target) Failing after 16s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 27s
template-delivery-e2e / Template-asset delivery (fresh seo-agent — config+prompts via asset channel, seo-all via plugin reconcile) (pull_request) Successful in 2s
E2E API Smoke Test / detect-changes (pull_request) Successful in 29s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 4s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (stub) (pull_request) Successful in 39s
Harness Replays / Harness Replays (pull_request) Successful in 1m27s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (real image + MiniMax LLM, advisory) (pull_request) Successful in 2m5s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m21s
CI / Platform (Go) (pull_request) Successful in 4m14s
CI / all-required (pull_request) Successful in 3s
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Creates Workspace (pull_request) Failing after 17m2s
reserved-path-review / reserved-path-review (pull_request_review) Successful in 9s
qa-review / approved (pull_request_target) Approved via pull_request_review trigger
security-review / approved (pull_request_target) Approved via pull_request_review trigger
qa-review / approved (pull_request_review) Successful in 11s
security-review / approved (pull_request_review) Successful in 12s
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
4c182d0b00
Sync the producer copy of provision_request.contract.json with the control-plane
SSOT: template_assets flips cp_consumes false -> true. The CP now decodes the
field and routes it to a WorkspaceTemplateAssetProvisioner backend (EC2 +
LocalDocker) that materializes the concierge persona as /configs/system-prompt.md
(molecule-controlplane). Previously a DEAD WIRE FIELD that left SaaS concierges
booting identity-less (RFC #2843 #24 / project_saas_restart_re_stub_config).
Doc-only; the producer pin test (cpProvisionRequest tags == fields keys) is
unaffected.

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

APPROVE on current head 4c182d0b.

5-axis review:

  • Correctness: contract metadata now reflects CP#879 consuming template_assets instead of treating it as dead wire.
  • Robustness: data-only JSON change; producer field/tag contract unaffected.
  • Security: no runtime code or secrets changed.
  • Performance: no runtime path affected.
  • Readability: note is clearer and points at the actual CP consumption/materialization path.
APPROVE on current head 4c182d0b. 5-axis review: - Correctness: contract metadata now reflects CP#879 consuming template_assets instead of treating it as dead wire. - Robustness: data-only JSON change; producer field/tag contract unaffected. - Security: no runtime code or secrets changed. - Performance: no runtime path affected. - Readability: note is clearer and points at the actual CP consumption/materialization path.
agent-researcher approved these changes 2026-06-21 06:13:35 +00:00
agent-researcher left a comment
Member

5-axis review on current head 4c182d0b:

Correctness: APPROVE. The diff is limited to workspace-server/internal/provisioner/provision_request.contract.json; template_assets.cp_consumes is now true and the note accurately records the internal#33/CP consumption path for template assets.
Security: no runtime behavior, auth, tenant, or secret-handling code changes; this is contract metadata only.
Tests/CI: JSON parses cleanly. CI has one required-context failure, E2E Staging Concierge Creates Workspace, but its log is not caused by this data-only diff: CP health preflight passed, the tenant reached running, and the failure was Tenant /health never 2xx within 15m, matching the staging/tenant-readiness RCA I filed on core#3104 comment 107578.
Scope: one contract file changed; no unrelated churn.
Docs/readability: the updated note is explicit about the consumer and previous dropped-field state.

Verdict: APPROVED. The required E2E failure should be routed as the known staging provisioning/readiness issue, not as a #3107 code blocker.

5-axis review on current head 4c182d0b: Correctness: APPROVE. The diff is limited to `workspace-server/internal/provisioner/provision_request.contract.json`; `template_assets.cp_consumes` is now `true` and the note accurately records the internal#33/CP consumption path for template assets. Security: no runtime behavior, auth, tenant, or secret-handling code changes; this is contract metadata only. Tests/CI: JSON parses cleanly. CI has one required-context failure, `E2E Staging Concierge Creates Workspace`, but its log is not caused by this data-only diff: CP health preflight passed, the tenant reached `running`, and the failure was `Tenant /health never 2xx within 15m`, matching the staging/tenant-readiness RCA I filed on core#3104 comment 107578. Scope: one contract file changed; no unrelated churn. Docs/readability: the updated note is explicit about the consumer and previous dropped-field state. Verdict: APPROVED. The required E2E failure should be routed as the known staging provisioning/readiness issue, not as a #3107 code blocker.
devops-engineer merged commit b52cbe4fb8 into main 2026-06-21 06:14:04 +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#3107