feat(ts): add real quality gates — Biome lint + effect-law ratchet + class inventory

- biome.json (2.4.16, linter-only) wired as "lint" in all six packages
- scripts/check-effect-laws.ts: Effect-native law enforcement encoding the
  adapted beep-effect effect-first/schema-first laws (no native JSON/switch/
  sort/fetch/timers, no process.env, no throw new, no Effect.run* outside
  boundaries, no Schema-suffixed constants, no node:fs/path, AST-based
  pure-data interface detection per law 38/39)
- ratcheting baseline allowlist (95 entries / 290 findings) that must shrink
  to documented exemptions only; stale counts fail the gate
- root lint chains turbo lint + law check + native-class inventory
- fix all 163 initial Biome findings: import-type style, templates, two `any`s,
  ten non-null assertions (librarian getService gate, A.matchRight in atoms,
  ensureNode returning nodes, main.tsx mount guard)

Gates: lint, check:tsgo, build, test (force, 11 tasks) all green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
elpresidank 2026-06-11 06:40:01 -05:00
parent cf12defcd8
commit 0746d7ffd5
109 changed files with 951 additions and 611 deletions

View file

@ -4,7 +4,9 @@
"scripts": {
"build": "bunx --bun turbo build",
"dev": "bunx --bun turbo dev",
"lint": "bunx --bun turbo lint",
"lint": "bunx --bun turbo lint && bun run lint:laws",
"lint:laws": "bun scripts/check-effect-laws.ts && bun scripts/inventory-native-classes.ts",
"lint:laws:baseline": "bun scripts/check-effect-laws.ts --write-baseline",
"test": "bunx --bun turbo test",
"check": "bun run check:tsgo",
"check:tsgo": "effect-tsgo patch && tsgo -b tsconfig.json",
@ -44,6 +46,7 @@
"llm:mistral": "bun scripts/run-llm-mistral.ts"
},
"devDependencies": {
"@biomejs/biome": "^2",
"@effect/platform-bun": "4.0.0-beta.78",
"@effect/tsgo": "0.14.0",
"@effect/vitest": "4.0.0-beta.78",
@ -55,7 +58,6 @@
"pdf-lib": "^1.17.1",
"tsx": "^4.21.0",
"turbo": "^2.5.0",
"typescript": "^5.8.0",
"vitest": "^4.1.6"
},