docs: declare institutional architecture boundary

This commit is contained in:
2026-08-01 17:48:31 +02:00
parent 8c54a5d6c9
commit 7b0c9cfdde
2 changed files with 31 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
# GovOPlaN Distribution Lists Codex Guide
## Scope
This repository owns reusable, versioned distribution lists, membership facts, channel preferences, and governed recipient projections.
## 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 Distribution Lists internals.
- Maintain a static user/admin baseline and run `/mnt/DATA/git/govoplan/tools/checks/check-manifest-shapes.py` after behavior or manifest changes.
## Boundaries
- Campaign owns delivery runs; Addresses and IDM own their source records.
- Keep list membership history and source provenance stable across consuming campaigns.
@@ -35,6 +35,7 @@ from govoplan_core.core.modules import (
PermissionDefinition, PermissionDefinition,
RoleTemplate, RoleTemplate,
) )
from govoplan_core.core.provider_governance import declared_module_architecture
from govoplan_core.core.organizations import CAPABILITY_ORGANIZATION_DIRECTORY from govoplan_core.core.organizations import CAPABILITY_ORGANIZATION_DIRECTORY
from govoplan_core.core.views import ViewSurface from govoplan_core.core.views import ViewSurface
from govoplan_core.db.base import Base from govoplan_core.db.base import Base
@@ -274,6 +275,20 @@ manifest = ModuleManifest(
), ),
), ),
documentation=DOCUMENTATION, documentation=DOCUMENTATION,
architecture=declared_module_architecture(
layer="communication_participation",
kind="domain",
maturity="vertical_slice",
documentation_ref="docs/DISTRIBUTION_LISTS_ARCHITECTURE.md",
test_ref="tests/test_service.py",
known_limits=("Portal self-service and every AdreMa migration path are not yet implemented.",),
supported_authority_modes=("native_authoritative", "external_mirror"),
owned_concepts=("distribution list", "distribution-list revision", "frozen expansion"),
non_owned_concepts=("contact point", "campaign recipient snapshot", "identity", "dataflow output"),
recovery_docs=("docs/DISTRIBUTION_LISTS_ARCHITECTURE.md",),
security_docs=("docs/DISTRIBUTION_LISTS_ARCHITECTURE.md",),
operations_docs=("README.md",),
),
) )