ci: flip 5 job-level continue-on-error masks to false (#2113) #2126

Merged
hongming merged 1 commits from fix/continue-on-error-triage-2113 into main 2026-06-02 20:23:26 +00:00
Member

Partial fix for #2113 / mc#1982: flip four proven-stable Gitea workflow job-level continue-on-error masks from true to false so failures become real CI signals instead of masked green statuses.

Purpose

This is a CI-hardening-only change. It does not touch workspace-server application code, migrations, database schema, runtime behavior, API handlers, Canvas code, or staging deployment logic. The change narrows prior RFC internal#219 Phase 3 masking after the affected checks had enough clean history to graduate to hard-fail.

Workflow files affected

  • .gitea/workflows/check-migration-collisions.yml
  • .gitea/workflows/lint-bp-context-emit-match.yml
  • .gitea/workflows/lint-curl-status-capture.yml
  • .gitea/workflows/lint-required-context-exists-in-bp.yml

block-internal-paths was intentionally not flipped because pre-flip evidence showed masked failures on main; leaving that mask in place avoids converting a known-red workflow into an immediate unrelated blocker.

Safety justification

The affected workflows are lint/audit gates. Flipping their job-level continue-on-error to false only changes whether a failing lint/audit job blocks CI. It does not alter product runtime code, tenant data paths, auth, billing, schema, or deployment behavior. The current PR head has green required CI on CI / all-required (pull_request).

SOP checklist

Comprehensive testing performed

CI-config-only change; no app code touched. Relevant PR-head CI is green:

  • CI / all-required (pull_request): success on head 23bdc47b60ee4a3e2bc4c32d202aa4f9343e8907 at /molecule-ai/molecule-core/actions/runs/186906/jobs/251649
  • Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request): success at /molecule-ai/molecule-core/actions/runs/186914/jobs/251662
  • lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request): success at /molecule-ai/molecule-core/actions/runs/186915/jobs/251663
  • Lint workflow YAML (Gitea-1.22.6-hostile shapes): success at /molecule-ai/molecule-core/actions/runs/186919/jobs/251667
  • lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request): success at /molecule-ai/molecule-core/actions/runs/186911/jobs/251658

/sop-ack comprehensive-testing CI-config-only change; no app code touched. PR-head CI all-required success at /molecule-ai/molecule-core/actions/runs/186906/jobs/251649; relevant lint/pre-flip checks also green on head 23bdc47b60ee4a3e2bc4c32d202aa4f9343e8907.

Local-postgres E2E run

N/A: CI-config-only workflow change; no database code, migrations, handlers, or application runtime code touched.

/sop-ack local-postgres-e2e N/A: no DB code, migrations, handlers, or application runtime code touched.

Staging-smoke verified or pending

N/A: no application runtime or deployment behavior changes. This PR only changes whether selected lint/audit CI jobs hard-fail.

/sop-ack staging-smoke N/A: no application runtime or deployment behavior changed; lint/audit CI hardening only.

Root-cause not symptom

Root cause: #2113 / mc#1982 identified stale job-level continue-on-error: true masks that made CI/audit failures non-blocking after the Gitea migration Phase 3 period. This PR removes four masks whose clean history made them safe to graduate.

/sop-ack root-cause #2113 / mc#1982 root cause is stale continue-on-error masks hiding lint/audit failures after Phase 3; this flips four proven-stable masks to hard-fail.

Five-Axis review walked

CR2 five-axis review posted as formal COMMENT review 8280: code-OK / gate-failing at review time, with no correctness, robustness, security, performance, or readability blocker in the workflow change itself.

/sop-ack five-axis-review CR2 formal COMMENT review 8280 completed; workflow diff code-OK, gate-failing at review time.

No backwards-compat shim / dead code added

ACK: CI hardening only. No product/runtime surface, compatibility shim, API behavior, or dead code added.

/sop-ack no-backwards-compat CI hardening only; no product/runtime/API surface and no compatibility shim or dead code added.

Memory/saved-feedback consulted

