[main-red] molecule-ai/molecule-core: ba78894858 #2298

Closed
opened 2026-06-05 09:07:04 +00:00 by gitea-actions · 3 comments

Main is RED on molecule-ai/molecule-core at ba78894858

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

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 2m20s
  • E2E Chat / E2E Chat (push)failurelogs
    • Failing after 1m44s

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": "Block internal-flavored paths / Block forbidden paths (push)",
      "state": "success"
    },
    {
      "context": "CI / Detect changes (push)",
      "state": "success"
    },
    {
      "context": "Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (push)",
      "state": "success"
    },
    {
      "context": "CI / Python Lint & Test (push)",
      "state": "success"
    },
    {
      "context": "E2E API Smoke Test / detect-changes (push)",
      "state": "success"
    },
    {
      "context": "E2E Chat / detect-changes (push)",
      "state": "success"
    },
    {
      "context": "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (push)",
      "state": "success"
    },
    {
      "context": "Harness Replays / detect-changes (push)",
      "state": "success"
    },
    {
      "context": "Handlers Postgres Integration / detect-changes (push)",
      "state": "success"
    },
    {
      "context": "Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (push)",
      "state": "success"
    },
    {
      "context": "E2E Staging Canvas (Playwright) / detect-changes (push)",
      "state": "success"
    },
    {
      "context": "Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (push)",
      "state": "success"
    },
    {
      "context": "CI / Canvas (Next.js) (push)",
      "state": "success"
    },
    {
      "context": "CI / Shellcheck (E2E scripts) (push)",
      "state": "success"
    },
    {
      "context": "Secret scan / Scan diff for credential-shaped strings (push)",
      "state": "success"
    },
    {
      "context": "Ops Scripts Tests / Ops scripts (unittest) (push)",
      "state": "success"
    },
    {
      "context": "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)",
      "state": "failure"
    },
    {
      "context": "Harness Replays / Harness Replays (push)",
      "state": "success"
    },
    {
      "context": "E2E API Smoke Test / E2E API Smoke Test (push)",
      "state": "success"
    },
    {
      "context": "Handlers Postgres Integration / Handlers Postgres Integration (push)",
      "state": "success"
    },
    {
      "context": "CI / Canvas Deploy Status (push)",
      "state": "success"
    },
    {
      "context": "E2E Staging Canvas (Playwright) / Canvas tabs E2E (push)",
      "state": "success"
    },
    {
      "context": "E2E Chat / E2E Chat (push)",
      "state": "failure"
    },
    {
      "context": "CI / Platform (Go) (push)",
      "state": "success"
    },
    {
      "context": "publish-workspace-server-image / build-and-push (push)",
      "state": "success"
    },
    {
      "context": "CI / all-required (push)",
      "state": "success"
    },
    {
      "context": "publish-workspace-server-image / Production auto-deploy (push)",
      "state": "success"
    },
    {
      "context": "E2E Staging SaaS (full lifecycle) / pr-validate (push)",
      "state": "pending"
    },
    {
      "context": "E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (push)",
      "state": "pending"
    },
    {
      "context": "E2E Staging SaaS (full lifecycle) / E2E Staging Platform Boot (push)",
      "state": "pending"
    }
  ],
  "branch": "main",
  "combined_state": "failure",
  "failed_contexts": [
    "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)",
    "E2E Chat / E2E Chat (push)"
  ],
  "recheck_combined_state": "failure",
  "recheck_failed_contexts": [
    "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)",
    "E2E Chat / E2E Chat (push)"
  ],
  "sha": "ba78894858f8f2e36623f422385303857ec32701"
}

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 `ba78894858` Commit: <https://git.moleculesai.app/molecule-ai/molecule-core/commit/ba78894858f8f2e36623f422385303857ec32701> 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/219478/jobs/291401) - Failing after 2m20s - **E2E Chat / E2E Chat (push)** — `failure` → [logs](/molecule-ai/molecule-core/actions/runs/219477/jobs/291398) - Failing after 1m44s ## 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": "Block internal-flavored paths / Block forbidden paths (push)", "state": "success" }, { "context": "CI / Detect changes (push)", "state": "success" }, { "context": "Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (push)", "state": "success" }, { "context": "CI / Python Lint & Test (push)", "state": "success" }, { "context": "E2E API Smoke Test / detect-changes (push)", "state": "success" }, { "context": "E2E Chat / detect-changes (push)", "state": "success" }, { "context": "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (push)", "state": "success" }, { "context": "Harness Replays / detect-changes (push)", "state": "success" }, { "context": "Handlers Postgres Integration / detect-changes (push)", "state": "success" }, { "context": "Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (push)", "state": "success" }, { "context": "E2E Staging Canvas (Playwright) / detect-changes (push)", "state": "success" }, { "context": "Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (push)", "state": "success" }, { "context": "CI / Canvas (Next.js) (push)", "state": "success" }, { "context": "CI / Shellcheck (E2E scripts) (push)", "state": "success" }, { "context": "Secret scan / Scan diff for credential-shaped strings (push)", "state": "success" }, { "context": "Ops Scripts Tests / Ops scripts (unittest) (push)", "state": "success" }, { "context": "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)", "state": "failure" }, { "context": "Harness Replays / Harness Replays (push)", "state": "success" }, { "context": "E2E API Smoke Test / E2E API Smoke Test (push)", "state": "success" }, { "context": "Handlers Postgres Integration / Handlers Postgres Integration (push)", "state": "success" }, { "context": "CI / Canvas Deploy Status (push)", "state": "success" }, { "context": "E2E Staging Canvas (Playwright) / Canvas tabs E2E (push)", "state": "success" }, { "context": "E2E Chat / E2E Chat (push)", "state": "failure" }, { "context": "CI / Platform (Go) (push)", "state": "success" }, { "context": "publish-workspace-server-image / build-and-push (push)", "state": "success" }, { "context": "CI / all-required (push)", "state": "success" }, { "context": "publish-workspace-server-image / Production auto-deploy (push)", "state": "success" }, { "context": "E2E Staging SaaS (full lifecycle) / pr-validate (push)", "state": "pending" }, { "context": "E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (push)", "state": "pending" }, { "context": "E2E Staging SaaS (full lifecycle) / E2E Staging Platform Boot (push)", "state": "pending" } ], "branch": "main", "combined_state": "failure", "failed_contexts": [ "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)", "E2E Chat / E2E Chat (push)" ], "recheck_combined_state": "failure", "recheck_failed_contexts": [ "E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push)", "E2E Chat / E2E Chat (push)" ], "sha": "ba78894858f8f2e36623f422385303857ec32701" } ``` _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-05 09:07:04 +00:00
Member

