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
{{ message }}
Repository navigation
chore: pin prettier to an exact version (the ^3.8.1 caret lets an in-range bump fail the format gate on untouched files) #1790
Surfaced during the round-3 review of PR #1788 (#1778). All five package.json files (root + clients/web/cli/tui/launcher) declare prettier as ^3.8.1 — a caret range — while the lockfiles resolve 3.8.4, which is what CI runs (.github/workflows/main.yml uses lockfile-honoring npm install). So the format gate is green today.
The problem is latent: current prettier@latest (3.9.6) also satisfies ^3.8.1, and under it 10 already-gated files become dirty:
So a npm update, a dependabot bump, or a regenerated lockfile would fail format:check:core and web's format:check on files nobody touched — a gate verdict that depends on which in-range patch happens to be installed.
Note: the scopes newly gated by #1788 (scripts/** and clients/web/server + top-level configs) are already drift-free — the exposure is entirely in scopes gated before it.
Proposal
Either:
Pin prettier to an exact version in all five package.json files (drop the caret), so the gate's verdict is deterministic across installs; or
Bump to 3.9.x and run npm run format once to normalize the 10 files, then pin.
Pinning is the smaller change and directly makes the format gate trustworthy regardless of install timing. Natural companion to #1789.
Notes
Prettier-only / tooling. Reformatting (if the bump route is taken) is pure formatting, no runtime change.
Activity
chore: close a batch of quality-gate & tidy gaps (#1785 #1787 #1789 #…
cliffhall commentedon Jul 26, 2026
Fixed in #1792 (merged to v2/main).
fix: pin the vitest trio exactly, and document the peer/transitive ex…
chore: consolidate shared toolchain devDependencies into the root pac…