Severity: P2 · Category: DX
Independently hit by four separate agents in one maintenance run, each working around it identically. That makes it a real defect, not noise.
Two compounding problems
1. packages/api/src/lib/validation.ts fails biome check on unmodified main
Reproduce on a clean checkout of main:
bunx biome check packages/api/src/ # exit 1
The only failure is a formatting drift in validation.ts (a WebhookUrlSchema chain). It is already committed on main — verified via git show main:packages/api/src/lib/validation.ts | biome check --stdin-file-path=validation.ts -.
Consequence: the verification command documented in CLAUDE.md fails for everyone, on every branch, forever. A failing baseline trains people to ignore lint output — which is exactly how the next real failure gets missed.
2. The pre-commit hook is not scoped to staged files
It runs bunx biome check --write packages/*/src/ across the entire monorepo on every commit, regardless of what was staged. Combined with (1), every commit anywhere in the repo silently pulls a validation.ts reformat into the working tree.
Four agents each independently had to git checkout -- packages/api/src/lib/validation.ts after every commit to keep it out of their diff. Anyone who does not notice ships an unrelated file in their PR.
It also surfaces ~35 unrelated pre-existing dashboard warnings (unused imports/vars in MarketingLayout.astro, RootLayout.astro, brand.astro), making the hook noisy for everyone.
Fix
- Commit the
validation.ts formatting fix so main is green, and add a CI lint gate so the baseline cannot drift again.
- Scope the hook to staged files (lint-staged, or
biome check --write --staged) so committing never touches unstaged files.
- Clear or knowingly ignore the dashboard warnings so the hook's output is signal.
From automated audit 2026-07-17.
Severity: P2 · Category: DX
Independently hit by four separate agents in one maintenance run, each working around it identically. That makes it a real defect, not noise.
Two compounding problems
1.
packages/api/src/lib/validation.tsfailsbiome checkon unmodifiedmainReproduce on a clean checkout of main:
The only failure is a formatting drift in
validation.ts(aWebhookUrlSchemachain). It is already committed on main — verified viagit show main:packages/api/src/lib/validation.ts | biome check --stdin-file-path=validation.ts -.Consequence: the verification command documented in CLAUDE.md fails for everyone, on every branch, forever. A failing baseline trains people to ignore lint output — which is exactly how the next real failure gets missed.
2. The pre-commit hook is not scoped to staged files
It runs
bunx biome check --write packages/*/src/across the entire monorepo on every commit, regardless of what was staged. Combined with (1), every commit anywhere in the repo silently pulls avalidation.tsreformat into the working tree.Four agents each independently had to
git checkout -- packages/api/src/lib/validation.tsafter every commit to keep it out of their diff. Anyone who does not notice ships an unrelated file in their PR.It also surfaces ~35 unrelated pre-existing dashboard warnings (unused imports/vars in
MarketingLayout.astro,RootLayout.astro,brand.astro), making the hook noisy for everyone.Fix
validation.tsformatting fix somainis green, and add a CI lint gate so the baseline cannot drift again.biome check --write --staged) so committing never touches unstaged files.From automated audit 2026-07-17.