Update 2026-06-05 — E2E Chat root cause identified and fixed:

PR #2291 removed dev-mode fail-open auth; the e2e-chat local platform boot path was starting with MOLECULE_ENV=development and no ADMIN_TOKEN, causing every API call to 401. Fix is in PR #2301 (fix/main-red-e2e-chat-auth) which adds a deterministic per-run admin token step.

E2E Peer Visibility (staging) failure is still under investigation — the staging path may be a separate root cause from the local auth regression.

**Update 2026-06-05 — E2E Chat root cause identified and fixed:** PR #2291 removed dev-mode fail-open auth; the e2e-chat local platform boot path was starting with `MOLECULE_ENV=development` and no `ADMIN_TOKEN`, causing every API call to 401. Fix is in PR #2301 (`fix/main-red-e2e-chat-auth`) which adds a deterministic per-run admin token step. E2E Peer Visibility (staging) failure is still under investigation — the staging path may be a separate root cause from the local auth regression.
Member

Update — E2E Peer Visibility staging root cause identified and fixed:

The staging E2E was injecting direct vendor keys (ANTHROPIC_AUTH_TOKEN, MINIMAX_API_KEY, etc.) into workspace-create payloads, but PR #2291 now blocks these for platform-managed workspaces. The peer-visibility E2E already uses platform-managed models (anthropic/claude-sonnet-4-6, moonshot/kimi-k2.6), so tenant keys are unnecessary and actively rejected.

Fix is in PR #2304 which removes the secrets-injection chain from test_peer_visibility_mcp_staging.sh and keeps SECRETS_JSON empty, matching test_staging_full_saas.sh's platform-managed path.

E2E Chat fix remains in PR #2301.

**Update — E2E Peer Visibility staging root cause identified and fixed:** The staging E2E was injecting direct vendor keys (`ANTHROPIC_AUTH_TOKEN`, `MINIMAX_API_KEY`, etc.) into workspace-create payloads, but PR #2291 now blocks these for platform-managed workspaces. The peer-visibility E2E already uses platform-managed models (`anthropic/claude-sonnet-4-6`, `moonshot/kimi-k2.6`), so tenant keys are unnecessary and actively rejected. Fix is in PR #2304 which removes the secrets-injection chain from `test_peer_visibility_mcp_staging.sh` and keeps `SECRETS_JSON` empty, matching `test_staging_full_saas.sh`'s platform-managed path. E2E Chat fix remains in PR #2301.

The failing contexts from this SHA (ba78894858) have recovered on current HEAD f78fef4c97: E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push), E2E Chat / E2E Chat (push). Main is still red for other reasons; see the current [main-red] issue for f78fef4c97.

The failing contexts from this SHA (`ba78894858`) have recovered on current HEAD `f78fef4c97`: E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (push), E2E Chat / E2E Chat (push). Main is still red for other reasons; see the current `[main-red]` issue for `f78fef4c97`.
gitea-actions bot closed this issue 2026-06-05 12:07:14 +00:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#2298