feat: CI verification pipeline and structural conformance gates

- Add scripts/check-structural.js: counts production as any, empty catch,
  and ?? 0 patterns; fails CI if counts exceed committed baseline
- Add scripts/.structural-baseline.json: committed baseline (101 as any,
  17 empty catch, 62 ?? 0); use --fix-baseline to ratchet down
- Add scripts/ci-verify.sh: ordered pipeline (build → typecheck → lint →
  structural → unit tests → E2E) with pass/fail summary
- Add npm scripts: test:structural, test:structural:fix, ci:verify
- Add cache-staleness conformance test: verifies WORLD_CACHE_SCHEMA_VERSION
  is prefixed to all cache keys for auto-invalidation on schema changes
- Cache test suite grows from 141 → 142 passes
This commit is contained in:
John Dvorak
2026-05-22 16:33:34 -07:00
parent 3b7be0aaf0
commit 8f823d959b
5 changed files with 208 additions and 0 deletions
+3
View File
@@ -13,6 +13,9 @@
"test:integration": "npm run test:integration -w imhotep-playwright",
"test:e2e": "npm run test:e2e -w imhotep-fixtures",
"test:external-smoke": "node scripts/external-smoke.mjs",
"test:structural": "node scripts/check-structural.js",
"test:structural:fix": "node scripts/check-structural.js --fix-baseline",
"ci:verify": "bash scripts/ci-verify.sh",
"lint": "eslint packages/*/src/**/*.ts",
"clean": "rm -rf packages/*/dist packages/*/*.tsbuildinfo dist && find packages -path '*/src/*.js' -delete && find packages -path '*/src/*.d.ts' -delete && find packages -path '*/src/*.map' -delete"
},