diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..713a731 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,16 @@ +# GovOPlaN Evaluation Codex Guide + +## Scope + +This repository owns structured questionnaires, rubrics, scoring, aggregation, recurring evaluations, and report-ready evaluation results. + +## 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 Evaluation 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 + +- Poll owns lightweight decision and availability polls. +- Keep Access optional and expose integration through capabilities and typed references. diff --git a/src/govoplan_evaluation/backend/manifest.py b/src/govoplan_evaluation/backend/manifest.py index 4ec6c31..7976223 100644 --- a/src/govoplan_evaluation/backend/manifest.py +++ b/src/govoplan_evaluation/backend/manifest.py @@ -9,6 +9,7 @@ from govoplan_core.core.modules import ( PermissionDefinition, RoleTemplate, ) +from govoplan_core.core.provider_governance import declared_module_architecture MODULE_ID = "evaluation" MODULE_NAME = "Evaluation" @@ -71,8 +72,8 @@ DOCUMENTATION = ( "remain possible." ), layer="available", - documentation_types=("admin",), - audience=("operator", "module_admin", "product_owner"), + documentation_types=("admin", "user"), + audience=("user", "operator", "module_admin", "product_owner"), related_modules=("poll", "scheduling", "calendar", "campaigns", "forms", "forms_runtime", "reporting"), metadata={"seed": True}, ), @@ -96,6 +97,15 @@ manifest = ModuleManifest( permissions=PERMISSIONS, role_templates=ROLE_TEMPLATES, documentation=DOCUMENTATION, + architecture=declared_module_architecture( + layer="domain_capability", + kind="domain", + maturity="scaffold", + documentation_ref="README.md", + known_limits=("Evaluation templates, runs, responses, scoring, and aggregation are not persisted yet.",), + owned_concepts=("evaluation", "evaluation response", "scoring rubric", "evaluation result"), + non_owned_concepts=("poll", "schedule", "report presentation"), + ), )