38 lines
1.6 KiB
Markdown
38 lines
1.6 KiB
Markdown
# 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.
|
|
|
|
Services publishes `privacy.dsar.services` for minimized author attribution on
|
|
immutable service-definition revisions. The export excludes definition
|
|
payloads and catalogue search text. Services does not persist resident service
|
|
interactions: Portal retains no launch record, while Cases, Forms Runtime, or
|
|
Workflow Engine owns the concrete effect selected by a service binding.
|
|
|
|
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.
|