[main-red] molecule-ai/molecule-core: 7f25373309 #2217

Closed
opened 2026-06-04 06:07:04 +00:00 by gitea-actions · 2 comments

Main is RED on molecule-ai/molecule-core at 7f25373309

Commit: https://git.moleculesai.app/molecule-ai/molecule-core/commit/7f25373309eca54a36f08c371ff783c3a47c3f8d

Auto-filed by .gitea/workflows/main-red-watchdog.yml (Option C of the main-never-red directive). Per feedback_no_such_thing_as_flakes + feedback_fix_root_not_symptom: investigate the root cause; do NOT revert as a reflex. The watchdog itself never reverts.

Failed status contexts

  • E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)failurelogs
    • Failing after 2m13s
  • publish-workspace-server-image / Production auto-deploy (push)failurelogs
    • Failing after 5m10s

Resolution path

  1. Read the failed logs (links above).
  2. If reproducible locally, fix forward in a PR targeting main.
  3. If the failure is a real flake — STOP. Per feedback_no_such_thing_as_flakes, intermittent failures are real bugs. Investigate to root cause; do not mark as flake.
  4. If the failure is blocking unrelated work for >1 hour, file a follow-up issue and assign someone. Do NOT revert without a human GO per feedback_prod_apply_needs_hongming_chat_go (branch protection is a prod surface).

Debug

{
  "all_contexts": [
    {
      "context": "ci-arm64-advisory / fast-checks (push)",
      "state": "pending"
    },
    {
      "context": "Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (push)",
      "state": "success"
    },
    {
      "context": "publish-workspace-server-image / build-and-push (push)",
      "state": "success"
    },
    {
      "context": "Block internal-flavored paths / Block forbidden paths (push)",
      "state": "success"
    },
    {
      "context": "CI / Python Lint & Test (push)",
      "state": "success"
    },
    {
      "context": "CI / Detect changes (push)",
      "state": "success"
    },
    {
      "context": "E2E API Smoke Test / detect-changes (push)",
      "state": "success"
    },
    {
      "context": "E2E Chat / detect-changes (push)",
      "state": "success"
    },
    {
      "context": "Handlers Postgres Integration / detect-changes (push)",
      "state": "success"
    },
    {
      "context": "Lint curl status-code capture / Scan workflows for curl status-capture pollution (push)",
      "state": "success"
    },
    {
      "context": "Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (push)",
      "state": "success"
    },
    {
      "context": "E2E Staging Canvas (Playwright) / detect-changes (push)",
      "state": "success"
    },
    {
      "context": "lint-required-workflows-docker-host-pinned / Lint docker-host pin on docker-touching workflows (push)",
      "state": "success"
    },
    {
      "context": "Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (push)",
      "state": "success"
    },
    {
      "context": "Secret scan / Scan diff for credential-shaped strings (push)",
      "state": "success"
    },
    {
      "context": "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (push)",
      "state": "success"
    },
    {
      "context": "lint-continue-on-error-tracking / lint-continue-on-error-tracking (push)",
      "state": "success"
    },
    {
      "context": "Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (push)",
      "state": "success"
    },
    {
      "context": "CI / Platform (Go) (push)",
      "state": "success"
    },
    {
      "context": "CI / Canvas (Next.js) (push)",
      "state": "success"
    },
    {
      "context": "CI / Shellcheck (E2E scripts) (push)",
      "state": "success"
    },
    {
      "context": "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)",
      "state": "failure"
    },
    {
      "context": "E2E Staging Canvas (Playwright) / Canvas tabs E2E (push)",
      "state": "success"
    },
    {
      "context": "CI / all-required (push)",
      "state": "success"
    },
    {
      "context": "E2E API Smoke Test / E2E API Smoke Test (push)",
      "state": "success"
    },
    {
      "context": "CI / Canvas Deploy Reminder (push)",
      "state": "success"
    },
    {
      "context": "Handlers Postgres Integration / Handlers Postgres Integration (push)",
      "state": "success"
    },
    {
      "context": "E2E Chat / E2E Chat (push)",
      "state": "success"
    },
    {
      "context": "publish-workspace-server-image / Production auto-deploy (push)",
      "state": "failure"
    }
  ],
  "branch": "main",
  "combined_state": "failure",
  "failed_contexts": [
    "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)",
    "publish-workspace-server-image / Production auto-deploy (push)"
  ],
  "recheck_combined_state": "failure",
  "recheck_failed_contexts": [
    "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)",
    "publish-workspace-server-image / Production auto-deploy (push)"
  ],
  "sha": "7f25373309eca54a36f08c371ff783c3a47c3f8d"
}

