Skip to content

tech-debt D: Five of six review-workflow templates emit a workflow that can never fire #161

Description

@mmcky

translate setup scaffolds a review workflow into every new target repo that cannot fire on the PRs it exists to review, and doctor passes the repo anyway. Five of the six in-repo templates carry the same defect; only connect-existing.md is correct.

The scaffolded workflow is also pinned to action v0.9.0 — 25 releases stale — with no permissions: and no concurrency: block.

Once scaffolded, a template is a copy that never updates, so every repo created from it carries the defect until someone hand-fixes it. This is the same shape as the v0.21.0 incident where six PRs of real translated content merged unreviewed.

Fix is one canonical template in examples/ that the generator and all five doc pages read from.

Findings covered

7 audit findings land here. F<n> are stable references into the audit; rank is the report ordering (1 = act first of 139).

  • F7 · rank 4 · high · s/s — translate setup scaffolds a review workflow that cannot fire on Action sync PRs; doctor passes it anyway
  • F136 · rank 5 · high · s/s — Five of six in-repo review-workflow templates emit the same unfireable workflow; only connect-existing.md is correct
  • F27 · rank 22 · med · t/t — setup scaffolds every new repo pinned to action v0.9.0 — 25 releases stale — with no permissions:/concurrency:
  • F137 · rank 23 · med · s/s — Same pin, cross-repo view: the release checklist omits setup.ts entirely, which is why it is stale
  • F91 · rank 24 · med · s/s — setup's generated source workflow has only types: [closed] — no labeled, no issue_comment, no rebase workflow
  • F135 · rank 25 · low · t/t — The scaffolder emits actions/checkout@v4 while 19 doc snippets teach @v7
  • F127 ½ · rank 122 · low · s/s — The same; the silent-failure half is fixed (a core.warning now fires) — the remnant is docs and the scaffolded workflow

Plan

Estimate 15h · Rebuilds dist-action/ no · Wave 1, PR D

F7 + F136 + F91 + F137 + F27 + F135 — one canonical workflow template in examples/, generator and five doc pages read it, @v0, permissions:, concurrency:, checkout@v7, the labeled/reopened trigger and label guard, the rebase workflow. Also lands the docs + scaffolded-workflow remnant of F127, whose silent-failure half is already fixed upstream


From the technical-debt audit of 2026-07-23 (141 candidates adversarially verified, re-validated against v0.23.0, 139 live). Effort is stopgap / full — t≈0.5h, s≈3.5h, m≈11h, L≈28h. Items marked ½ were partially addressed by v0.22.0/v0.23.0.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghigh-priorityAddress soonsecuritySecurity implications — needs a security-aware review bar

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions