Repository navigation
build(deps): consolidate upgrades and concise documentation - #64
Conversation
Bumps the github-actions group with 1 update: [actions/setup-node](https://github.com/actions/setup-node). Updates `actions/setup-node` from 7.0.0 to 7.1.0 - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](actions/setup-node@8207627...949feb2) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: 7.1.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com>
Preserve Dependabot PR #63 as an ancestor; update Prettier and Python lint runtime. Record complete dependency outcomes and upstream tooling security deferrals.
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 13ad2a14bd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Add a documentation regression that fails for unscoped swap snippets.
Inventory exact pinned action production graphs and verify affected shipped modules against official package sources.
|
@codex review |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Validation
npm ci --ignore-scripts && npm test && npm run format:check && npm run check-distpre-commit run --all-files --hook-stage pre-pushLocal validation: Node 22.23.3 and 24.21.0 each pass 306 tests, with three Windows-native tests skipped locally. Typecheck, formatting, reproducible bundle, relative Markdown links and
git diff --checkpass. All nine hooks pass in fresh Python 3.15.0 / pre-commit 4.6.2 environments with Go 1.27.2. npm 12.2.0 isolated locked install passes.The committed runtime dependency graph has zero npm audit advisories. The upstream Markdown hook retains three disclosed advisories: braces (high; no fixed release), smol-toml (moderate; exact parent pin), KaTeX (low; parent range excludes patched major). The optional npm 12.2.0 verifier also retains 12 upstream advisories in five bundled packages; it is not a project dependency. See explicit deferrals below. Pinned third-party Actions also retain verified affected smol-toml, Undici, brace-expansion and fast-xml-parser code. Latest supported action parents are already selected; the action ledger below records precise deferrals. Successful lint is not a security clearance.
No browser UI exists, so browser smoke is inapplicable. Local unit/contract tests use bounded fixtures; actual action execution is exercised by the seven-class hosted-runner PR smoke tests. Current-head verification is complete for
6d89727eb70135cb69a13c02dfffea8c631722c8: all 12 checks pass, including seven platform smoke classes. Test run, lint, CodeQL. Codex review completed with no major issues; both previous threads are resolved. Ready for human review, unmerged. Manual seven-class default-max plus 18-label sweep remains a separate authorized-release gate, not dispatched by this PR.Source PR map
770388eb39b86ee02104c8549935988ae7aa10b5Checklist
Complete dependency ledger, evidence and deferrals (2026-10-12)
Dependency review - 2026-10-12
Upgrade setup-node, Prettier, and the lint runtime to stable Python 3.15.
Shorten maintained Markdown while preserving safety contracts and examples.
Release/registry evidence checked 2026-10-12; this review supersedes prior deferrals.
npm ledger
Native npm resolution preserves the complete committed graph; no leaf overrides.
@actions/core@actions/exec@actions/http-client@actions/io@types/node@typescript/typescript-aix-ppc64@typescript/typescript-darwin-arm64@typescript/typescript-darwin-x64@typescript/typescript-freebsd-arm64@typescript/typescript-freebsd-x64@typescript/typescript-linux-arm@typescript/typescript-linux-arm64@typescript/typescript-linux-loong64@typescript/typescript-linux-mips64el@typescript/typescript-linux-ppc64@typescript/typescript-linux-riscv64@typescript/typescript-linux-s390x@typescript/typescript-linux-x64@typescript/typescript-netbsd-arm64@typescript/typescript-netbsd-x64@typescript/typescript-openbsd-arm64@typescript/typescript-openbsd-x64@typescript/typescript-sunos-x64@typescript/typescript-win32-arm64@typescript/typescript-win32-x64@vercel/nccprettiertunneltypescriptundiciundici-typesTool and runtime ledger
Python hook tooling
Fresh environments preserve upstream requirements. These are verifier resolutions,
not new project pins.
PyYAMLcfgvdistlibfilelockidentifynodeenvpackagingpathspecpipplatformdirspre_commitpre_commit_hookspython-discoveryruamel.yamltexthooksvirtualenvyamllintMarkdown hook graph
Fresh native hook installation; dependencies belong to upstream markdownlint-cli2.
Older nested versions remain within upstream ranges; update the supported parent
rather than overriding its private graph. Revisit when that parent advances.
@nodelib/fs.scandir@nodelib/fs.stat@nodelib/fs.walk@sindresorhus/merge-streams@types/debug@types/katex@types/ms@types/unistansi-regexargparsebracescharacter-entitiescharacter-entities-legacycharacter-reference-invalidcommanderdebugdecode-named-character-referencedequaldevlopentitiesfast-globfastqfill-rangeget-east-asian-widthglob-parentglobbyignoreis-alphabeticalis-alphanumericalis-decimalis-extglobis-globis-hexadecimalis-numberis-path-insidejs-yamljsonc-parserjsonpointerkatexlinkify-itmarkdown-itmarkdownlintmarkdownlint-cli2markdownlint-cli2-formatter-defaultmdurlmerge2micromarkmicromark-core-commonmarkmicromark-extension-directivemicromark-extension-gfm-autolink-literalmicromark-extension-gfm-footnotemicromark-extension-gfm-tablemicromark-extension-mathmicromark-factory-destinationmicromark-factory-labelmicromark-factory-spacemicromark-factory-titlemicromark-factory-whitespacemicromark-util-charactermicromark-util-chunkedmicromark-util-classify-charactermicromark-util-combine-extensionsmicromark-util-decode-numeric-character-referencemicromark-util-encodemicromark-util-html-tag-namemicromark-util-normalize-identifiermicromark-util-resolve-allmicromark-util-sanitize-urimicromark-util-subtokenizemicromark-util-symbolmicromark-util-typesmicromatchmsparse-entitiespicomatchpunycode.jsqueue-microtaskreusifyrun-parallelslashsmol-tomlstring-widthstrip-ansito-regex-rangeuc.microunicorn-magicmarkdownlint-rule-helpersActionlint module graph
The latest supported parent pins this graph; no forced leaf overrides.
Retry retained older modules when upstream actionlint updates its
go.mod.
github.com/bmatcuk/doublestar/v4github.com/fatih/colorgithub.com/google/go-cmpgithub.com/mattn/go-colorablegithub.com/mattn/go-runewidthgithub.com/mattn/go-shellwordsgithub.com/robfig/cron/v3github.com/yuin/goldmarkgo.yaml.in/yaml/v4golang.org/x/netgolang.org/x/syncgolang.org/x/sysgithub.com/clipperhouse/uax29/v2github.com/mattn/go-isattyRetained boundaries
Pinned action runtime graphs
The complete action ledger covers 127 declared runtime
package entries across setup-node, checkout and setup-python, with before/final
versions, current registry targets, and shipped-module verification. Latest
parent releases still carry smol-toml, Undici, brace-expansion and XML-parser
advisories. These CI-action risks are separate from this repository's clean npm
graph and the hook/verifier advisories below.
Tooling security deferrals
The committed action graph reports zero npm advisories. The upstream Markdown
hook graph has three advisories; it is development/CI tooling, not bundled runtime.
Untrusted deep brace patterns/TOML can deny service; KaTeX requires pre-existing
prototype pollution. No exploitability claim is made. These remain disclosed
upstream risks; successful lint does not make them patched. Hook replacement
would change lint coverage and still needs a maintained compatible graph.
Optional npm verifier bundle
The unpinned npm 12.2.0 verifier also retains upstream advisories; these copies
are not part of the action lockfile or dist. Its supported parent is already
latest. Project overrides cannot repair bundled npm dependencies; retry after
the upstream bundle refresh.
brace-expansion(npm bundle)ip-address(npm bundle)undici(npm bundle)http-cache-semantics(npm bundle)postcss-selector-parser(npm bundle)Source map and validation
gocommand was unrelated; a checksum-verified official Go toolchain fixes that environment failure.Pinned action runtime graphs and shipped-module security evidence (2026-10-12)
Action runtime dependency review - 2026-10-12
This supplements the main ledger. All three actions use the
latest stable upstream release. Their published bundles are immutable; project
npm overrides cannot modify them. Retain supported actions and revisit deferred
leaves when upstream rebuilds a supported release. No speculative private forks.
Tables inventory production declarations from the exact pinned upstream lockfiles
(excluding development-only packages). They are not a claim that every declared
package is reachable in a compiled entrypoint. Registry targets were checked on
2026-10-12. Bundled behavior and advisory evidence are distinguished below.
Shipped code and security
setup
and post.
Official npm 1.7.1 struct.js matches the bundled module after ncc normalization;
its quadratic scan is fixed in 1.9.0+.
These workflows use explicit
node-version: "22", not a TOML version file.This limits the relevant input path; it does not patch the action.
Advisory
corroborated by exact source and behavioral checks. A prior review's 5.0.8
claim does not describe this pin. The upgrade removes old 1.x/5.0.6 declarations
and upgrades its Undici declaration from 6.27.0 to 6.29.0.
Shipped brace implementation
Official-tarball comparison matches 89 of 99 Undici source modules, including
retry, cookie and WebSocket security-critical code, in checkout and both
setup-python entrypoints. This confirms shipped code, not workflow exploitability.
Bundle
and fast-xml-parser 5.9.3. Audit returns 19 affected range records (13 distinct
advisory IDs). Exact-normalized source matches brace 1.1.15 in both entrypoints and
brace 5.0.6 in setup. The supplied npm tarball integrity was verified. Official fast-xml-parser 5.9.3 DocTypeReader and OrderedObjParser source
matches both bundles after ncc normalization. Repeated DOCTYPE calls reset
document-wide entity limits: call,
reset.
Setup bundle
Current parent releases are already selected. Forcing leaves in this repository
would leave downloaded action bundles untouched. Replacing setup/checkout with
custom shell code would introduce a new authentication/cache/platform maintenance
surface rather than a supported dependency migration. CI success does not clear
these upstream security deferrals; they remain explicit release risks.
setup-node
Exact upstream lock. Before: 7.0.0; final: 7.1.0.
@actions/cache@actions/core@actions/exec@actions/github@actions/glob@actions/http-client@actions/io@actions/tool-cache@azure/abort-controller@azure/core-auth@azure/core-client@azure/core-http-compat@azure/core-lro@azure/core-paging@azure/core-rest-pipeline@azure/core-tracing@azure/core-util@azure/core-xml@azure/logger@azure/storage-blob@azure/storage-common@nodable/entities@octokit/auth-token@octokit/core@octokit/endpoint@octokit/graphql@octokit/openapi-types@octokit/plugin-paginate-rest@octokit/plugin-rest-endpoint-methods@octokit/request@octokit/request-error@octokit/types@protobuf-ts/runtime@protobuf-ts/runtime-rpc@typespec/ts-http-runtimeagent-basebalanced-matchbefore-after-hookbrace-expansionconcat-mapdebugeventsfast-content-type-parsefast-xml-builderfast-xml-parserhttp-proxy-agenthttps-proxy-agentjson-with-bigintminimatchmspath-expression-matchersemversmol-tomlstrnumtslibtunnelundiciuniversal-user-agentxml-namingcheckout
Exact upstream lock. Before and final parent unchanged.
@actions/core@actions/exec@actions/github@actions/http-client@actions/io@actions/tool-cache@octokit/auth-token@octokit/core@octokit/endpoint@octokit/graphql@octokit/openapi-types@octokit/plugin-paginate-rest@octokit/plugin-rest-endpoint-methods@octokit/request@octokit/request-error@octokit/typesbefore-after-hookcontent-typejson-with-bigintsemvertunnelundiciuniversal-user-agentsetup-python
Exact upstream lock. Before and final parent unchanged.
@actions/cache@actions/core@actions/exec@actions/glob@actions/http-client@actions/io@actions/tool-cache@azure/abort-controller@azure/core-auth@azure/core-client@azure/core-http-compat@azure/core-lro@azure/core-paging@azure/core-rest-pipeline@azure/core-tracing@azure/core-util@azure/core-xml@azure/logger@azure/storage-blob@azure/storage-common@iarna/toml@nodable/entities@protobuf-ts/runtime@protobuf-ts/runtime-rpc@typespec/ts-http-runtimeagent-baseanynumbalanced-matchbrace-expansionconcat-mapdebugeventsfast-xml-builderfast-xml-parserhttp-proxy-agenthttps-proxy-agentis-unsafeminimatchmspath-expression-matchersemverstrnumtslibtunnelundicixml-naming