feat: implement definition-aware forms runtime
This commit is contained in:
@@ -4,13 +4,22 @@
|
||||
**Repository type:** module (platform).
|
||||
<!-- govoplan-repository-type:end -->
|
||||
|
||||
`govoplan-forms-runtime` is the GovOPlaN platform module seed for runtime form submissions for validation, drafts, attachments, signatures, status tracking, and handoff to domain modules.
|
||||
`govoplan-forms-runtime` owns definition-aware runtime form submissions,
|
||||
including validation, permitted drafts, attachment/signature references, status
|
||||
history, receipts, and handoff evidence.
|
||||
|
||||
Its runtime module ID is `forms_runtime`; the repository and Python distribution retain the hyphenated `govoplan-forms-runtime` name.
|
||||
|
||||
This repository is initialized as a discoverable module seed. It exposes a module manifest, initial permissions, role templates, documentation metadata, Gitea workflow templates, and a focused manifest test. It intentionally does not yet add HTTP routes, database models, migrations, or WebUI navigation.
|
||||
The module persists tenant-bound immutable revisions and events, exposes bounded
|
||||
owner/manager APIs and WebUI routes, and provides both
|
||||
`forms_runtime.registry` and `forms_runtime.service_launcher`.
|
||||
|
||||
## Initial Ownership
|
||||
Portal invokes the launcher only after re-fetching and re-evaluating an exact
|
||||
published Service revision. A Form binding uses `<form-id>/<revision>`; the
|
||||
runtime resolves that exact immutable definition through `forms.definitions`,
|
||||
validates launch values, and retains both Service and binding provenance.
|
||||
|
||||
## Ownership
|
||||
|
||||
- form submissions
|
||||
- draft state
|
||||
@@ -31,13 +40,20 @@ Detailed boundary notes are in [docs/FORMS_RUNTIME_DOMAIN_BOUNDARY.md](docs/FORM
|
||||
|
||||
## Integrations
|
||||
|
||||
Expected optional integrations:
|
||||
Required integrations:
|
||||
|
||||
- access
|
||||
- forms
|
||||
|
||||
Optional integrations:
|
||||
|
||||
- files
|
||||
- approvals
|
||||
- workflow
|
||||
- workflow engine
|
||||
- portal
|
||||
- cases
|
||||
- policy
|
||||
- audit
|
||||
|
||||
## Development Install
|
||||
|
||||
@@ -48,11 +64,12 @@ cd /mnt/DATA/git/govoplan-core
|
||||
./.venv/bin/python -m pip install -e ../govoplan-forms-runtime
|
||||
```
|
||||
|
||||
Focused manifest verification:
|
||||
Focused verification:
|
||||
|
||||
```bash
|
||||
cd /mnt/DATA/git/govoplan-forms-runtime
|
||||
PYTHONPATH=src:/mnt/DATA/git/govoplan-core/src /mnt/DATA/git/govoplan-core/.venv/bin/python -m unittest discover -s tests
|
||||
PYTHONPATH=src:/mnt/DATA/git/govoplan-forms/src:/mnt/DATA/git/govoplan-core/src \
|
||||
/mnt/DATA/git/govoplan/.venv/bin/python -m unittest discover -s tests
|
||||
```
|
||||
|
||||
## Gitea Workflow
|
||||
|
||||
Reference in New Issue
Block a user