Commit Graph

2 Commits

Author SHA1 Message Date
John Dvorak 4142027f9b refactor: eliminate 4 as any casts in extraction.ts
CI / lint (push) Successful in 9m56s
CI / build (push) Failing after 5m35s
CI / unit (18) (push) Has been skipped
CI / unit (20) (push) Has been skipped
CI / unit (22) (push) Has been skipped
CI / e2e (push) Has been skipped
- Added 'contain' field to FastExtractedElement.style interface, removing
  (s as any).contain property smuggling (line 682)
- Replaced (assertion as any) duck-typing in getSelectorsFromAssertion
  with instanceof FluentRelation/FluentQuantifier/FluentAssertion checks
- Replaced (assertion as any) duck-typing in buildFluentLabel with
  same instanceof pattern
- Structural baseline ratcheted: asAny 101→98, nullishZero 62→61
2026-05-22 16:57:19 -07:00
John Dvorak 8f823d959b 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
2026-05-22 16:33:34 -07:00