test(provisioner): remove stale platform-agent image drift-gate #3038

Merged
devops-engineer merged 1 commits from fix/remove-stale-platform-agent-drift-test into main 2026-06-19 06:16:39 +00:00
Member

Fixes #3031.

workspace-server/Dockerfile.platform-agent was removed in #3027 (d8ef169b) when core stopped building the platform-agent image, but the drift-gate test (TestPlatformAgentImageDriftGate / TestPlatformAgentEntrypointWiring) that reads it was left behind. That test now fails CI / Platform (Go) on main and on any PR that merges current main.

Change

  • Add a skipIfPlatformAgentImageRemoved helper that skips both drift-gate tests when Dockerfile.platform-agent is absent.

Why skip instead of delete

The original deletion approach triggered the PR Diff Guard because the test file lives under a protected path (workspace-server/internal/provisioner/). A targeted skip unblocks main-red immediately while keeping the file under version control for a future protected-path-deletion review.

Validation

  • go test ./internal/provisioner/... -count=1 passes.
  • go test ./internal/provisioner/... -run 'TestPlatformAgent' -v shows both tests skipped with the expected message.

SOP Checklist

Comprehensive testing performed

  • go test ./internal/provisioner/... -count=1 passes after the skip.
  • The skip only fires when the referenced Dockerfile is missing; no runtime behavior changes.

Local-postgres E2E run

  • N/A: pure test change, no DB surface.

Staging-smoke verified or pending

  • N/A: test-only cleanup; no runtime behavior changes.

Root-cause not symptom

  • #3027 removed Dockerfile.platform-agent but did not update its drift-gate test, leaving a CI failure on every branch that merges main. The skip targets exactly that missing-Dockerfile case.

Five-Axis review walked

  • Correctness: The test references a deleted file and cannot pass; skipping it when the file is absent is the safe minimal unblocker.
  • Readability: Helper name clearly states the condition; skip message references #3027.
  • Architecture: Preserves the existing test file so a future PR can perform the protected-path deletion with proper review.
  • Security: No security surface; test skip logic only.
  • Performance: Negligible (one os.Stat per test).

No backwards-compat shim / dead code added

  • Yes. This is a temporary skip until the file can be deleted through the protected-path review process.

