Skip to content

Surface stale latest dist-tag drift in Stage B; document pre-stable retarget - #68

Merged
tonibergholm merged 1 commit into
mainfrom
fix/latest-dist-tag-drift
Jul 14, 2026
Merged

Surface stale latest dist-tag drift in Stage B; document pre-stable retarget#68
tonibergholm merged 1 commit into
mainfrom
fix/latest-dist-tag-drift

Conversation

@tonibergholm

Copy link
Copy Markdown
Member

npm auto-created latest → 0.1.0-alpha.1 on first publish (its standard behavior even with --tag alpha) and never moves it, so a plain npm install currently resolves to the older alpha. OIDC trusted publishing can't mutate dist-tags, so Stage B now warns (with the exact command) when latest is stale, and docs/release-process.md documents keeping latest on the newest prerelease until stable 0.1.0 ships with --tag latest.

Immediate registry fix (manual, one-time per release): for p in core proxy sandbox mcp steward cli action; do npm dist-tag add "@git-agentic/sentinel-$p@0.1.0-alpha.2" latest; done

https://claude.ai/code/session_01LjqCaCwPby6EGi4RmBVtEW

…et step

npm force-creates `latest` on a package's first publish even under
--tag alpha, never moves it, and won't allow deleting it — so `latest`
froze on 0.1.0-alpha.1 while `alpha` advanced to alpha.2. OIDC trusted
publishing cannot run dist-tag mutations (publish-only credentials), so
Stage B now emits a warning + step-summary line with the exact retarget
command when `latest` lags the released version, and the release process
documents keeping `latest` on the newest prerelease (manual, interactive
npm login) until a stable 0.1.0 ships with --tag latest.

Claude-Session: https://claude.ai/code/session_01LjqCaCwPby6EGi4RmBVtEW
@github-actions

Copy link
Copy Markdown

Sentinel dependency audit — WARN · ✓ ok

137 allow · 12 warn · 0 block · 0 error
provenance: 41 verified · 0 invalid · 108 absent · 0 unknown

package verdict score finding how to fix
@sigstore/core@3.2.1 warn 76/100 Obfuscation: base64-decodes at runtime. Inspect the source; obfuscation in a dependency is a red flag — prefer a readable, well-known alternative.
@sigstore/verify@3.1.1 warn 52/100 Obfuscation: base64-decodes at runtime. Inspect the source; obfuscation in a dependency is a red flag — prefer a readable, well-known alternative.
depd@2.0.0 warn 60/100 Obfuscation: uses the Function constructor. Inspect the source; obfuscation in a dependency is a red flag — prefer a readable, well-known alternative.
esbuild@0.28.1 warn 62/100 install.js combines launch + write + read primitives — partial materialization pattern. Review the finding details; approve with a recorded rationale only if you understand and accept the risk.
eventsource@3.0.7 warn 68/100 Network egress: makes an HTTP request. Confirm the egress is expected for this package's purpose; if not, remove it or pin to a version without it.
iconv-lite@0.7.2 warn 56/100 Obfuscation: base64-decodes at runtime. Inspect the source; obfuscation in a dependency is a red flag — prefer a readable, well-known alternative.
isexe@2.0.0 warn 77/100 test/basic.js combines read + launch + write primitives — partial materialization pattern. Review the finding details; approve with a recorded rationale only if you understand and accept the risk.
jose@6.2.3 warn 76/100 Obfuscation: base64-decodes at runtime. Inspect the source; obfuscation in a dependency is a red flag — prefer a readable, well-known alternative.
qs@6.15.2 warn 78/100 Obfuscation: char-code string assembly. Inspect the source; obfuscation in a dependency is a red flag — prefer a readable, well-known alternative.
tsx@4.22.4 warn 76/100 dist/index-D9F1FXzN.cjs combines read + write primitives — partial materialization pattern. Review the finding details; approve with a recorded rationale only if you understand and accept the risk.
undici-types@7.18.2 warn 56/100 Network egress: imports a raw networking module. Confirm the egress is expected for this package's purpose; if not, remove it or pin to a version without it.
yaml@2.9.0 warn 62/100 Obfuscation: base64-decodes at runtime. Inspect the source; obfuscation in a dependency is a red flag — prefer a readable, well-known alternative.

▶ Run sentinel explain <package> <version> for a suggested safe version and a ready waiver.

Sentinel · 149 packages audited · 2026-07-14T06:15:06.035Z · SBOM uploaded as a build artifact

@tonibergholm
tonibergholm merged commit ec5bb22 into main Jul 14, 2026
6 checks passed
@tonibergholm
tonibergholm deleted the fix/latest-dist-tag-drift branch July 14, 2026 06:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant