docs: declare institutional architecture boundary
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
# GovOPlaN Dashboard Codex Guide
|
||||
|
||||
## Scope
|
||||
|
||||
This repository owns configurable dashboards, widget layouts, view-specific dashboard state, and module-announced widget rendering.
|
||||
|
||||
## 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 Dashboard 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
|
||||
|
||||
- Widgets never grant access and must preserve provider-side authorization.
|
||||
- Consume widget contributions without importing optional module internals.
|
||||
@@ -15,6 +15,7 @@ from govoplan_core.core.modules import (
|
||||
ModuleManifest,
|
||||
NavItem,
|
||||
)
|
||||
from govoplan_core.core.provider_governance import declared_module_architecture
|
||||
from govoplan_core.core.views import ViewSurface
|
||||
from govoplan_core.db.base import Base
|
||||
from govoplan_dashboard.backend.db.models import DashboardLayout
|
||||
@@ -97,6 +98,16 @@ manifest = ModuleManifest(
|
||||
order=20,
|
||||
),
|
||||
),
|
||||
architecture=declared_module_architecture(
|
||||
layer="data_reporting_integration",
|
||||
kind="presentation",
|
||||
maturity="vertical_slice",
|
||||
documentation_ref="README.md",
|
||||
test_ref="tests/test_dashboard_layouts.py",
|
||||
known_limits=("Widget configuration depth and target accessibility evidence vary by contributing module.",),
|
||||
owned_concepts=("dashboard layout", "widget placement", "view-specific dashboard"),
|
||||
non_owned_concepts=("widget domain data", "report definition", "view policy"),
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user