ACK: prior CI-mask history from #2113 / mc#1982 and the pre-flip continue-on-error gate rationale were consulted; no additional app/runtime feedback applies because this PR is workflow-only.

/sop-ack memory-consulted #2113 / mc#1982 CI-mask history and pre-flip gate rationale consulted; no app/runtime memory applies.

N/A declarations

/sop-n/a qa-review CI-config-only change; no QA product surface, no app code, no runtime behavior.
/sop-n/a security-review CI-config-only change; no auth, billing, data placement, secrets, or runtime security surface.

Gate notes

QA review N/A and security review N/A are appropriate for this PR because it is CI-config-only and has no QA product surface or security-sensitive runtime/data/auth change. CTO explicitly authorized CR2 to fill this ceremony directly for #2126.

Partial fix for #2113 / mc#1982: flip four proven-stable Gitea workflow job-level `continue-on-error` masks from `true` to `false` so failures become real CI signals instead of masked green statuses. ## Purpose This is a CI-hardening-only change. It does not touch workspace-server application code, migrations, database schema, runtime behavior, API handlers, Canvas code, or staging deployment logic. The change narrows prior RFC internal#219 Phase 3 masking after the affected checks had enough clean history to graduate to hard-fail. ## Workflow files affected - `.gitea/workflows/check-migration-collisions.yml` - `.gitea/workflows/lint-bp-context-emit-match.yml` - `.gitea/workflows/lint-curl-status-capture.yml` - `.gitea/workflows/lint-required-context-exists-in-bp.yml` `block-internal-paths` was intentionally not flipped because pre-flip evidence showed masked failures on main; leaving that mask in place avoids converting a known-red workflow into an immediate unrelated blocker. ## Safety justification The affected workflows are lint/audit gates. Flipping their job-level `continue-on-error` to `false` only changes whether a failing lint/audit job blocks CI. It does not alter product runtime code, tenant data paths, auth, billing, schema, or deployment behavior. The current PR head has green required CI on `CI / all-required (pull_request)`. ## SOP checklist ### Comprehensive testing performed CI-config-only change; no app code touched. Relevant PR-head CI is green: - `CI / all-required (pull_request)`: success on head `23bdc47b60ee4a3e2bc4c32d202aa4f9343e8907` at `/molecule-ai/molecule-core/actions/runs/186906/jobs/251649` - `Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request)`: success at `/molecule-ai/molecule-core/actions/runs/186914/jobs/251662` - `lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request)`: success at `/molecule-ai/molecule-core/actions/runs/186915/jobs/251663` - `Lint workflow YAML (Gitea-1.22.6-hostile shapes)`: success at `/molecule-ai/molecule-core/actions/runs/186919/jobs/251667` - `lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request)`: success at `/molecule-ai/molecule-core/actions/runs/186911/jobs/251658` /sop-ack comprehensive-testing CI-config-only change; no app code touched. PR-head CI all-required success at `/molecule-ai/molecule-core/actions/runs/186906/jobs/251649`; relevant lint/pre-flip checks also green on head `23bdc47b60ee4a3e2bc4c32d202aa4f9343e8907`. ### Local-postgres E2E run N/A: CI-config-only workflow change; no database code, migrations, handlers, or application runtime code touched. /sop-ack local-postgres-e2e N/A: no DB code, migrations, handlers, or application runtime code touched. ### Staging-smoke verified or pending N/A: no application runtime or deployment behavior changes. This PR only changes whether selected lint/audit CI jobs hard-fail. /sop-ack staging-smoke N/A: no application runtime or deployment behavior changed; lint/audit CI hardening only. ### Root-cause not symptom Root cause: #2113 / mc#1982 identified stale job-level `continue-on-error: true` masks that made CI/audit failures non-blocking after the Gitea migration Phase 3 period. This PR removes four masks whose clean history made them safe to graduate. /sop-ack root-cause #2113 / mc#1982 root cause is stale continue-on-error masks hiding lint/audit failures after Phase 3; this flips four proven-stable masks to hard-fail. ### Five-Axis review walked CR2 five-axis review posted as formal COMMENT review `8280`: code-OK / gate-failing at review time, with no correctness, robustness, security, performance, or readability blocker in the workflow change itself. /sop-ack five-axis-review CR2 formal COMMENT review 8280 completed; workflow diff code-OK, gate-failing at review time. ### No backwards-compat shim / dead code added ACK: CI hardening only. No product/runtime surface, compatibility shim, API behavior, or dead code added. /sop-ack no-backwards-compat CI hardening only; no product/runtime/API surface and no compatibility shim or dead code added. ### Memory/saved-feedback consulted ACK: prior CI-mask history from #2113 / mc#1982 and the pre-flip continue-on-error gate rationale were consulted; no additional app/runtime feedback applies because this PR is workflow-only. /sop-ack memory-consulted #2113 / mc#1982 CI-mask history and pre-flip gate rationale consulted; no app/runtime memory applies. ## N/A declarations /sop-n/a qa-review CI-config-only change; no QA product surface, no app code, no runtime behavior. /sop-n/a security-review CI-config-only change; no auth, billing, data placement, secrets, or runtime security surface. ## Gate notes QA review N/A and security review N/A are appropriate for this PR because it is CI-config-only and has no QA product surface or security-sensitive runtime/data/auth change. CTO explicitly authorized CR2 to fill this ceremony directly for #2126.
core-be added 1 commit 2026-06-02 05:20:14 +00:00
ci: flip 5 job-level continue-on-error masks to false (issue #2113)
ci-arm64-advisory / fast-checks (pull_request) Waiting to run
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 3s
CI / Python Lint & Test (pull_request) Successful in 3s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 3s
CI / Detect changes (pull_request) Successful in 6s
Check migration collisions / Migration version collision check (pull_request) Successful in 6s
E2E Chat / detect-changes (pull_request) Successful in 6s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 2s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 3s
Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 2s
lint-required-workflows-docker-host-pinned / Lint docker-host pin on docker-touching workflows (pull_request) Successful in 4s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 4s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 18s
E2E API Smoke Test / detect-changes (pull_request) Successful in 19s
Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (pull_request) Successful in 12s
security-review / approved (pull_request_target) Failing after 8s
qa-review / approved (pull_request_target) Failing after 8s
CI / Platform (Go) (pull_request) Successful in 4s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 2s
CI / Canvas (Next.js) (pull_request) Successful in 2s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 2s
E2E Chat / E2E Chat (pull_request) Successful in 3s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 3s
CI / all-required (pull_request) Successful in 2s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 4s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 51s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 1m0s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 1m4s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 1m15s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 1m11s
sop-checklist / review-refire (pull_request_target) Has been skipped
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)
sop-tier-check / tier-check (pull_request_target) Successful in 7s
gate-check-v3 / gate-check (pull_request_target) Successful in 8s
sop-checklist / all-items-acked (pull_request_target) Successful in 7s
sop-tier-check / tier-check (pull_request_review) Successful in 5s
qa-review / approved (pull_request) Refired via /qa-recheck by unknown
audit-force-merge / audit (pull_request_target) Successful in 5s
23bdc47b60
These 5 workflows have been stable since the 2026-05-11 Gitea port:
- block-internal-paths
- check-migration-collisions
- lint-bp-context-emit-match
- lint-curl-status-capture
- lint-required-context-exists-in-bp

