Skip to content

fix(install): hash install.mjs destinations from files present - #818

Merged
ScriptedAlchemy merged 3 commits into
mainfrom
fix/install-mjs-present-inventory
Sep 17, 2026
Merged

ScriptedAlchemy merged 3 commits into
mainfrom
fix/install-mjs-present-inventory

Conversation

@ScriptedAlchemy

@ScriptedAlchemy ScriptedAlchemy commented Sep 16, 2026

Copy link
Copy Markdown
Owner

install.mjs crashed with ENOENT before 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, and pnpm test:unit passed (4465 tests, 6 skipped). Packed installer and real Claude/Codex/Cursor host-install proofs passed 8/8. pnpm docs:site:build passed 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.

@changeset-bot

changeset-bot Bot commented Sep 16, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: e49f51d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
agent-bundle Patch
create-agent-bundle Patch

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

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 16, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-16T20:36:55.677822Z 5ed79f3 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread packages/agent-bundle/src/install/surface.ts Outdated
@pkg-pr-new

pkg-pr-new Bot commented Sep 16, 2026

Copy link
Copy Markdown
npm i https://pkg.pr.new/ScriptedAlchemy/agent-bundle@818
npm i https://pkg.pr.new/ScriptedAlchemy/agent-bundle/create-agent-bundle@818
npm i https://pkg.pr.new/ScriptedAlchemy/agent-bundle/rsc-markdown-stream@818
npm i https://pkg.pr.new/ScriptedAlchemy/agent-bundle/@agent-bundle/runtime@818

commit: 5ed79f3

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.
@ScriptedAlchemy
ScriptedAlchemy force-pushed the fix/install-mjs-present-inventory branch from 6a5fa7d to e49f51d Compare September 17, 2026 02:18
@ScriptedAlchemy
ScriptedAlchemy merged commit a0652c1 into main Sep 17, 2026
0 of 5 checks passed
@github-actions github-actions Bot mentioned this pull request Sep 17, 2026
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.

Generated install.mjs crashes on a foreign destination: inventory() lstats artifact-manifest paths that don't exist

1 participant