feat: implement definition-aware forms runtime

This commit is contained in:
2026-08-01 17:48:35 +02:00
parent 396d6b0c90
commit 9dc49fe27b
25 changed files with 4180 additions and 79 deletions
+24 -7
View File
@@ -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