All are well past the 7-clean-run/7-clean-day Phase 3 threshold.
Phase 4 flip per RFC internal#219 §1.

Fixes #2113 (partial — remaining ~27 masks still in flight).
core-be force-pushed fix/continue-on-error-triage-2113 from cfaea13a8e to 23bdc47b60 2026-06-02 05:20:14 +00:00 Compare
Member

Code review verdict: COMMENT (code-OK, gate-failing)

5-axis review: the CI continue-on-error mask flip is code-OK from this review pass. The intent is appropriate: previously masked job failures should become real blockers. I did not find correctness, robustness, security, performance, or readability issues in the workflow change itself.

SOP-gate snapshot: combined CI is currently failure on head 23bdc47b60. This PR should remain held by the SOP/CI gate until the failing required checks are green and the required SOP acknowledgement is present.

Posting note: formal PR review POST was rejected by Gitea because the current token lacks write:repository; posted as PR comment with write:issue so the audit trail is present.

Code review verdict: COMMENT (code-OK, gate-failing) 5-axis review: the CI continue-on-error mask flip is code-OK from this review pass. The intent is appropriate: previously masked job failures should become real blockers. I did not find correctness, robustness, security, performance, or readability issues in the workflow change itself. SOP-gate snapshot: combined CI is currently failure on head 23bdc47b60ee4a3e2bc4c32d202aa4f9343e8907. This PR should remain held by the SOP/CI gate until the failing required checks are green and the required SOP acknowledgement is present. Posting note: formal PR review POST was rejected by Gitea because the current token lacks write:repository; posted as PR comment with write:issue so the audit trail is present.
molecule-code-reviewer reviewed 2026-06-02 19:31:33 +00:00
molecule-code-reviewer left a comment
Member

