From 51f735395307d097b666c4d5e66e417135b83d55 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 | 6 ++++++ src/govoplan_tickets/backend/manifest.py | 14 ++++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 6492ef2..f71c9ab 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,5 +1,11 @@ # GovOPlaN Tickets Codex Guide +## 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 Tickets internals. +- Maintain a static user/admin baseline and run `/mnt/DATA/git/govoplan/tools/checks/check-manifest-shapes.py` after behavior or manifest changes. + ## Scope This repository owns the GovOPlaN Tickets domain module seed. diff --git a/src/govoplan_tickets/backend/manifest.py b/src/govoplan_tickets/backend/manifest.py index 81bff69..94347d0 100644 --- a/src/govoplan_tickets/backend/manifest.py +++ b/src/govoplan_tickets/backend/manifest.py @@ -2,6 +2,7 @@ from __future__ import annotations from govoplan_core.core.access import CAPABILITY_AUTH_PERMISSION_EVALUATOR, CAPABILITY_AUTH_PRINCIPAL_RESOLVER from govoplan_core.core.modules import DocumentationLink, DocumentationTopic, ModuleManifest, PermissionDefinition, RoleTemplate +from govoplan_core.core.provider_governance import declared_module_architecture MODULE_ID = "tickets" MODULE_NAME = "Tickets" @@ -87,8 +88,8 @@ DOCUMENTATION = ( "database models, migrations, and WebUI routes are introduced." ), layer="available", - documentation_types=("admin",), - audience=("operator", "module_admin", "product_owner"), + documentation_types=("admin", "user"), + audience=("user", "operator", "module_admin", "product_owner"), order=100, related_modules=OPTIONAL_DEPENDENCIES, links=( @@ -126,6 +127,15 @@ manifest = ModuleManifest( permissions=PERMISSIONS, role_templates=ROLE_TEMPLATES, documentation=DOCUMENTATION, + architecture=declared_module_architecture( + layer="human_work_procedure", + kind="domain", + maturity="scaffold", + documentation_ref="docs/TICKETS_DOMAIN_BOUNDARY.md", + known_limits=("Ticket persistence, queues, SLA, and external service-desk adapters are not implemented yet.",), + owned_concepts=("ticket", "ticket queue", "ticket transition"), + non_owned_concepts=("case", "project", "external service-desk record"), + ), )