Conversation
Dependabot cannot update aube-lock.yaml, so its PRs change only package.json and fail every CI job at `aube ci`. Switch to pnpm 10 (the newest line Dependabot documents as supported). - pnpm-lock.yaml: converted from aube-lock.yaml (same lockfile v9 format) with zero resolved-version drift; pnpm additionally records every platform variant of optional native bindings. - package.json: packageManager pnpm@10.34.5; overrides move to pnpm.overrides; allowBuilds becomes pnpm.onlyBuiltDependencies. - pnpm-workspace.yaml: keep aube's default supply-chain guards (minimumReleaseAge 1440, trustPolicy no-downgrade). - mise: install pnpm from npm (bundles node-gyp, which node-pty needs on Linux); tasks use pnpm install --frozen-lockfile and pnpm audit. - Add .github/dependabot.yml for npm and github-actions. - Update CI macOS tool list, docs, AGENTS.md, and .mux/init. --- _Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_
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.
Why
Dependabot cannot update
aube-lock.yaml. Its PRs (for example #173) change onlypackage.json, then every CI job fails ataube cibecause the lockfile is out of date. This PR moves the repo to pnpm so dependency bots work again.Base note: this was planned on top of #175. #175 merged before this PR opened (
mainhas the same tree as that branch), so the PR targetsmaindirectly.What changed
aube-lock.yaml→pnpm-lock.yaml. aube already writes pnpm's lockfile v9 format, so I copied the file and ranpnpm install. No resolved version changed (every package name in both lockfiles resolves to the same versions). pnpm also records all platform variants of optional native bindings (esbuild, oxlint, oxfmt, rolldown, lightningcss) plus the wasm fallback's deps (@emnapi/*,@napi-rs/wasm-runtime,@tybys/wasm-util,tslib).supportedArchitecturesstill limits which ones get installed. aube's extraviteimporter entry (an auto-installed peer) is gone, as are release-please's peer suffixes.packageManager: pnpm@10.34.5. Top-leveloverridesmoved topnpm.overrides(same 8 pins).pnpm.allowBuildsbecamepnpm.onlyBuiltDependencies(same list).supportedArchitecturesandtrustPolicyExclude. AddsminimumReleaseAge: 1440andtrustPolicy: no-downgradeso we keep the supply-chain checks that aube ran by default."npm:pnpm" = "10.34.5"replacesaube.npm.package_manager = "npm"makes mise install it with npm. Tasks:bootstrap=pnpm install && pnpm exec playwright install chromium,bootstrap-ci=pnpm install --frozen-lockfile,audit=pnpm audit --audit-level high. Inmise.lock, the aube block became annpm:pnpmentry. I edited it by hand becausemise lockdeletes the task-level ffmpeg conda entries.ci.yml(edited by hand): the macOS job installsnpm:pnpmin place ofaube.release.ymlhas a comment fix only. The other workflows already go throughmise run bootstrap-ci..github/dependabot.ymlfornpm(pnpm) andgithub-actions, weekly, with a 7-day cooldown. 7 days is zizmor's minimum, and it is longer thanminimumReleaseAge.AGENTS.md,docs/CONTRIBUTING.md,docs/INSTALL.md, ADR 0009 and.mux/init. I leftCHANGELOG.mdand the archivedplans/as they are, because they record history.Design choices
node-gyp rebuild. The npm build of pnpm bundles node-gyp; mise's standaloneaqua:pnpm/pnpmbinary does not, so the install fails withnode-gyp: not found. aube used to download node-gyp on its own.Validation
rm -rf node_modules && mise run bootstrap-cipassed. I also ran it with an empty store and no side-effects cache (pnpm install --frozen-lockfile --store-dir <new> --config.side-effects-cache=false); node-pty compiled withgyp info ok.mise run cipassed (exit 0; 159/159 test files). The first run hit the knowntest/e2e/export-fixtures.test.tsflake under host load (awaitexited 4).npx vitest run --retry=2 test/e2e/export-fixtures.test.tspassed on its own (5/5), and the fullmise run cirerun was green.mise run --force format-check,workflow-lint,build,install-smoke(tarball route) andvalidate-bundlesall passed.pnpm audit --audit-level high: 0 high or critical (1 moderate).npm run version:jsonprintedok: truewithcliVersion0.5.0.AGENT_TTY_HOME:create,run 'echo pnpm-migration-ok',wait --text,snapshot,screenshotanddestroy, all--jsonwithok: true:Risks and open questions
release.yml,release-please.ymland npm publish only run on tags or dispatch. They use the samemise run bootstrap-ciandmise run cipaths tested here, and publishing still usesnpm publish <tarball>.mise.lockentry fornpm:pnpmpins the version with no checksum. The mise npm backend records no checksum; the aqua backend did, but it cannot build node-pty.main.minimumReleaseAge; pnpm resolves an older version, so the PR may fail or do nothing.minimumReleaseAgeExcludeis the escape hatch.pnpm.*settings in package.json work in pnpm 10. pnpm 11+ ignores them, so they must move topnpm-workspace.yamlwhen we upgrade.npm warn Unknown env configlines during install. pnpm exportsnpm_config_*variables, andpreparecallsnpm run build, which warns about them.Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high