docs(decisions): Add ADR 0083-0085 pinning the npm CLI toolchain across build and publish stages - #100
Merged
Merged
Conversation
…n to the upstream provenance-file fix Record the decision to wait for the first reviewed npm release containing npm/cli#9882 and adopt it as the initial publish-stage npm pin under the ADR 0082 procedure, instead of implementing the local OIDC-suppression and token-injection workaround. Publish authentication returns to the ADR 0024/ADR 0029 design (npm-native trusted publishing); the ADR 0076/0081 exchange preflight is retained as an observation-only check. Includes an explicit revisit trigger (closed unmerged, materially different precedence semantics, or no merge by 12026-10-01) with the pinned-11.17.0 workaround as the default fallback. Relations: amends ADR-0082 (initial-pin identification only; reverse amended-by edge added), see-also ADR-0024/0029/0076/0081 with reverse edges. Index READMEs (both languages) and the decisions AGENTS.md updated. adr-relations-check: 84 ADRs, 194 edges, NO PROBLEMS. Signed-off-by: Yunseo Kim <git@yunseo.kim>
…from a digest-verified registry tarball Record the provisioning-mechanism decision left open by ADR 0082: the publish job downloads the exact recorded registry tarball URL, verifies the committed distribution digest over the compressed bytes before extraction, and executes npm through a basename-"npm" launcher passed to the publish command's --npm-executable, provisioning before any npm invocation (diagnostics included). The pinned digest is SHA-512 in SRI form, byte-identical to the registry-native dist.integrity field, and the pin data (version, URL, digest) lives in one machine-readable file referenced normatively by the specification allowlist. Implementation timing remains governed by ADR 0083's deferral scope. Relations: partially-supersedes ADR-0082 (the SHA-256 digest designation only) and amends ADR-0082 (mechanism selection), with reverse partially-superseded-by/amended-by edges; see-also ADR-0083/0027 with reverse edges. Index READMEs (both languages) and the decisions AGENTS.md updated. adr-relations-check: 85 ADRs, 202 edges, NO PROBLEMS. Signed-off-by: Yunseo Kim <git@yunseo.kim>
…ing the expected bundled npm pair Record the build-stage toolchain decision left open by ADR 0082's scope exclusion: the reusable workflow resolves Node.js to an exact 24 patch recorded together with the npm version that patch bundles, and each job that uses the bundled npm asserts node/npm version equality with the recorded pair before the first npm invocation, failing closed before install or pack. The pair changes only together through a bump procedure with an npm changelog build-impact review, refreshed compatibility fixtures, and the full CI gate. The publish npm remains independently pinned per ADR 0082-0084, and an independently provisioned build npm is reserved behind an explicit escalation trigger. Relations: partially-supersedes ADR-0027 (the floating toolchain resolution clause only) with the reverse edge; see-also ADR-0016/0017/0067/0082/0083/0084 with reverse edges. Index READMEs (both languages) and the decisions AGENTS.md updated. adr-relations-check: 86 ADRs, 216 edges, NO PROBLEMS. Signed-off-by: Yunseo Kim <git@yunseo.kim>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
dist.integrity) over the compressed bytes before extraction, and execute via a basename-npmlauncher. Partially supersedes ADR 0082's SHA-256 designation; amends its open mechanism choice.node --version/npm --versionequality with the recorded pair before the first npm invocation. Partially supersedes ADR 0027's floating toolchain resolution clause only.Related Issues
Change Type
Changelog
Changelog update:
CHANGELOG.md[Unreleased]updatedChecklist
General
type(scope): SummaryProtocol / Compatibility Impact
ADR texts only; no specification files are modified. Each ADR records which future specification amendments it governs.
Testing
Describe test evidence:
prettier --writeon all touched files: clean.markdownlint-cli2 docs/decisions/**/*.md: 89 files, 0 errors.python3 .agents/skills/adr-relations-check/scripts/check_relations.py: 86 ADRs, 216 edges — NO PROBLEMS (forward + reverse relation edges symmetric, status grammar valid).Documentation
docs/decisions/README.mdandREADME.ko.mdsequence, inventory, and traceability tables (bilingual, same change).docs/decisions/AGENTS.mdindex updated.Rollout / Risk
Reviewer Checklist