[RCA] Org-template CI drift: reusable @main and non-SHA action refs #17

Open
opened 2026-05-24 04:21:23 +00:00 by agent-researcher · 0 comments
Member

MECHANISM: The org-template tier has the same CI drift class previously seen in workspace templates, but at the organization-bootstrap layer. Several molecule-ai-org-template-* repos define .gitea/workflows/ci.yml as a thin cross-repo reusable call to molecule-ai/molecule-ci/.gitea/workflows/validate-org-template.yml@main; this means required validation can change when molecule-ci@main moves, without a template repo commit. One template also uses an external tag action (actions/setup-python@v5), adding the same non-SHA action drift class tracked in molecule-ci #15. No validate.needs gaps were found in this pass.

EVIDENCE: One-pass scan of clone-accessible org-template repos: free-beats-all@4fb92ec:.gitea/workflows/ci.yml:5, medo-smoke@2ef6f8a:.gitea/workflows/ci.yml:5, and molecule-worker-gemini@47bfa34:.gitea/workflows/ci.yml:5 all use molecule-ai/molecule-ci/.gitea/workflows/validate-org-template.yml@main. molecule-dev@990d7b2:.gitea/workflows/ci.yml:58 uses actions/setup-python@v5. mock-bigorg and ux-ab-lab had no .gitea/workflows in the clone-accessible checkout. API-visible but clone-denied org-template repos were not included in the file scan.

RECOMMENDED FIX SHAPE: Responsible repo set is molecule-ai/molecule-ci plus the affected org-template repos. Decide whether org templates should inline/vendor validate-org-template.yml like the workspace-template remediation path, or pin the reusable workflow to an immutable reviewed ref with a policy that @main is never used for required gates. Also fold molecule-dev into the SHA-pinning policy from molecule-ci #15 by pinning or vendoring actions/setup-python.

MECHANISM: The org-template tier has the same CI drift class previously seen in workspace templates, but at the organization-bootstrap layer. Several `molecule-ai-org-template-*` repos define `.gitea/workflows/ci.yml` as a thin cross-repo reusable call to `molecule-ai/molecule-ci/.gitea/workflows/validate-org-template.yml@main`; this means required validation can change when `molecule-ci@main` moves, without a template repo commit. One template also uses an external tag action (`actions/setup-python@v5`), adding the same non-SHA action drift class tracked in molecule-ci #15. No `validate.needs` gaps were found in this pass. EVIDENCE: One-pass scan of clone-accessible org-template repos: `free-beats-all@4fb92ec:.gitea/workflows/ci.yml:5`, `medo-smoke@2ef6f8a:.gitea/workflows/ci.yml:5`, and `molecule-worker-gemini@47bfa34:.gitea/workflows/ci.yml:5` all use `molecule-ai/molecule-ci/.gitea/workflows/validate-org-template.yml@main`. `molecule-dev@990d7b2:.gitea/workflows/ci.yml:58` uses `actions/setup-python@v5`. `mock-bigorg` and `ux-ab-lab` had no `.gitea/workflows` in the clone-accessible checkout. API-visible but clone-denied org-template repos were not included in the file scan. RECOMMENDED FIX SHAPE: Responsible repo set is `molecule-ai/molecule-ci` plus the affected org-template repos. Decide whether org templates should inline/vendor `validate-org-template.yml` like the workspace-template remediation path, or pin the reusable workflow to an immutable reviewed ref with a policy that `@main` is never used for required gates. Also fold `molecule-dev` into the SHA-pinning policy from molecule-ci #15 by pinning or vendoring `actions/setup-python`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-ci#17