a424d29ccc
pipeline.ts: || undefined → ?? undefined (9 occurrences) - || converts valid subject ID 0 to undefined because 0 is falsy in JS. This broke clause witnesses and topology references for the first subject. domain-index.ts: remove .toLowerCase() on CSS selectors - CSS selectors are case-sensitive (IDs, class names, attribute values). Lowercasing on lookup but not on storage (selectorIndex) meant case- sensitive selectors never matched — returning empty arrays silently. canonical.ts: add warning when visualBoxes falls back to layout boxes - visualBoxes ?? boxes silently substituted layout coordinates for visual space, producing incorrect results for transform-dependent assertions. Now emits console.warn so silent data corruption is visible. extraction.ts: serialize materializeSemanticSelector calls (3 sites) - Changed Promise.all over page.evaluate() to sequential for..of. While Playwright serializes CDP calls internally, concurrent DOM-modifying evaluate() calls create undefined execution order. Sequential resolution eliminates theoretical race conditions for semantic selector injection. engine.ts: include stack trace in evaluator exception diagnostics - Catch-all converted ALL exceptions (including TypeError from programming bugs) to IMH_EVALUATOR_EXCEPTION with just err.message. Now includes stack trace and logs to console.warn for visibility. Distinguishes TypeError (programming bug) from other evaluation errors. 648 SDK tests + 57 E2E hard tests pass, zero regressions.
imhotep-core
Foundation types and contracts for Imhotep. Defines the AST/IR, geometry world schema, diagnostic taxonomy, pipeline contracts, FOL AST/IR representations, domain/value types, scene target descriptors, property contract/results types, and geometry snapshot caching.
Key Exports
| Module | Description |
|---|---|
types |
Core type definitions (positions, IDs, results, proofs) |
ast |
Unist-style AST node definitions |
ir |
Semantic IR and execution IR |
world |
Geometry world schema tables |
contracts |
Extractor, solver, compiler, reporter interfaces |
diagnostics |
Diagnostic categories, error codes, traces, shrinking |
logic-ast |
FOL AST types (quantifiers, connectives, predicates) |
logic-ir |
Lowered FOL IR for logic engine |
canonical |
Canonical world adapter for solver |
geometry-cache |
Disk-based extraction caching |