Problem
PR #25 replaced the generic test runner (which had a || true fallback that masked failures — correctly removed) with a single validate_adapter_contract.py --self-test invocation. The old job was security theater (always passed). The new job is honest.
However, the new CI only runs the specific validator. Future test files added to the repo will silently not run unless someone remembers to wire them.
Source
Meadows lane: "CI narrowing may invert a reinforcing loop. Future test files will silently not run unless wired in."
Fix
Keep the specific validator AND add a generic test runner (without the || true mask):
- name: Run adapter contract self-test
run: python validate_adapter_contract.py --self-test
- name: Run all tests
run: python -m pytest -v # fails if tests fail, no || true mask
Priority
P2 — prevents future test files from silently not running
Problem
PR #25 replaced the generic test runner (which had a
|| truefallback that masked failures — correctly removed) with a singlevalidate_adapter_contract.py --self-testinvocation. The old job was security theater (always passed). The new job is honest.However, the new CI only runs the specific validator. Future test files added to the repo will silently not run unless someone remembers to wire them.
Source
Meadows lane: "CI narrowing may invert a reinforcing loop. Future test files will silently not run unless wired in."
Fix
Keep the specific validator AND add a generic test runner (without the
|| truemask):Priority
P2 — prevents future test files from silently not running