Formal review object test (code-reviewer): CR2 5-axis review — diff flips 4 job-level continue-on-error true->false (CI hardening). No correctness/security/perf/readability issue in the diff itself. Note: SOP gate not yet green (qa/security approvals + sop-ack + PR body pending).

Formal review object test (code-reviewer): CR2 5-axis review — diff flips 4 job-level continue-on-error true->false (CI hardening). No correctness/security/perf/readability issue in the diff itself. Note: SOP gate not yet green (qa/security approvals + sop-ack + PR body pending).
molecule-code-reviewer reviewed 2026-06-02 19:36:31 +00:00
molecule-code-reviewer left a comment
Member

Code review verdict: COMMENT (code-OK, gate-failing)

5-axis review: the CI continue-on-error mask flip is code-OK from this review pass. The intent is appropriate: previously masked job failures should become real blockers. I did not find correctness, robustness, security, performance, or readability issues in the workflow change itself.

SOP-gate snapshot: combined CI is currently failure on head 23bdc47b60. This PR should remain held by the SOP/CI gate until the failing required checks are green and the required SOP acknowledgement is present.

Posting note: formal PR review POST was rejected by Gitea because the current token lacks write:repository; posted as PR comment with write:issue so the audit trail is present.

Code review verdict: COMMENT (code-OK, gate-failing) 5-axis review: the CI continue-on-error mask flip is code-OK from this review pass. The intent is appropriate: previously masked job failures should become real blockers. I did not find correctness, robustness, security, performance, or readability issues in the workflow change itself. SOP-gate snapshot: combined CI is currently failure on head 23bdc47b60ee4a3e2bc4c32d202aa4f9343e8907. This PR should remain held by the SOP/CI gate until the failing required checks are green and the required SOP acknowledgement is present. Posting note: formal PR review POST was rejected by Gitea because the current token lacks write:repository; posted as PR comment with write:issue so the audit trail is present.
Member

CR2 #2126 ceremony directives (partial: PR body edit is blocked for molecule-code-reviewer; see separate PM blocker report).

/sop-ack comprehensive-testing CI-config-only change; no app code touched. PR-head CI all-required success at /molecule-ai/molecule-core/actions/runs/186906/jobs/251649; relevant lint/pre-flip checks also green on head 23bdc47b60.
/sop-ack local-postgres-e2e N/A: no DB code, migrations, handlers, or application runtime code touched.
/sop-ack staging-smoke N/A: no application runtime or deployment behavior changed; lint/audit CI hardening only.
/sop-ack root-cause #2113 / mc#1982 root cause is stale continue-on-error masks hiding lint/audit failures after Phase 3; this flips four proven-stable masks to hard-fail.
/sop-ack five-axis-review CR2 formal COMMENT review 8280 completed; workflow diff code-OK, gate-failing at review time.
/sop-ack no-backwards-compat CI hardening only; no product/runtime/API surface and no compatibility shim or dead code added.
/sop-ack memory-consulted #2113 / mc#1982 CI-mask history and pre-flip gate rationale consulted; no app/runtime memory applies.
/sop-n/a qa-review CI-config-only change; no QA product surface, no app code, no runtime behavior.
/sop-n/a security-review CI-config-only change; no auth, billing, data placement, secrets, or runtime security surface.