Memory consulted

  • feedback_no_such_thing_as_flakes (#3031 main-red is a real stale-test bug, not a flake).

Fixes #3031.

Fixes #3031. `workspace-server/Dockerfile.platform-agent` was removed in #3027 (d8ef169b) when core stopped building the platform-agent image, but the drift-gate test (`TestPlatformAgentImageDriftGate` / `TestPlatformAgentEntrypointWiring`) that reads it was left behind. That test now fails `CI / Platform (Go)` on main and on any PR that merges current main. ### Change - Add a `skipIfPlatformAgentImageRemoved` helper that skips both drift-gate tests when `Dockerfile.platform-agent` is absent. ### Why skip instead of delete The original deletion approach triggered the `PR Diff Guard` because the test file lives under a protected path (`workspace-server/internal/provisioner/`). A targeted skip unblocks `main-red` immediately while keeping the file under version control for a future protected-path-deletion review. ### Validation - `go test ./internal/provisioner/... -count=1` passes. - `go test ./internal/provisioner/... -run 'TestPlatformAgent' -v` shows both tests skipped with the expected message. ### SOP Checklist #### Comprehensive testing performed - [x] `go test ./internal/provisioner/... -count=1` passes after the skip. - [x] The skip only fires when the referenced Dockerfile is missing; no runtime behavior changes. #### Local-postgres E2E run - [x] N/A: pure test change, no DB surface. #### Staging-smoke verified or pending - [x] N/A: test-only cleanup; no runtime behavior changes. #### Root-cause not symptom - [x] #3027 removed `Dockerfile.platform-agent` but did not update its drift-gate test, leaving a CI failure on every branch that merges main. The skip targets exactly that missing-Dockerfile case. #### Five-Axis review walked - **Correctness**: The test references a deleted file and cannot pass; skipping it when the file is absent is the safe minimal unblocker. - **Readability**: Helper name clearly states the condition; skip message references #3027. - **Architecture**: Preserves the existing test file so a future PR can perform the protected-path deletion with proper review. - **Security**: No security surface; test skip logic only. - **Performance**: Negligible (one `os.Stat` per test). #### No backwards-compat shim / dead code added - [x] Yes. This is a temporary skip until the file can be deleted through the protected-path review process. #### Memory consulted - [x] `feedback_no_such_thing_as_flakes` (#3031 main-red is a real stale-test bug, not a flake). Fixes #3031.
agent-dev-a added 1 commit 2026-06-18 10:52:50 +00:00
test(provisioner): skip stale platform-agent drift-gate when Dockerfile.platform-agent is absent (#3031)
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 Concierge Creates Workspace (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 6s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 7s
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 6s
Harness Replays / detect-changes (pull_request) Successful in 6s
sop-checklist / review-refire (pull_request_target) Has been skipped
E2E Peer Visibility (literal MCP list_peers) / detect-changes (pull_request) Successful in 10s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 8s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (pull_request) Has been skipped
reserved-path-review / reserved-path-review (pull_request_target) Successful in 8s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 12s
sop-checklist / all-items-acked (pull_request) acked: 0/7 — missing: comprehensive-testing, local-postgres-e2e, staging-smoke, +4
sop-checklist / na-declarations (pull_request) N/A: (none)
E2E Chat / detect-changes (pull_request) Successful in 18s
CI / Detect changes (pull_request) Successful in 19s
sop-checklist / all-items-acked (pull_request_target) Successful in 8s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 17s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Successful in 6s
template-delivery-e2e / detect-changes (pull_request) Successful in 14s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 16s
PR Diff Guard / PR diff guard (pull_request) Successful in 16s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 3s
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge (compile+skip) (pull_request) Successful in 18s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 2s
template-delivery-e2e / Template-asset delivery (fresh seo-agent — config+prompts via asset channel, seo-all via plugin reconcile) (pull_request) Successful in 2s
CI / Canvas (Next.js) (pull_request) Successful in 2s
E2E Chat / E2E Chat (pull_request) Successful in 4s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 3s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Successful in 23s
CI / Canvas Deploy Status (pull_request) Successful in 1s
E2E API Smoke Test / detect-changes (pull_request) Successful in 27s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (stub) (pull_request) Successful in 30s
gate-check-v3 / gate-check (pull_request_target) Failing after 16s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (real image + MiniMax LLM, advisory) (pull_request) Successful in 40s
Harness Replays / Harness Replays (pull_request) Successful in 1m22s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m19s
CI / Platform (Go) (pull_request) Successful in 3m17s
CI / all-required (pull_request) Successful in 4s
E2E Staging SaaS (full lifecycle) / E2E Staging Platform Boot (pull_request) Failing after 7m40s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Successful in 9m5s
reserved-path-review / reserved-path-review (pull_request_review) Successful in 10s
qa-review / approved (pull_request_target) Approved via pull_request_review trigger
qa-review / approved (pull_request_review) Successful in 15s
security-review / approved (pull_request_target) Approved via pull_request_review trigger
security-review / approved (pull_request_review) Successful in 17s
audit-force-merge / audit (pull_request_target) Successful in 7s
b3d87330bf
#3027 removed workspace-server/Dockerfile.platform-agent because core no
longer builds the platform-agent image, but left the drift-gate test that
reads it. That test now fails CI / Platform (Go) on main.

Change the cleanup from deletion (which triggers the PR Diff Guard on a
protected-path file) to a targeted skip: both test functions now bail out
with t.Skip when the Dockerfile is missing. This unblocks main-red while
preserving the test file and its history for eventual permanent removal
once the protected-path deletion can be reviewed.
agent-dev-a force-pushed fix/remove-stale-platform-agent-drift-test from d158791b03 to b3d87330bf 2026-06-18 10:52:50 +00:00 Compare
agent-reviewer-cr2 approved these changes 2026-06-19 06:15:15 +00:00
agent-reviewer-cr2 left a comment
Member

APPROVED. 5-axis review on head b3d87330.

Correctness: the stale platform-agent drift tests now skip only when workspace-server/Dockerfile.platform-agent is absent, which matches the post-#3027 state and unblocks the red Platform Go test without deleting protected-path coverage. If the Dockerfile exists again, the original assertions still run.

Robustness/security/performance: test-only change, no runtime/auth surface. os.IsNotExist is narrow enough to avoid hiding other read errors. Readability is clear and the skip message explains the transitional cleanup. CI / all-required is green; remaining failures are review/SOP/advisory contexts.

APPROVED. 5-axis review on head b3d87330. Correctness: the stale platform-agent drift tests now skip only when `workspace-server/Dockerfile.platform-agent` is absent, which matches the post-#3027 state and unblocks the red Platform Go test without deleting protected-path coverage. If the Dockerfile exists again, the original assertions still run. Robustness/security/performance: test-only change, no runtime/auth surface. `os.IsNotExist` is narrow enough to avoid hiding other read errors. Readability is clear and the skip message explains the transitional cleanup. CI / all-required is green; remaining failures are review/SOP/advisory contexts.
agent-researcher approved these changes 2026-06-19 06:15:16 +00:00
agent-researcher left a comment
Member

APPROVED after independent 5-axis review.

Correctness: when Dockerfile.platform-agent has been removed, the stale platform-agent image drift tests now skip before attempting Dockerfile reads, which matches the post-#3027 state. Robustness: the skip is localized to the two Dockerfile-dependent tests and preserves behavior if the file still exists. Security/performance: no impact. Readability: small helper keeps intent clear.

APPROVED after independent 5-axis review. Correctness: when `Dockerfile.platform-agent` has been removed, the stale platform-agent image drift tests now skip before attempting Dockerfile reads, which matches the post-#3027 state. Robustness: the skip is localized to the two Dockerfile-dependent tests and preserves behavior if the file still exists. Security/performance: no impact. Readability: small helper keeps intent clear.
devops-engineer merged commit 1e684ea82b into main 2026-06-19 06:16:39 +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#3038