Add unit tests for contracts and module boundaries
contracts/ defines the interfaces that all modules depend on. There are no tests verifying that contract types are enforced at module boundaries or that invalid inputs are rejected before entering pipeline logic.
Constraints
Pure unit tests — no pipeline execution, no real data
Import boundary test can use ast or importlib to inspect dependencies statically
Add unit tests for contracts and module boundaries
contracts/ defines the interfaces that all modules depend on. There are no tests verifying that contract types are enforced at module boundaries or that invalid inputs are rejected before entering pipeline logic.
Constraints
Pure unit tests — no pipeline execution, no real data
Import boundary test can use ast or importlib to inspect dependencies statically