feat: implement institutional service catalogue
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# GovOPlaN Services
|
||||
|
||||
<!-- govoplan-repository-type:start -->
|
||||
**Repository type:** module (domain).
|
||||
<!-- govoplan-repository-type:end -->
|
||||
|
||||
`govoplan-services` owns the institution's versioned service catalogue: the
|
||||
audience, prerequisites, evidence, legal bases, channels, responsibility,
|
||||
jurisdiction, forms, case/workflow/result bindings, remedies, service levels,
|
||||
publication state, and availability requirements of each service.
|
||||
|
||||
Portal presents services and Cases starts concrete matters, but both consume
|
||||
the same exact provider-owned definition through Core contracts. Neither module
|
||||
reads Services tables.
|
||||
|
||||
See [docs/SERVICES_DOMAIN.md](docs/SERVICES_DOMAIN.md).
|
||||
|
||||
## Runtime Bindings
|
||||
|
||||
Services stores bindings but does not execute them. Portal resolves the exact
|
||||
Service revision and delegates to the matching owner capability:
|
||||
|
||||
- `case`: a Cases-owned catalogue or intake reference;
|
||||
- `form`: an exact `<form-id>/<form-revision>` reference launched by Forms
|
||||
Runtime;
|
||||
- `workflow`: an exact Workflow Engine definition binding; and
|
||||
- `url` or `external`: a validated redirect target.
|
||||
|
||||
Consumers must retain the exact Service revision and binding. A missing owner
|
||||
launcher makes the Service unavailable; it must not fall back to an unrelated
|
||||
runtime.
|
||||
Reference in New Issue
Block a user