chore: refresh managed node runtime #9
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/align-runtime-26-12-1"
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?
Refreshes managed Node pins to the published Align runtime, 26.12.1. Preserves the Node 24.15.0 compatibility check.
Review
01M5QM8CRMYG75S33R18P2W68Q— head3101eb54628340117f3d2d3a3ae133a67df0e008Review — j4k-oss/askpplx @
39e79a9463Scope: diff against base tree
0a867bf9a11cReview finished: 10 succeeded, 0 failed
Triage: settled
Facts: current review-wide projection
Computed under:
Findings (1)
medium — The current Node runtime is restated as a literal in checks.yml and commit-msg.yml instead of being read from .node-version
01M5QMB091E97QJZWTS4WEA0TQ.forgejo/workflows/checks.yml(snippet)01M5QMBHY6SJW3RXJ778BS1MB5· valid: Grounded anchor: checks.yml has the matrix 'node: ["24.15.0", "26.12.1"]'. The reviewer also reports node-version: "26.12.1" in commit-msg.yml's commitlint job, .node-version set to 26.12.1, and engines.node '>=24.15.0' in package.json. The reviewer says the three 26.5.0 lines changed together in this diff, so this change both edits the duplicated decision and shows its cost. Duplicated knowledge that must change in lockstep is information leakage (APoSD 2e §5.2), and the cost already lands on present code, which supports medium. The mechanism holds: if a later bump to .node-version misses checks.yml, CI keeps testing an undeclared runtime and the check stays green. The skill's limits don't excuse the checks.yml copy. On repository convention, the reviewer reports that release.yml and dedupe-check.yml already read the version through node-version-file, so the single-authority form is the established one. No test pins the coupling. The commit-msg pin may be deliberately separate, because node-version-file in a job that checks out the PR head would let the PR choose the runtime that parses its metadata. The reviewer flags this as unconfirmed and limits the fix there to stating the policy, so that open question doesn't weaken the checks.yml finding. The reviewer's hedge on whether Forgejo's setup-node accepts node-version-file through a matrix include is a remedy detail. If it doesn't, a smaller fix is a setup step that reads .node-version into an output.Other claims
01M5QMA3T00C15QP07ZW66XF55low — The runtime comment carries transient parser revision historyCoverage
Coverage pass: 01M5QM8CSXDY5G4SMYEZ6NASJN
Accounting: complete (all slots terminal; see slot results for failures)
Slot health: healthy
@ -125,3 +125,3 @@strategy:matrix:node: ["24.15.0", "26.5.0"]node: ["24.15.0", "26.12.1"]medium — The current Node runtime is restated as a literal in checks.yml and commit-msg.yml instead of being read from .node-version
lens
aposd-plain· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M5QMB091E97QJZWTS4WEA0TQof review01M5QM8CRMYG75S33R18P2W68QThe duplicated literals are present, but they are generated displays of the released Align policy, not independent hand-maintained decisions. This PR used Align15.2.0's actual trait/context renderer for all three full files; regeneration is byte-identical. That release defines execution26.12.1 and compatibility24.15.0 centrally in dist/alignment/policy.js.
The assertion that missing one copy is undetected does not hold for the managed audit. I passed in-memory stale versions of checks.yml and commit-msg.yml to the released analyzeSetupNodeSteps implementation. It reports a runtime finding for each; no repository file was changed. The clean committed checkout also passed the complete15.2.0 audit. Evidence is retained in cohort5-detector-reproduction.json and cohort5-askpplx-audit-final.json.
The literal matrix and commit-msg pin are the shipped template contract. Reading the file dynamically is a different shared-template design, not a missing part of this mechanical refresh. This PR retains that contract and the24.15.0 compatibility leg. No claim is made that CI itself runs Align or automatically rejects every future drift; the existing managed checker and renderer detect it. No policy redesign or wording change is included.
For unadjudicated claim
01M5QMA3T00C15QP07ZW66XF55(low, transient parser revision history): the unchanged generated comment says "refreshed PR metadata parser". That wording can be clearer and more durable; it is not fixed by this runtime-only refresh. The released Align15.2.0 template renders the existing wording unchanged, and the full output is byte-identical on regeneration. This PR keeps the authorized runtime substitution only. Shared wording or pinning-policy redesign is outside this delivery scope; no new policy or follow-up framework is introduced, and no wording fix is claimed.