RCA: T4 hard-gate aggregates still accept skipped in three templates #21
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
MECHANISM: Three template CI aggregate jobs still treat
t4-conformanceas merge-safe when the job result isskipped, even though T4 is documented as a hard live gate. The vulnerable path is the finalvalidatejob:molecule-ai-workspace-template-hermes/.gitea/workflows/ci.yml:387-412,molecule-ai-workspace-template-claude-code/.gitea/workflows/ci.yml:360-385, andmolecule-ai-workspace-template-openclaw/.gitea/workflows/ci.yml:215-239all readneeds.t4-conformance.resultand only fail when it is neithersuccessnorskipped. That means an internal PR/main run can publish a green aggregate without proving host-root reach or token ownership if Gitea marks the T4 job skipped.EVIDENCE: Current main heads checked by direct Gitea API: Hermes
a1e92e74a4, Claude Codee51d60112c, OpenClaw0df8522497. The workflows sayT4 conformance is a hard gate, but the shell condition still permits$t4 == skippedat Hermes.gitea/workflows/ci.yml:407-412, Claude Code.gitea/workflows/ci.yml:380-385, and OpenClaw.gitea/workflows/ci.yml:234-239. Codex is the contrast case at3a3d22ed86:.gitea/workflows/ci.yml:327-333documents that skipped is acceptable only for fork PRs, not internal PRs/main pushes.RECOMMENDED FIX SHAPE: Responsible files are the three affected template workflow files plus the shared template-CI guidance in
molecule-ci. Preserve the no-pending-context workaround if the runner still needs it, but makevalidatedistinguish legitimate fork-PR skips from internal PR/main skips. Internal PR and main push aggregates should requiret4-conformance == success; only fork PRs should allow a skipped T4 result, matching the Codex-style explicit fork guard semantics.Closing — resolved by merged PR(s): molecule-ai/molecule-ai-workspace-template-claude-code/pulls/142, molecule-ai/molecule-ai-workspace-template-openclaw/pulls/86, molecule-ai/molecule-ai-workspace-template-hermes/pulls/101, molecule-ai/molecule-ci/pulls/37.