feat: implement governed project portfolio
This commit is contained in:
@@ -8,8 +8,18 @@
|
||||
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`. This initial scaffold registers the
|
||||
boundary, permissions, roles, documentation, and module entry point.
|
||||
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).
|
||||
|
||||
@@ -20,3 +30,7 @@ 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.
|
||||
|
||||
Reference in New Issue
Block a user