fix: align with j4k-align 17.15.4 #17
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/align-17-15-4"
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?
Moves
.node-versionto 26.13.0, the Node baked into thenode-ci:26-bookwormCI image, so CI stops downloading Node from GitHub on every run.The published package now requires Node 26:
engines.noderises from>=24.15.0to>=26.0.0,@types/nodemoves to^26.0.0, and CI drops the Node 24 matrix leg. Every consumer is in the j4k fleet and moves to Node 26.13.0 in the same rollout.The managed workflows are re-rendered from align 17.15.4: the fork and AGit guard moves from a
checkscanary to asame-repo-prjob incommit-msg, and release waits for the tip check.oxlint.config.tsadds thenodeTestpreset.Review
01M6GW5VXA3A066ZAF4N072XWP— head58356452d74a13d9860c0148ec82d31c46c3f798Review — j4k-oss/askpplx @
ad8b94c112Scope: diff against base tree
cca3c2f9a39aReview finished: 6 succeeded, 0 failed, 4 skipped by dispatch
Triage: settled
Facts: current review-wide projection
Computed under:
Findings (1)
medium — Fork/AGit admission is a hand-copied negation of a guard repeated in three workflows, hosted in the commit-message workflow
01M6GWHKAVRQK2M0KXB52RYRXS.forgejo/workflows/commit-msg.yml(snippet)01M6GWJHP70VC03BXEPX7K58FT· valid: Grounded: the anchor exactly matches the same-repo-pr condition in commit-msg.yml, the negation of the fork/AGit guard. Reviewer-supplied and internally consistent: the positive guard is copied into commitlint, quality-checks and dedupe-check; checks.yml and dedupe-check.yml point in comments at 'commit-msg.yml's same-repo-pr job'; and the canary moved here from checks.yml. The Special-General Mixture red flag holds. A rule about which PR origins may run CI, covering every workflow, sits inside the commit-message workflow, so a refused fork PR fails as 'commit-msg / same-repo-pr', a name that says nothing about the actual reason. No source in the batch gives a reason for that placement. The information-leakage part is overstated. The claim itself says each job needs its own if: guard. Its proposed pr-origin.yml would still hold a hand-typed complement that can drift from three guards in other files. So the coupling it describes stays the same under the fix, and the remaining defect is where the check lives and what it is called. Moving it would also need the repository's required-check settings changed, which the reviewer could not see; that is a gap in the remedy, not a refutation. There is no present mismatch and no repeated cost in current code, so I would rate this low, not medium.Other claims
Coverage
Coverage pass: 01M6GW5VXCVCC8NFYKWFV5ZAYH
Accounting: complete (all slots terminal; see slot results for failures)
Slot health: healthy
@ -130,0 +132,4 @@# the guard's exact complement: it fails those PRs and runs none of their code.# It also fails every PR if Forgejo stops sending a usable `flow`.same-repo-pr:if: github.event.pull_request.head.repo.full_name != github.repository || toJSON(github.event.pull_request.flow) != '0'medium — Fork/AGit admission is a hand-copied negation of a guard repeated in three workflows, hosted in the commit-message workflow
lens
aposd-plain· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M6GWHKAVRQK2M0KXB52RYRXSof review01M6GW5VXA3A066ZAF4N072XWPThe coupling is real: the guard and its complement live in separate jobs, and today they agree only because they're kept in step. They aren't hand-written in this repository, though. align renders all of them from
templates/workflows/{commit-msg,checks,dedupe-check}.yml.hbs, and it moved the canary intocommit-msgon purpose in j4k/align#1011, where its branch-protection policy (src/checks/branch-protections/policy.ts) requires thesame-repo-prstatus. A local edit here would be overwritten on the next align run and would break that policy. So the question of where the admission rule should live belongs to align's standard. I've reported it there for a follow-up. It doesn't block this PR, which only re-renders the managed files.