This issue is idempotent: the watchdog runs hourly at :05 and edits this body in place. When main returns to green, the watchdog will close this issue automatically with a "main returned to green" comment.

# Main is RED on `molecule-ai/molecule-core` at `7f25373309` Commit: <https://git.moleculesai.app/molecule-ai/molecule-core/commit/7f25373309eca54a36f08c371ff783c3a47c3f8d> Auto-filed by `.gitea/workflows/main-red-watchdog.yml` (Option C of the [main-never-red directive](https://git.moleculesai.app/molecule-ai/molecule-core/issues/420)). Per `feedback_no_such_thing_as_flakes` + `feedback_fix_root_not_symptom`: investigate the root cause; do NOT revert as a reflex. The watchdog itself never reverts. ## Failed status contexts - **E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)** — `failure` → [logs](/molecule-ai/molecule-core/actions/runs/206728/jobs/275414) - Failing after 2m13s - **publish-workspace-server-image / Production auto-deploy (push)** — `failure` → [logs](/molecule-ai/molecule-core/actions/runs/206737/jobs/275427) - Failing after 5m10s ## Resolution path 1. Read the failed logs (links above). 2. If reproducible locally, fix forward in a PR targeting `main`. 3. If the failure is a real flake — STOP. Per `feedback_no_such_thing_as_flakes`, intermittent failures are real bugs. Investigate to root cause; do not mark as flake. 4. If the failure is blocking unrelated work for >1 hour, file a follow-up issue and assign someone. Do NOT revert without a human GO per `feedback_prod_apply_needs_hongming_chat_go` (branch protection is a prod surface). ## Debug ```json { "all_contexts": [ { "context": "ci-arm64-advisory / fast-checks (push)", "state": "pending" }, { "context": "Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (push)", "state": "success" }, { "context": "publish-workspace-server-image / build-and-push (push)", "state": "success" }, { "context": "Block internal-flavored paths / Block forbidden paths (push)", "state": "success" }, { "context": "CI / Python Lint & Test (push)", "state": "success" }, { "context": "CI / Detect changes (push)", "state": "success" }, { "context": "E2E API Smoke Test / detect-changes (push)", "state": "success" }, { "context": "E2E Chat / detect-changes (push)", "state": "success" }, { "context": "Handlers Postgres Integration / detect-changes (push)", "state": "success" }, { "context": "Lint curl status-code capture / Scan workflows for curl status-capture pollution (push)", "state": "success" }, { "context": "Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (push)", "state": "success" }, { "context": "E2E Staging Canvas (Playwright) / detect-changes (push)", "state": "success" }, { "context": "lint-required-workflows-docker-host-pinned / Lint docker-host pin on docker-touching workflows (push)", "state": "success" }, { "context": "Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (push)", "state": "success" }, { "context": "Secret scan / Scan diff for credential-shaped strings (push)", "state": "success" }, { "context": "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (push)", "state": "success" }, { "context": "lint-continue-on-error-tracking / lint-continue-on-error-tracking (push)", "state": "success" }, { "context": "Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (push)", "state": "success" }, { "context": "CI / Platform (Go) (push)", "state": "success" }, { "context": "CI / Canvas (Next.js) (push)", "state": "success" }, { "context": "CI / Shellcheck (E2E scripts) (push)", "state": "success" }, { "context": "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)", "state": "failure" }, { "context": "E2E Staging Canvas (Playwright) / Canvas tabs E2E (push)", "state": "success" }, { "context": "CI / all-required (push)", "state": "success" }, { "context": "E2E API Smoke Test / E2E API Smoke Test (push)", "state": "success" }, { "context": "CI / Canvas Deploy Reminder (push)", "state": "success" }, { "context": "Handlers Postgres Integration / Handlers Postgres Integration (push)", "state": "success" }, { "context": "E2E Chat / E2E Chat (push)", "state": "success" }, { "context": "publish-workspace-server-image / Production auto-deploy (push)", "state": "failure" } ], "branch": "main", "combined_state": "failure", "failed_contexts": [ "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)", "publish-workspace-server-image / Production auto-deploy (push)" ], "recheck_combined_state": "failure", "recheck_failed_contexts": [ "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)", "publish-workspace-server-image / Production auto-deploy (push)" ], "sha": "7f25373309eca54a36f08c371ff783c3a47c3f8d" } ``` _This issue is idempotent: the watchdog runs hourly at `:05` and edits this body in place. When `main` returns to green, the watchdog will close this issue automatically with a "main returned to green" comment._
gitea-actions bot added the tier:high label 2026-06-04 06:07:04 +00:00
Member