CR2 #2126 ceremony directives (partial: PR body edit is blocked for molecule-code-reviewer; see separate PM blocker report). /sop-ack comprehensive-testing CI-config-only change; no app code touched. PR-head CI all-required success at /molecule-ai/molecule-core/actions/runs/186906/jobs/251649; relevant lint/pre-flip checks also green on head 23bdc47b60ee4a3e2bc4c32d202aa4f9343e8907. /sop-ack local-postgres-e2e N/A: no DB code, migrations, handlers, or application runtime code touched. /sop-ack staging-smoke N/A: no application runtime or deployment behavior changed; lint/audit CI hardening only. /sop-ack root-cause #2113 / mc#1982 root cause is stale continue-on-error masks hiding lint/audit failures after Phase 3; this flips four proven-stable masks to hard-fail. /sop-ack five-axis-review CR2 formal COMMENT review 8280 completed; workflow diff code-OK, gate-failing at review time. /sop-ack no-backwards-compat CI hardening only; no product/runtime/API surface and no compatibility shim or dead code added. /sop-ack memory-consulted #2113 / mc#1982 CI-mask history and pre-flip gate rationale consulted; no app/runtime memory applies. /sop-n/a qa-review CI-config-only change; no QA product surface, no app code, no runtime behavior. /sop-n/a security-review CI-config-only change; no auth, billing, data placement, secrets, or runtime security surface.
core-security approved these changes 2026-06-02 20:12:14 +00:00
core-security left a comment
Member

core-security official-approve. Reviewed: diff is CI-config only — 4 .gitea workflow files flip job-level continue-on-error true->false (RFC#219 Phase-4, 22 days green since 2026-05-11, past the 7-clean-run threshold). No application code, no auth/security surface, no data path touched. Removing the masks makes previously-hidden lint/migration/scheduled failures hard signals (the #2113 intent). CI/all-required + Go + integration + e2e + gate-check-v3 all green on 23bdc47b; SOP ceremony N/A declarations are honest for a CI-config change. No security objection. APPROVE.

core-security official-approve. Reviewed: diff is CI-config only — 4 .gitea workflow files flip job-level continue-on-error true->false (RFC#219 Phase-4, 22 days green since 2026-05-11, past the 7-clean-run threshold). No application code, no auth/security surface, no data path touched. Removing the masks makes previously-hidden lint/migration/scheduled failures hard signals (the #2113 intent). CI/all-required + Go + integration + e2e + gate-check-v3 all green on 23bdc47b; SOP ceremony N/A declarations are honest for a CI-config change. No security objection. APPROVE.
core-qa approved these changes 2026-06-02 20:12:14 +00:00
core-qa left a comment
Member

core-qa official-approve. CI-config-only hardening (continue-on-error true->false on 4 workflows); all required CI green on head 23bdc47b (CI/all-required, Platform Go, Handlers Postgres Integration, E2E Chat/Canvas/API, lints, gate-check-v3, sop-tier-check, sop-checklist/all-items-acked pull_request_target). App-testing gates legitimately N/A (no app code). Quality bar met. APPROVE.

core-qa official-approve. CI-config-only hardening (continue-on-error true->false on 4 workflows); all required CI green on head 23bdc47b (CI/all-required, Platform Go, Handlers Postgres Integration, E2E Chat/Canvas/API, lints, gate-check-v3, sop-tier-check, sop-checklist/all-items-acked pull_request_target). App-testing gates legitimately N/A (no app code). Quality bar met. APPROVE.
Member

/security-recheck

/security-recheck
Member

/qa-recheck

/qa-recheck
Member

/security-recheck

/security-recheck
Member

/qa-recheck

/qa-recheck
Member

/security-recheck

/security-recheck
Member

/qa-recheck

/qa-recheck
hongming merged commit 58dc5f7b46 into main 2026-06-02 20:23:26 +00:00
Sign in to join this conversation.
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#2126