You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pass an explicit empty environment to user-scope Amp install/uninstall test fixtures
keep temporary home directories authoritative when the runner exports XDG_CONFIG_HOME
leave production environment resolution and the explicit XDG-root coverage unchanged
Root cause
installBundle and uninstallBundle intentionally default options.environment to process.env. The Amp tests supplied a temporary home but omitted environment, so CI's ambient XDG_CONFIG_HOME=/home/runner/.config redirected user-scope plugin operations outside each fixture. That changed destinations and bypassed the foreign-directory and symlink fixtures.
Verification
RED on untouched e3e78e2d8df2b2e089f2768f5e39f6e3090e40fa with an explicit external XDG root:
Result: 4 failed, 4,475 passed, 6 skipped. All failures were in packages/agent-bundle/tests/amp-install.test.ts, with destinations redirected under the ambient XDG root.
Result: PASS. Lint passed across 1,493 files; unit tests: 4,479 passed, 0 failed, 6 skipped.
Changeset
No changeset: tests-only isolation fix; no publishable package behavior changed.
Deslop
Deslop: GPT-5.6 Sol, 0 edits. One test file changed with no production behavior, new abstraction, dependency, or unrelated cleanup.
Self-review
Reviewer: Claude Fable 5.1 xhigh
Finding: none.
Disposition: no changes required; the review confirmed the fixture-only environment isolation, preserved explicit-XDG coverage, current origin/main ancestry, and no documentation or changeset requirement.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
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
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.
Summary
homedirectories authoritative when the runner exportsXDG_CONFIG_HOMERoot cause
installBundleanduninstallBundleintentionally defaultoptions.environmenttoprocess.env. The Amp tests supplied a temporaryhomebut omittedenvironment, so CI's ambientXDG_CONFIG_HOME=/home/runner/.configredirected user-scope plugin operations outside each fixture. That changed destinations and bypassed the foreign-directory and symlink fixtures.Verification
RED on untouched
e3e78e2d8df2b2e089f2768f5e39f6e3090e40fawith an explicit external XDG root:Result: 4 failed, 4,475 passed, 6 skipped. All failures were in
packages/agent-bundle/tests/amp-install.test.ts, with destinations redirected under the ambient XDG root.GREEN focused reproduction:
pnpm build XDG_CONFIG_HOME=/tmp/agent-bundle-ambient-xdg.bTL1ND pnpm exec rstest packages/agent-bundle/tests/amp-install.test.ts --config rstest.unit.config.tsResult: 7 passed, 0 failed.
Required local gate:
Result: PASS. Lint passed across 1,493 files; unit tests: 4,479 passed, 0 failed, 6 skipped.
Changeset
No changeset: tests-only isolation fix; no publishable package behavior changed.
Deslop
Deslop: GPT-5.6 Sol, 0 edits. One test file changed with no production behavior, new abstraction, dependency, or unrelated cleanup.
Self-review
Reviewer: Claude Fable 5.1 xhigh
Finding: none.
Disposition: no changes required; the review confirmed the fixture-only environment isolation, preserved explicit-XDG coverage, current
origin/mainancestry, and no documentation or changeset requirement.