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

Binary file not shown.

View file

@ -6,7 +6,7 @@
*/
import { PDFDocument, StandardFonts } from "pdf-lib";
import { writeFileSync, mkdirSync } from "fs";
import { writeFileSync, mkdirSync } from "node:fs";
const PAGE_1 = `Acme Corporation: Company Overview

File diff suppressed because one or more lines are too long

View file

@ -517,7 +517,7 @@ async function testFullPipeline(): Promise<boolean> {
// 4. Wait for pipeline to complete (PDF decode + chunking + extraction + storage)
// This involves multiple LLM calls so give it time
const waitSecs = parseInt(process.env.PIPELINE_WAIT ?? "20", 10);
const waitSecs = Number.parseInt(process.env.PIPELINE_WAIT ?? "20", 10);
for (let i = waitSecs; i > 0; i--) {
process.stdout.write(`\r Waiting... ${i}s remaining `);
await new Promise((r) => setTimeout(r, 1000));
@ -574,17 +574,16 @@ async function testFullPipeline(): Promise<boolean> {
if (triplesFound && embeddingsFound) {
pass("Full pipeline: PDF decoded, triples stored, embeddings stored");
return true;
} else if (triplesFound) {
}if (triplesFound) {
pass("Full pipeline: triples stored (embeddings pending)");
return true;
} else if (embeddingsFound) {
}if (embeddingsFound) {
pass("Full pipeline: embeddings stored (triples pending)");
return true;
} else {
}
// Pipeline triggered but stores not populated yet — partial success
pass("Full pipeline: triggered successfully (stores may need more time)");
return true;
}
} catch (err) {
fail("Full pipeline", err);
return false;