fix: validate published bins and npm modes - #674
Merged
Conversation
🦋 Changeset detectedLatest commit: fe69b8b The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
commit: |
ScriptedAlchemy
force-pushed
the
fix/673-packed-bin-modes
branch
2 times, most recently
from
September 6, 2026 06:54
d2394f9 to
d427e69
Compare
ScriptedAlchemy
force-pushed
the
fix/673-packed-bin-modes
branch
from
September 6, 2026 07:07
d427e69 to
fe69b8b
Compare
This was referenced Sep 6, 2026
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.
Closes #673.
Summary
binentries from both the generated npm root and the repositorypackage.jsonnpm will publish, reporting absent packed targets asAB7012AB7001byte, digest, and executable-tamper checks--helpAB7012andAB7001contracts in the diagnostics source and both site localesAcceptance
prepack.test.tsproves a stale repository-root bin map is rejected even when the generated npm-root manifest is validinstall.test.tsuses npm 11pack+ clean install under npm's real mode handling, covers stripped and preserved executable states, exercises install and Doctor, proves restored host modes, prevents falseAB7308, and preserves installed-copy mode-drift detectionagent-bundleandcreate-agent-bundlemanifestsLocal merge gate
PASS on
fe69b8b083:pnpm build && pnpm typecheck && pnpm lint && pnpm test:unit— 292 files, 4,355 passed, 6 skipped(umask 0022; pnpm exec rstest --config rstest.unit.config.ts packages/agent-bundle/tests/install.test.ts --testNamePattern 'mode drift|npm normalization')— 2 passedpnpm exec rstest --config rstest.integration.config.ts packages/agent-bundle/tests/prepack.test.ts— 24 passedpnpm exec rstest --config rstest.unit.config.ts packages/agent-bundle/tests/install.test.ts packages/agent-bundle/tests/doctor.test.ts— 123 passed (also covered by the final unit gate)pnpm docs:site:build— pass, including locale drift and diagnostics coveragepnpm test:packed— 14 files, 39 passed, 1 skippedTwo earlier full packed runs hit the same unrelated Workbench aborted-Evals-request race; full retries passed, including the final run on the commit candidate.
Deslop
Deslop: GPT-5.6 Sol, 2 edits (kept merged diagnostics code-sorted and documented the npm mode branch at its decision point).
Self-review
Reviewer: Claude Fable 5.1 Thinking High (
change-risk-reviewer), three passes plus final confirmation.Findings and dispositions:
0775umask output and staged0664executable were mishandled; fixed with npm-aware acceptance, install-only manifest-mode restoration, and real npm regressionsAB7308); fixed by canonical source executable-state hashinginstalledBundleInventoryand a hash-drift regression0002; fixed to assert executable state and verified under0022Final review: no concrete merge-blocking or correctness risks remain. All PR checks are green.