From 4d4435774534630c475912b5b0413036c8ed6bb4 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Sat, 22 Aug 2026 07:55:18 +0200 Subject: [PATCH] docs: complete public documentation baseline --- pyproject.toml | 2 +- src/govoplan_evaluation/__init__.py | 2 +- src/govoplan_evaluation/backend/manifest.py | 20 ++++++++++++++++++-- tests/test_manifest.py | 9 +++++++++ 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 21ff0fa..5f2e828 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "govoplan-evaluation" -version = "0.1.18" +version = "0.1.19" description = "GovOPlaN structured evaluation, feedback, scoring, and survey module seed." readme = "README.md" requires-python = ">=3.12" diff --git a/src/govoplan_evaluation/__init__.py b/src/govoplan_evaluation/__init__.py index be597f1..bd50c62 100644 --- a/src/govoplan_evaluation/__init__.py +++ b/src/govoplan_evaluation/__init__.py @@ -2,4 +2,4 @@ __all__ = ["__version__"] -__version__ = "0.1.18" +__version__ = "0.1.19" diff --git a/src/govoplan_evaluation/backend/manifest.py b/src/govoplan_evaluation/backend/manifest.py index 17b4d93..4b22c07 100644 --- a/src/govoplan_evaluation/backend/manifest.py +++ b/src/govoplan_evaluation/backend/manifest.py @@ -13,7 +13,7 @@ from govoplan_core.core.provider_governance import declared_module_architecture MODULE_ID = "evaluation" MODULE_NAME = "Evaluation" -MODULE_VERSION = "0.1.18" +MODULE_VERSION = "0.1.19" READ_SCOPE = "evaluation:evaluation:read" WRITE_SCOPE = "evaluation:evaluation:write" ADMIN_SCOPE = "evaluation:evaluation:admin" @@ -74,8 +74,24 @@ DOCUMENTATION = ( layer="available", documentation_types=("admin", "user"), audience=("user", "operator", "module_admin", "product_owner"), + translations={ + "de": { + "title": "Modulgrenze von Evaluation", + "summary": "Strukturierte Fragebögen, Rückmeldungen, Bewertungsraster, Punktevergaben, Aggregationen und berichtsfertige Evaluationsergebnisse.", + "body": ( + "Evaluation verwaltet strukturierte Rückmeldungen nach einem Verfahren, Befragungen, Punktevergaben, Bewertungsraster, wiederkehrende Evaluationsläufe, Aggregationen und exportfähige Ergebnisse. " + "Antwortsammlungen aus Poll können als Kontext übernommen werden; einfache Entscheidungs- und Verfügbarkeitsumfragen verbleiben jedoch bei Poll. Access ist optional: Ist es installiert, kann Evaluation Identitätsauflösung, Berechtigungsprüfung und Rollenvorlagen verwenden; ohne Access bleiben reduzierte lokale Antwortabläufe oder Abläufe über öffentliche Links möglich." + ), + } + }, related_modules=("poll", "scheduling", "calendar", "campaigns", "forms", "forms_runtime", "reporting"), - metadata={"seed": True}, + metadata={ + "kind": "reference", + "seed": True, + "consequence_classes": { + "seed_boundary": "Declares ownership and optional integration boundaries; no runtime workflow is available yet.", + }, + }, ), ) diff --git a/tests/test_manifest.py b/tests/test_manifest.py index 1171ae4..2421102 100644 --- a/tests/test_manifest.py +++ b/tests/test_manifest.py @@ -19,6 +19,15 @@ class EvaluationManifestTests(unittest.TestCase): self.assertIn("poll", manifest.optional_dependencies) self.assertIn("evaluation.result_aggregation", {interface.name for interface in manifest.provides_interfaces}) self.assertIn("poll.response_collection", {interface.name for interface in manifest.requires_interfaces}) + topic = manifest.documentation[0] + self.assertEqual("reference", topic.metadata["kind"]) + self.assertIn("seed_boundary", topic.metadata["consequence_classes"]) + self.assertTrue( + all( + topic.translations.get("de", {}).get(field) + for field in ("title", "summary", "body") + ) + ) if __name__ == "__main__":