docs: declare institutional architecture boundary
This commit is contained in:
@@ -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,
|
||||
RoleTemplate,
|
||||
)
|
||||
from govoplan_core.core.provider_governance import declared_module_architecture
|
||||
from govoplan_core.core.organizations import CAPABILITY_ORGANIZATION_DIRECTORY
|
||||
from govoplan_core.core.views import ViewSurface
|
||||
from govoplan_core.db.base import Base
|
||||
@@ -274,6 +275,20 @@ manifest = ModuleManifest(
|
||||
),
|
||||
),
|
||||
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",),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user