58. Skip to content

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.