Skip to content

Test index

testing-strategy.md covers which kind of test a change needs, and testing-policy.md covers the one case that has a rule. This page is the inventory. It lists every test file that exists, the first line of its module docstring, and the gate that names it in gates.yaml.

A test with no gate is not a lesser test. Brick isolation, unit coverage of a package internal, and the tests of the policy scripts all sit below the gate line on purpose. A gate is a published claim carrying an external reference, and most tests are not that. The column exists so a reader can tell which is which rather than guess.

The page is generated by walking the tree, so a test added and mentioned nowhere still appears. That is the point. A hand-written list goes stale the first time somebody adds a file, and nobody notices until they trust it.

97 test files. 25 are named by a gate in gates.yaml, and 72 sit below the gate line.

Test What it proves Gate
packages/twinflow-agent/tests/test_autonomy.py E5a. The tier a call carries, and the audit event that attributes a change. none
packages/twinflow-agent/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed on its own. none
packages/twinflow-agent/tests/test_import.py The package imports, and its declared surface is the surface it has. none
packages/twinflow-agent/tests/test_local_model.py The local model path (ARCHITECTURE.md decision D10, ADR-0002). none
packages/twinflow-agent/tests/test_tools.py Requirement 7 (one tool) and E26d, the structured-output layer. none
packages/twinflow-api/tests/test_app.py The HTTP surface of foundations section 5.13, over a real recorded run. none
packages/twinflow-api/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed on its own. none
packages/twinflow-api/tests/test_cursor.py The cursor is the whole of the pagination promise, so it is tested alone. none
packages/twinflow-api/tests/test_import.py no module docstring none
packages/twinflow-api/tests/test_main.py The process entry point: what it reads, and what it refuses to claim. none
packages/twinflow-api/tests/test_metrics.py The metric registry of foundations section 5.13, addressed without a request. none
packages/twinflow-api/tests/test_pagination.py page_of called as a library function, which is where its refusals live. none
packages/twinflow-api/tests/test_pagination_properties.py INV-K16 as a property: a cursor walk sees the log exactly once, in order. none
packages/twinflow-config/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed with only what it declares. none
packages/twinflow-config/tests/test_config_validation.py Gate CFG-001: every shipped config validates, and every invalid fixture VAL-GATE-CFG-001
packages/twinflow-config/tests/test_metrics.py The metric registry envelope (E26b), and the rules of foundations 5.15. none
packages/twinflow-config/tests/test_uns.py The UNS contract of ARCHITECTURE.md section 5, asserted rather than assumed. none
packages/twinflow-config/tests/test_uns_properties.py The naming properties, over generated names rather than chosen ones. none
packages/twinflow-dashboard/tests/test_accessibility_floor.py Gate VAL-GATE-A11Y-001, as far as a Python tier can honestly take it. VAL-GATE-A11Y-001
packages/twinflow-dashboard/tests/test_app.py The three routes this process serves, and the one it writes through. none
packages/twinflow-dashboard/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed on its own. none
packages/twinflow-dashboard/tests/test_contract_drift.py Contract tests CT-UI-2 and CT-UI-3, as far as this release can carry them. none
packages/twinflow-dashboard/tests/test_import.py no module docstring none
packages/twinflow-dashboard/tests/test_main.py The process entry point: the two settings it refuses to invent, and its clock. none
packages/twinflow-dashboard/tests/test_severity.py The severity model and the two orderings it owns. none
packages/twinflow-kernel/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed with only what it declares. none
packages/twinflow-kernel/tests/test_environment.py The environment driver seam (E40), which ships in P0 with a null driver. none
packages/twinflow-kernel/tests/test_mqtt.py The production adapter, driven through a client double. none
packages/twinflow-kernel/tests/test_network.py The NETWORK seam: the filter grammar, delivery order, and the will. none
packages/twinflow-kernel/tests/test_paced_clock.py The D-02 pacer, and the one property that makes time compression safe. none
packages/twinflow-kernel/tests/test_scenario.py SCN-F1 and the determinism claim it carries (DET-001). VAL-GATE-DET-001
packages/twinflow-kernel/tests/test_time.py The time invariants of foundations section 3.1, asserted rather than reviewed. none
packages/twinflow-rng/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed on its own. none
packages/twinflow-rng/tests/test_derive.py no module docstring VAL-GATE-DET-001, VAL-GATE-RNG-001
packages/twinflow-rng/tests/test_import.py no module docstring none
packages/twinflow-rng/tests/test_registry.py no module docstring none
packages/twinflow-rng/tests/test_rng_known_answers.py The cross-language known-answer gate, VG-VAR-07 and RUST-1. VAL-GATE-DET-001, VAL-GATE-RNG-001
packages/twinflow-rng/tests/test_stream_independence.py no module docstring none
packages/twinflow-schemas/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed on its own. none
packages/twinflow-schemas/tests/test_envelope.py no module docstring none
packages/twinflow-schemas/tests/test_import.py no module docstring none
packages/twinflow-schemas/tests/test_log_invariants.py Gates ENV-001 and DET-001, stated over a log rather than over one event. VAL-GATE-ENV-001
packages/twinflow-schemas/tests/test_packaging.py What the published artifacts actually contain. none
packages/twinflow-schemas/tests/test_schema_registry.py The published registry (C3) and the differ behind gate SCH-001. VAL-GATE-SCH-001
packages/twinflow-sensors/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed on its own. none
packages/twinflow-sensors/tests/test_conformance.py The Sparkplug B assertion table, and evidence that every check can fail. VAL-GATE-SPARK-001
packages/twinflow-sensors/tests/test_import.py no module docstring none
packages/twinflow-sensors/tests/test_main.py The device entry point: the session it opens, and what it refuses. none
packages/twinflow-sensors/tests/test_portal.py The UHF portal reader, attacked at the four places a real one gets it wrong. none
packages/twinflow-sensors/tests/test_properties.py Hypothesis properties over the four sharp edges of these two work packages. none
packages/twinflow-sensors/tests/test_sparkplug.py Sparkplug B session rules, each one stated as an observation that fails it. none
packages/twinflow-sensors/tests/test_temperature.py The conveyor motor temperature sensor. none
packages/twinflow-sensors/tests/test_wire.py The Sparkplug B wire codec, against specification 6.4.1. none
packages/twinflow-storage/tests/test_adapters.py A run written to a directory and read back, and every way that can go wrong. none
packages/twinflow-storage/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed on its own. none
packages/twinflow-storage/tests/test_historian.py The append-only log, the per-run config snapshot, and the batch table. none
packages/twinflow-storage/tests/test_import.py no module docstring none
packages/twinflow-storage/tests/test_naming.py Requirement RA-c: the historian's placement and the names it stores under. none
packages/twinflow-twin/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed on its own. none
packages/twinflow-twin/tests/test_import.py no module docstring none
packages/twinflow-twin/tests/test_station.py Behavior of the receiving and putaway station model. none
packages/twinflow-twin/tests/test_station_invariants.py The physical invariants of the station model, asserted rather than clamped. none
tests/test_banned_terms_gate.py The IP hygiene gate (IPH-001). VAL-GATE-IPH-001
tests/test_changelog_completeness.py Every recordable commit reaches the changelog, CHANGELOG-1. none
tests/test_check_measured_claims.py The measured-claims checker, and the states it has to refuse. none
tests/test_ci_matrix_gate.py The CI matrix gate (CI-001). VAL-GATE-CI-001
tests/test_cla_gate.py The contributor agreement gate CLA-001, milestone C13. VAL-GATE-CLA-001
tests/test_comment_judge_paths.py The commit-message path check in the comment judge. none
tests/test_commit_message_gate.py The commit message gate (CC-001). VAL-GATE-CC-001
tests/test_compare_runs.py The cross-platform comparison behind DET-002. VAL-GATE-DET-002
tests/test_compose_segmentation_gate.py RA-b, the Purdue segmentation of the garage compose, held to its own rules. none
tests/test_demo.py Gate VAL-GATE-DEMO-001, asserted rather than described. VAL-GATE-DEMO-001
tests/test_docs_gate.py VAL-GATE-DOC-001, and the property that makes a tag-qualified clause honest. VAL-GATE-DOC-001
tests/test_hook_installation.py Installed hooks against the tracked ones, WORKSPACE-2. none
tests/test_hook_python_resolution.py One interpreter resolution for every hook gate. none
tests/test_layer_map_gate.py VAL-GATE-TIER-001, the RA-a layer map held to its own completeness rule. VAL-GATE-TIER-001
tests/test_license_allowlist_gate.py The license allowlist gate (SEC-001). VAL-GATE-SEC-001
tests/test_license_bytes_gate.py The license bytes gate (LIC-001). VAL-GATE-LIC-001
tests/test_link_gate.py VAL-GATE-DOC-001, the link half held to its own refusals. none
tests/test_measure_row_bytes.py The row-size measurement tool, and the two things it must never do. none
tests/test_metric_marker_gate.py The metric marker gate, and which release owes which number. none
tests/test_ops_release_tagged_schema.py The ops.release.tagged.v1 contract, and the two gates that read it. none
tests/test_prose_double_dash.py DASH-02, the transliterated em dash. none
tests/test_prose_topic_type.py FM-06, a topic type outside the declared set. none
tests/test_regression_test_gate.py The regression test gate REG-001. VAL-GATE-REG-001
tests/test_release_gate.py The release gate (REL-001). VAL-GATE-REL-001
tests/test_sbom_gate.py The SBOM gate, and the property that makes it worth running. none
tests/test_spelling_gate.py The spelling gate. none
tests/test_workflow_supply_chain.py The workflows as a supply chain (ACT-001, PROV-001, SAST-001). VAL-GATE-ACT-001, VAL-GATE-PROV-001, VAL-GATE-SAST-001, VAL-GATE-SEC-001
tools/roadmap/tests/test_brick_isolated.py Boundary rule A1.5: this package works installed with only what it declares. none
tools/roadmap/tests/test_completeness.py Done means delivered, and nothing in the tree is unreachable. VAL-GATE-RMAP-001
tools/roadmap/tests/test_drift.py Drift: a tracker that disagrees, and a tracker that does not exist yet. VAL-GATE-RMAP-001
tools/roadmap/tests/test_markers.py Deferred numbers, and the plan that owes them. none
tools/roadmap/tests/test_properties.py Property invariants (C4 tier two). none
tools/roadmap/tests/test_roadmap.py The shipped roadmap, checked as data rather than read as prose. VAL-GATE-RMAP-001
tools/roadmap/tests/test_rules.py One test per rule, each against a fixture that breaks exactly that rule. none
tools/roadmap/tests/test_sync.py The tracker projection and the generated documents (CON-10). VAL-GATE-RMAP-001