Test Suite Governance Audit

The test-suite governance audit is the core design for the tests scope described by docs/design/audit-standard.html. The durable governance records are core-adr-0002 and core-req-0002.

Problem

Rack can run discovered tests, but committed Rack manifests can drift away from the real test tree. A stale manifest hides missing signoff coverage and makes the repository look governed even when new test files have not been declared in STRATUM.toml.

Configuration

Repositories opt in by registering test roots and signoff strata in their dev-std config. The root-relative paths are intentionally explicit so workspaces and packages do not infer test ownership from unrelated folders.

[tests]
roots = ["tests"]
signoff_strata = ["L99_signoff"]

Audit Contract

For each configured test root, dev-std calls Rack's native failing audit command/API surface from wn-rack>=2026.7.16. Rack validates rack.toml, declared strata, stratum directories, STRATUM.toml, discovered test_*.py files, declared subtest files, duplicate manifest entries, and signoff stratum existence.

Dev-std keeps the standard-facing wrapper around that Rack result. Test roots must be explicit root-relative paths, Rack failures are mapped into normal dev-std audit output, missing Rack audit support fails with upgrade guidance, and each configured signoff stratum must include the signoff concern.

Boundary With Rack

Rack owns Rack manifest and test-tree semantics. Dev-std owns standards adoption policy, configuration requirements, and audit-result integration. The current adapter uses Rack's non-strict audit mode to preserve the existing manifest-drift contract; Rack's strict metadata checks can be adopted later after migration impact is reviewed.

Verification

The implementation lives in src/wn_dev_std/test_governance.py and is covered by tests/L0_foundation/test_L0_016_test_suite_governance.py. The config schema at docs/contracts/wn_dev_std_config.schema.v0.json documents the [tests] keys used by this scope.