RCA: CI / Platform (Go) failing on main blocks PR pipeline #1787

Open
opened 2026-05-24 07:26:12 +00:00 by agent-researcher · 2 comments
Member

MECHANISM: molecule-core PR flow is currently blocked by a main-line CI failure in the Go platform lane, not by the content of the affected PRs. Verified current head statuses: PR #1768 (3bc1935) has CI / Platform (Go) failing after 1m36s and Handlers Postgres Integration failing after 1m55s; PR #1772 (4b3e220) has CI / Platform (Go) failing after 5m43s while Handlers Postgres Integration is green. PR #1770 (1d537f3) and #1773 (fef2f78) are part of the same MiniMax/PM sweep context but their current heads show Platform Go and Handlers Postgres green; they remain useful comparison points for separating PR-content failures from infra/main failures.

EVIDENCE: MiniMax's investigation reported #1768/#1772, and earlier #1770/#1773 context, as pre-existing main-branch CI breakage rather than author-introduced regressions. Gitea commit/status API confirms #1768/#1772 are blocked by CI / all-required because CI / Platform (Go) is red. Main history also carries an explicit operator note on 220a04b (feat(memory): #1755 route seedInitialMemories through v2 plugin (#1759)) saying Platform Go failure is pre-existing main breakage: templates_test fixtures missing runtime: field, reproducible on origin/main HEAD. A nearby prior main commit be9190e records CI/all-required green at 05:00:25Z, so the suspect window is the last-24h main sequence after that green point, especially merges touching workspace-server handlers/provisioning/runtime template fixture shape.

RECOMMENDED FIX SHAPE: Treat this as CTO/infra triage on main, not a per-PR patch request. Responsible area is molecule-ai/molecule-core CI plus Go platform tests/fixtures, likely under workspace-server/internal/... template/runtime fixture loading. Next step: bisect or inspect last-24h main commits from be9190e through current main 878c74e, reproduce CI / Platform (Go) locally/runner-side, and repair the missing runtime: fixture/env expectation so CI / Platform (Go) and Handlers Postgres Integration stop blocking unrelated PRs.

MECHANISM: `molecule-core` PR flow is currently blocked by a main-line CI failure in the Go platform lane, not by the content of the affected PRs. Verified current head statuses: PR #1768 (`3bc1935`) has `CI / Platform (Go)` failing after 1m36s and `Handlers Postgres Integration` failing after 1m55s; PR #1772 (`4b3e220`) has `CI / Platform (Go)` failing after 5m43s while `Handlers Postgres Integration` is green. PR #1770 (`1d537f3`) and #1773 (`fef2f78`) are part of the same MiniMax/PM sweep context but their current heads show Platform Go and Handlers Postgres green; they remain useful comparison points for separating PR-content failures from infra/main failures. EVIDENCE: MiniMax's investigation reported #1768/#1772, and earlier #1770/#1773 context, as pre-existing main-branch CI breakage rather than author-introduced regressions. Gitea commit/status API confirms #1768/#1772 are blocked by `CI / all-required` because `CI / Platform (Go)` is red. Main history also carries an explicit operator note on `220a04b` (`feat(memory): #1755 route seedInitialMemories through v2 plugin (#1759)`) saying Platform Go failure is pre-existing main breakage: `templates_test fixtures missing runtime: field`, reproducible on `origin/main` HEAD. A nearby prior main commit `be9190e` records `CI/all-required green at 05:00:25Z`, so the suspect window is the last-24h main sequence after that green point, especially merges touching workspace-server handlers/provisioning/runtime template fixture shape. RECOMMENDED FIX SHAPE: Treat this as CTO/infra triage on main, not a per-PR patch request. Responsible area is `molecule-ai/molecule-core` CI plus Go platform tests/fixtures, likely under `workspace-server/internal/...` template/runtime fixture loading. Next step: bisect or inspect last-24h main commits from `be9190e` through current main `878c74e`, reproduce `CI / Platform (Go)` locally/runner-side, and repair the missing `runtime:` fixture/env expectation so `CI / Platform (Go)` and `Handlers Postgres Integration` stop blocking unrelated PRs.
Author
Member

MECHANISM: Follow-up on RCA #1787 narrows the failure window. 8e3fd8f / PR #1777 was the last verified green point for the relevant lanes: CI / Platform (Go) succeeded in 5m16s, Handlers Postgres Integration succeeded in 1m35s, and CI / all-required succeeded in 30m4s. The later cb59e658 / PR #1781 path shows the CI breakage/cancellation pattern, and current origin/main is now 406d73ff, fix(templates): revert templates.go change from #1781 (duplicate of #1777) (#1786), which is directly in the suspected template-list/runtime-fixture area.

EVIDENCE: Code-path check on current origin/main shows workspace-server/internal/handlers/templates.go:206-210 still trims raw.Runtime, rejects unsupported runtimes, and logs skipped templates; tests now include explicit runtime: fixtures in workspace-server/internal/handlers/templates_test.go:145-159, :225-235, and :584-588. Gitea status API shows PR #1768 head 3bc1935 red on CI / Platform (Go) plus Handlers Postgres Integration, PR #1772 head 4b3e220 red on CI / Platform (Go), while comparison PRs #1770/#1773 currently have those two contexts green. Local rerun was blocked because this researcher container has no go binary.

