Sync Repo-docs-SERVICES-DOMAIN from project files
@@ -0,0 +1,37 @@
|
|||||||
|
<!-- codex-wiki-sync:16aa3e92b8a1087b48075056 -->
|
||||||
|
|
||||||
|
> Mirrored from `/mnt/DATA/git/govoplan-services/docs/SERVICES_DOMAIN.md`.
|
||||||
|
> Origin: `repository`.
|
||||||
|
> Active tasks and changing state belong in Gitea issues; this wiki page is durable project context.
|
||||||
|
|
||||||
|
---
|
||||||
|
# Services Domain
|
||||||
|
|
||||||
|
## Ownership
|
||||||
|
|
||||||
|
Services owns stable service identities, stable keys, and immutable definition
|
||||||
|
revisions. Portal owns public presentation and entry. Cases owns concrete case
|
||||||
|
lifecycles. Forms, Workflow, Mandates, Organizations, and Policy retain their
|
||||||
|
own definitions and are linked by exact versioned references.
|
||||||
|
|
||||||
|
## Publication And Availability
|
||||||
|
|
||||||
|
Publication and runtime availability are separate. Published definitions may
|
||||||
|
still be unavailable when a required module, capability, policy, mandate,
|
||||||
|
connector, maintenance state, or audience condition is not satisfied. The
|
||||||
|
provider reports what it can establish; consumers explain unknown requirements
|
||||||
|
instead of silently treating them as available.
|
||||||
|
|
||||||
|
Draft and retired definitions are excluded from the general provider catalogue.
|
||||||
|
Administration APIs retain their complete revision history.
|
||||||
|
|
||||||
|
## Revision And Recovery
|
||||||
|
|
||||||
|
Writes are replay-safe and use optimistic concurrency against the current
|
||||||
|
revision. Definitions are append-only; only the prior row's supersession marker
|
||||||
|
changes. The stable key cannot change across revisions or collide with another
|
||||||
|
current service in the tenant.
|
||||||
|
|
||||||
|
Database restore is the recovery unit. Consumers retain the exact service
|
||||||
|
reference and revision used for a case or publication, so restore and audit do
|
||||||
|
not depend on whatever definition happens to be current later.
|
||||||
Reference in New Issue
Block a user