Files
govoplan-projects/README.md
T

39 lines
1.7 KiB
Markdown

# GovOPlaN Projects
<!-- govoplan-repository-type:start -->
**Repository type:** module (domain).
<!-- govoplan-repository-type:end -->
`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](docs/PROJECTS_DOMAIN_BOUNDARY.md).
The list-detail, editor, state, consequence, and accessibility mapping is in
[docs/INTERFACE_PATTERN_MIGRATION.md](docs/INTERFACE_PATTERN_MIGRATION.md).
## Development
```bash
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.