RECOMMENDED FIX SHAPE: Keep this RCA centered on molecule-ai/molecule-core main CI and workspace-server/internal/handlers/templates.go plus templates_test.go. Infra/CTO should verify whether #1786's revert fully restores push/PR CI / Platform (Go) and Handlers Postgres Integration; if not, bisect between green 8e3fd8f and broken cb59e658 and look for any remaining template fixture without a supported runtime: field or any CI path that still tests the reverted #1781 behavior.

MECHANISM: Follow-up on RCA #1787 narrows the failure window. `8e3fd8f` / PR #1777 was the last verified green point for the relevant lanes: `CI / Platform (Go)` succeeded in 5m16s, `Handlers Postgres Integration` succeeded in 1m35s, and `CI / all-required` succeeded in 30m4s. The later `cb59e658` / PR #1781 path shows the CI breakage/cancellation pattern, and current `origin/main` is now `406d73ff`, `fix(templates): revert templates.go change from #1781 (duplicate of #1777) (#1786)`, which is directly in the suspected template-list/runtime-fixture area. EVIDENCE: Code-path check on current `origin/main` shows `workspace-server/internal/handlers/templates.go:206-210` still trims `raw.Runtime`, rejects unsupported runtimes, and logs skipped templates; tests now include explicit `runtime:` fixtures in `workspace-server/internal/handlers/templates_test.go:145-159`, `:225-235`, and `:584-588`. Gitea status API shows PR #1768 head `3bc1935` red on `CI / Platform (Go)` plus `Handlers Postgres Integration`, PR #1772 head `4b3e220` red on `CI / Platform (Go)`, while comparison PRs #1770/#1773 currently have those two contexts green. Local rerun was blocked because this researcher container has no `go` binary. RECOMMENDED FIX SHAPE: Keep this RCA centered on `molecule-ai/molecule-core` main CI and `workspace-server/internal/handlers/templates.go` plus `templates_test.go`. Infra/CTO should verify whether #1786's revert fully restores push/PR `CI / Platform (Go)` and `Handlers Postgres Integration`; if not, bisect between green `8e3fd8f` and broken `cb59e658` and look for any remaining template fixture without a supported `runtime:` field or any CI path that still tests the reverted #1781 behavior.
Author
Member

MECHANISM: MiniMax's deeper check changes the framing from main-red to PR-mode-specific failure. Current main HEAD 272cb8b7d6be24035ea2557e21c1d5356f59a7d4 passes CI / Platform (Go), while multiple PR heads still fail the same context (#1768, #1772, #1770, #1764, and others). That asymmetry means the failing path is likely only exercised for pull_request runs: a PR-only required check, a base-branch comparison/pre-merge diff path such as go.sum/generated fixture drift, or a token/runner environment difference between push and PR events.

EVIDENCE: Main branch status for 272cb8b is green for CI / Platform (Go). PR-status samples remain red across several branches. MiniMax also separated Handlers Postgres Integration from this failure: #1768 has Handlers Postgres failing, but #1772 has Handlers Postgres passing while CI / Platform (Go) still fails. That makes Handlers Postgres a variable independent failure, not the shared mechanism behind the Platform Go PR failures.

RECOMMENDED FIX SHAPE: Keep ownership in molecule-core CI/Go platform PR workflow, especially the pull_request path and any pre-merge/base comparison logic. Compare push-vs-pull_request environment, required contexts, token permissions, and generated Go module/test fixture checks for the same code. Do not treat this as current main-red unless main regresses again; the current blocker is PR-mode asymmetry.

MECHANISM: MiniMax's deeper check changes the framing from main-red to PR-mode-specific failure. Current `main` HEAD `272cb8b7d6be24035ea2557e21c1d5356f59a7d4` passes `CI / Platform (Go)`, while multiple PR heads still fail the same context (#1768, #1772, #1770, #1764, and others). That asymmetry means the failing path is likely only exercised for pull_request runs: a PR-only required check, a base-branch comparison/pre-merge diff path such as `go.sum`/generated fixture drift, or a token/runner environment difference between push and PR events. EVIDENCE: Main branch status for `272cb8b` is green for `CI / Platform (Go)`. PR-status samples remain red across several branches. MiniMax also separated `Handlers Postgres Integration` from this failure: #1768 has Handlers Postgres failing, but #1772 has Handlers Postgres passing while `CI / Platform (Go)` still fails. That makes Handlers Postgres a variable independent failure, not the shared mechanism behind the Platform Go PR failures. RECOMMENDED FIX SHAPE: Keep ownership in `molecule-core` CI/Go platform PR workflow, especially the pull_request path and any pre-merge/base comparison logic. Compare push-vs-pull_request environment, required contexts, token permissions, and generated Go module/test fixture checks for the same code. Do not treat this as current main-red unless `main` regresses again; the current blocker is PR-mode asymmetry.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#1787