MECHANISM: #2217 is the watchdog aggregate for core main 7f25373309ec; the two failing contexts already split into concrete RCAs. E2E Peer Visibility fails before list_peers because tests/e2e/test_peer_visibility_mcp_staging.sh:200-202 creates the parent workspace without explicit model/template; tracked in #2212 and fix PR #2214. Production auto-deploy fails in .gitea/workflows/publish-workspace-server-image.yml:304-356 because post-redeploy /buildinfo verification finds one stale tenant; tracked in #2213 and fix PR #2215.

EVIDENCE: watchdog body lists only these failed contexts. Job 275414 log: MODEL_REQUIRED ... model is required; job 275427 log: hongming is stale: actual=7a72516, expected=7f25373. Current scan confirms controlplane main f38df7b47450 is green; no extra core main failure beyond the two above.

RECOMMENDED FIX SHAPE: keep #2217 as the aggregate watchdog issue and close it automatically when main returns green. Engineering work should stay on #2214 for peer-visibility setup-contract repair and #2215 for production deploy stale-tenant/superseded-rollout handling; no duplicate RCA issue needed.

MECHANISM: `#2217` is the watchdog aggregate for core main `7f25373309ec`; the two failing contexts already split into concrete RCAs. `E2E Peer Visibility` fails before `list_peers` because `tests/e2e/test_peer_visibility_mcp_staging.sh:200-202` creates the parent workspace without explicit `model`/template; tracked in `#2212` and fix PR `#2214`. `Production auto-deploy` fails in `.gitea/workflows/publish-workspace-server-image.yml:304-356` because post-redeploy `/buildinfo` verification finds one stale tenant; tracked in `#2213` and fix PR `#2215`. EVIDENCE: watchdog body lists only these failed contexts. Job `275414` log: `MODEL_REQUIRED ... model is required`; job `275427` log: `hongming is stale: actual=7a72516, expected=7f25373`. Current scan confirms controlplane main `f38df7b47450` is green; no extra core main failure beyond the two above. RECOMMENDED FIX SHAPE: keep `#2217` as the aggregate watchdog issue and close it automatically when main returns green. Engineering work should stay on `#2214` for peer-visibility setup-contract repair and `#2215` for production deploy stale-tenant/superseded-rollout handling; no duplicate RCA issue needed.
Member

Root cause analysis: both failures on 7f25373309 were fixed by subsequent merges:\n\n1. E2E Peer Visibility failure → fixed by PR #2214 (issue #2212): the peer-visibility staging gate was missing in workspace create after the MODEL_REQUIRED contract landed.\n2. Production auto-deploy failure → fixed by PR #2215 (issue #2213): added per-tenant settle/retry polling for buildinfo SHA verification and blocked backward rolling.\n\nMain at 376e6ab8 (current tip) includes both fixes. This main-red ticket can be closed.

Root cause analysis: both failures on 7f25373309 were fixed by subsequent merges:\n\n1. **E2E Peer Visibility failure** → fixed by PR #2214 (issue #2212): the peer-visibility staging gate was missing in workspace create after the MODEL_REQUIRED contract landed.\n2. **Production auto-deploy failure** → fixed by PR #2215 (issue #2213): added per-tenant settle/retry polling for buildinfo SHA verification and blocked backward rolling.\n\nMain at 376e6ab8 (current tip) includes both fixes. This main-red ticket can be closed.
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#2217