58. Running tests¶
GAP Agentic relies on automated tests to keep its contracts and its auditability stable. This page describes what the tests protect and how to think about them; for the exact commands and test layout, follow the project's own developer documentation and test suite rather than any fixed command here.
58.1 What the tests protect¶
- Contracts. Interface contracts and typed data shapes must not change silently, because callers depend on them.
- Layering. Interface components must not contain scientific logic; a change that pushes science into an interface should be caught. See Architecture.
- Determinism and auditability. Because a decision trace has deterministic node identity (see Decision trace and confidence), an unchanged input should produce an unchanged decision, which makes trace comparison usable as a regression check.
- Honest degradation. A missing input should produce a recorded degradation and the appropriate confidence effect, not a silent substitution. See Observability and degradation.
58.2 Before proposing a change¶
Run the relevant tests locally against a healthy local environment, confirm the documentation still builds, and ensure a synthetic advisory run still returns a valid package. A change that alters advisory behaviour should update or add the tests that describe the new behaviour.