GovOPlaN Projects
Repository type: module (domain).
govoplan-projects owns native project and portfolio identity, goals, status,
milestones, participants, work structure, and links to project evidence. It is
the native GovOPlaN project context and the integration target for OpenProject.
The runtime module ID is projects. The module persists tenant-scoped
portfolios, projects, and milestones as immutable revisions with optimistic
concurrency, replay-safe lifecycle events, membership-based restricted access,
and permission-aware Search indexing. Planning records can retain outcomes,
benefits, dependencies, capacity assumptions, change impacts, benefit reviews,
module resource links, and canonical external-system references.
The /projects workspace provides catalogue, detail, create, and core-field
editing views. The governed API exposes the complete planning record at
/api/v1/projects/objects. OpenProject transport and synchronization remain in
Connectors; Projects stores only the native planning object and canonical
external reference.
See docs/PROJECTS_DOMAIN_BOUNDARY.md. The list-detail, editor, state, consequence, and accessibility mapping is in docs/INTERFACE_PATTERN_MIGRATION.md.
Development
cd /mnt/DATA/git/govoplan-projects
PYTHONPATH=src:/mnt/DATA/git/govoplan-core/src \
/mnt/DATA/git/govoplan/.venv/bin/python -m unittest discover -s tests
The module migration is applied through the platform migration runner when the module is enabled. Destructive retirement requires the normal snapshot and uninstall-guard process because it removes planning history and events.