Repository navigation
fix(mise): hold ccusage 20.0.37 and ccstatusline 2.2.32; main went red on 20.0.38 (U42) - #496
Conversation
…d on 20.0.38 (U42) ccusage 20.0.38 (published 2026-10-21T10:49:51Z) passed the 72h cooldown at 2026-10-24T10:49Z, between the green PR run 40086677434 and the main run 40087404553. mise's npm backend installs it without its optional native binary, so `ccusage --version` fails on linux-x64 and darwin-arm64 in all four test jobs. Both tools the CI statusline smoke runs are held at the versions that ran green on every runner, each with its reason line, until a release restores the binary. - The smoke step names the pins to bump when it fails. - test_statusline_tools pins both versions and the message; test_supply_chain_policy lists them as held (grant, row 5189). Program-Unit: regime-cutover/U42 Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
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. |
|
Worker pre-RESULT self-check for U42 at head
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4b63ee3a0d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| smoke_failed() { | ||
| printf 'statusline smoke failed with npm:ccusage %s and npm:ccstatusline %s: bump the exact pins in home/dot_mise/config.toml\n' \ | ||
| "${ccusage_version}" "${ccstatusline_version}" >&2 | ||
| exit 1 | ||
| } |
There was a problem hiding this comment.
Add the required threat table for the CI change
This modifies failure handling in the required Unit test workflow, which the repository explicitly classifies as trust-boundary code, but the reviewed changeset contains no task metadata or threat_table for U42. Add the required table covering each changed workflow control so the new failure path can be evaluated against its stated threats.
AGENTS.md reference: AGENTS.md:L77-L77
Useful? React with 👍 / 👎.
| # Held: the npm backend installs 20.0.38 without its optional linux-x64 native binary (run 40087404553); keep until a release restores it. | ||
| "npm:ccusage" = "20.0.37" |
There was a problem hiding this comment.
Exclude the held statusline tools from Renovate
On the scheduled Renovate run, the root renovate.json enables the mise manager for this file and groups mise patch updates, while disabling updates only for the existing fd and npm:pnpm holds. Consequently the newly exact npm:ccusage pin can still receive a Renovate proposal for the known-bad 20.0.38 release (potentially grouped with npm:ccstatusline), so the stated hold is not enforced by the repository's dependency automation. Add both statusline packages to a disabled mise package rule until the hold is intentionally removed.
Useful? React with 👍 / 👎.
|
CI on head
"2 packages", against 20.0.38's "1 package", is the native binary coming back. |
Program-Unit: regime-cutover/U42
Cause (measured)
mainrun 40087404553 (Unit test on 50cde13) failed in all fourtestjobs at "Smoke-test statusline tools without network". From job 120853039189:macos-14 failed the same way with
darwin-arm64. The installs in that run and in the last green run (40086677434, PR head 2babd4b):npm:ccstatuslinenpm:ccusageadded 2 packages)added 1 package: no native binary)Why the cooldown didn't stop it: the registry (
npm view ccusage time, read-only) says 20.0.38 was published2026-10-21T10:49:51.361Z. Underminimum_release_age = "72h"it becamelatestat2026-10-24T10:49Z, between the green PR run and themainrun, so the break came from upstream, not from the diff. 20.0.39 (2026-10-21T17:22:02.905Z) clears the cooldown at about 17:22Z today, so leaving the tool unpinned would only move the break.Change
home/dot_mise/config.toml:"npm:ccusage" = "20.0.37"and"npm:ccstatusline" = "2.2.32", the versions that installed and answered--versionon every runner in run 40086677434. Each has a# Held:reason line with the measured cause, held until a release restores the linux-x64 binary. The other six npm tools staylatest, because the smoke step doesn't execute them..github/workflows/test.yaml, the smoke step: when the smoke fails on either platform it now printsstatusline smoke failed with npm:ccusage <v> and npm:ccstatusline <v>: bump the exact pins in home/dot_mise/config.tomlbeforeexit 1. Nocontinue-on-error, no skip.tests/unit/test_statusline_tools.py:test_mise_config_holds_the_statusline_tools_at_exact_versionspins both version strings, and the smoke test pins the message and both|| smoke_failedcall sites.tests/unit/test_supply_chain_policy.py(grant, row 5189): theheldset gains exactly the two names. Its rule of a one-line reason above each held line is met.README.md: unchanged, because it doesn't document the statusline tools.Mutation checks: setting
npm:ccusageback tolatestfailstest_mise_config_holds_the_statusline_tools_at_exact_versions; dropping one|| smoke_failedfailstest_ci_smokes_statusline_tools_with_network_denied.No threat table: this is a version pin and a diagnostic line, with no trust boundary touched.
Generated with Claude Code