Repository navigation
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`_
# Conflicts: # .github/workflows/ci.yml # package.json # pnpm-lock.yaml
ThomasK33
marked this pull request as ready for review
November 5, 2026 18:14
Member
Author
|
@codex review |
Member
Author
|
@codex security review |
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. |
|
Codex Review: Didn't find any major issues. Delightful! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
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, and then every CI job fails ataube cibecause the lockfile is out of date. This PR moves the repo from aube to pnpm, so dependency bots work again and contributors use one standard package manager.What changed
aube-lock.yaml→pnpm-lock.yaml. aube already writes pnpm's lockfile v9 format, so I copied main's file and ranpnpm install. No resolved version changed: each of the 314 packages in main's aube lock is in the pnpm lock at the same version. The 62 new entries are platform variants of optional native bindings (esbuild, oxlint, oxfmt, rolldown, lightningcss) and the wasm fallback's deps (@emnapi/*,@napi-rs/wasm-runtime,@tybys/wasm-util).supportedArchitecturesstill limits which ones get installed.packageManager: pnpm@10.34.5. The top-leveloverridesmoved topnpm.overrides(the same 11 pins as main).pnpm.allowBuildsbecamepnpm.onlyBuiltDependencies(the same 6 packages).supportedArchitecturesandtrustPolicyExclude. AddsminimumReleaseAge: 1440andtrustPolicy: no-downgrade, so 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 jobs that list their mise tools (lifecycle-model,checks-macos,test-integration-macos) installnpm:pnpmin place ofaube. The other jobs install every tool with--locked.release.ymlhas a comment fix only..github/dependabot.ymlfornpm(pnpm) andgithub-actions, weekly, with a 7-day cooldown. 7 days is zizmor's minimum, and it is longer thanminimumReleaseAge.start-run.shrunspnpm install --frozen-lockfile. The old script ranaube ciwhennode_modules/.bin/tscwas missing. pnpm's frozen install repairs a missingnode_modules/.binby itself (I deleted.binand the install restored it), so one command covers both cases.AGENTS.md,docs/CONTRIBUTING.md,docs/INSTALL.md, ADR 0009,.mux/initand the verify-agent-ttySKILL.md. 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.Validation
Local runs on a shared host with load average 40 to 90:
rm -rf node_modules && mise run bootstrap-cipassed, and node-pty compiled.mise run --forceofformat-check,workflow-lint,lint,audit(0 high or critical, 6 moderate),typecheck,build,test-unit,install-smokeandvalidate-bundles: all exit 0.test-integration: 406 passed, 2 failed.test-e2e: 33 passed, 2 failed. All four are timing limits:listunder 2000 ms innon-reaping-init.test.ts, a 5 s Chromium boot inbackend-selection.test.ts, thecolor-grididle wait inexport-fixtures.test.ts, and the 30 shello-promptflow. A side-by-side run of those four files with--retry=0on a main worktree installed withaube cifailed the same tests on this host (main: 8 of 19 failed, this branch: 9 of 19). This PR changes no file undersrc/. CI on GitHub runners is the gate for these.start-run.shdependency step: withnode_modules/.bindeleted,pnpm install --frozen-lockfilerestorednode_modules/.bin/tsc(exit 0).Risks
release.yml,release-please.ymland npm publish run only 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 does, but it cannot build node-pty.main. Security updates skip the cooldown, so a fix published less than a day earlier can hitminimumReleaseAge.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