fix(install): hash install.mjs destinations from files present - #818
Conversation
🦋 Changeset detectedLatest commit: e49f51d The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
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 |
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: 5ed79f3194
ℹ️ 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".
commit: |
A destination walk used the artifact manifest file list. A missing declared path threw ENOENT before the foreign-install refusal.
…es present The staged plugin is an unfiltered copy of the bundle. A manifest-selected source hash never matched a root with unlisted files, so an identical rerun refused instead of reporting already staged.
6a5fa7d to
e49f51d
Compare
install.mjscrashed withENOENTbefore refusing a foreign destination or incomplete marketplace restage because it applied the artifact manifest to the destination tree. Hash destination files actually present; continue validating source artifacts against their manifest. Preserve owned-file removal, symlink/special-file checks, and state directories.Fixes #812. English and Chinese documentation distinguish foreign/staged refusals from repairable owned copies; one patch changeset is included.
Validation
Rebased onto current
main(752d29a050).pnpm build,pnpm typecheck,pnpm lint, andpnpm test:unitpassed (4465 tests, 6 skipped). Packed installer and real Claude/Codex/Cursor host-install proofs passed 8/8.pnpm docs:site:buildpassed with zero broken links. Independent different-model review passed, including the documentation correction and rebase.The old head's Verify gate failed solely because its entire matrix was cancelled (
VERIFY_RESULT=cancelled); logs confirm no source failure. This qualified push replaces that superseded head. Current-head CI is checked before merging; local qualification is the repository's merge gate.