Add cross-module operational and interaction contracts

This commit is contained in:
2026-07-31 22:48:07 +02:00
parent 4cb334c912
commit b65b48832b
23 changed files with 593 additions and 13 deletions
@@ -32,6 +32,18 @@ def workflow_topic(
class DocumentationTopicContractTests(unittest.TestCase):
def test_registry_rejects_empty_documentation_version_range(self) -> None:
topic = DocumentationTopic(
id="example.versioned",
title="Versioned",
summary="Invalid range",
version_min="2.0.0",
version_max_exclusive="2.0.0",
)
with self.assertRaisesRegex(RegistryError, "empty version range"):
registry_for(topic).validate()
def test_user_workflow_requires_scope_conditions(self) -> None:
topic = workflow_topic(conditions=())