From c433434570fac8b028b48dfaae8c27d0b0a17174 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Sat, 1 Aug 2026 17:48:40 +0200 Subject: [PATCH] docs: declare institutional architecture boundary --- AGENTS.md | 7 ++++++- src/govoplan_views/backend/manifest.py | 13 +++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 30dae3e..5c116f8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,5 +1,11 @@ # GovOPlaN Views Module +## Documentation Contract + +- Treat documentation as part of every behavior change. Update this module's manifest-driven `DocumentationTopic` contributions for affected user and administrator behavior. +- Keep feature content here; `govoplan-docs` projects it without importing Views internals. +- Maintain a static user/admin baseline and run `/mnt/DATA/git/govoplan/tools/checks/check-manifest-shapes.py` after behavior or manifest changes. + This repository owns view definitions, immutable revisions, scoped assignments, effective resolution, and the Views administration UI. @@ -9,4 +15,3 @@ assignments, effective resolution, and the Views administration UI. - Required assignments must pass server-side lockout validation. - Do not import optional module implementations. Consume manifest surfaces and platform capabilities. - diff --git a/src/govoplan_views/backend/manifest.py b/src/govoplan_views/backend/manifest.py index 0504748..a72e6a2 100644 --- a/src/govoplan_views/backend/manifest.py +++ b/src/govoplan_views/backend/manifest.py @@ -20,6 +20,7 @@ from govoplan_core.core.modules import ( PermissionDefinition, RoleTemplate, ) +from govoplan_core.core.provider_governance import declared_module_architecture from govoplan_core.core.views import CAPABILITY_VIEWS_RESOLVER, ViewSurface from govoplan_core.db.base import Base from govoplan_views.backend.db import models as view_models @@ -311,6 +312,18 @@ manifest = ModuleManifest( order=18, ), ), + architecture=declared_module_architecture( + layer="governance_accountability", + kind="presentation", + maturity="vertical_slice", + documentation_ref="README.md", + test_ref="tests/test_views.py", + known_limits=("A View filters presentation only; modules still vary in the granularity of announced surfaces.",), + owned_concepts=("view definition", "view revision", "view assignment", "view selection"), + non_owned_concepts=("authorization", "module navigation", "workflow definition", "dashboard layout"), + recovery_docs=("README.md",), + security_docs=("README.md",), + ), )