feat: add institutional governance and recovery contracts
This commit is contained in:
@@ -48,6 +48,35 @@ interface = how configured parts connect
|
||||
data = what the operator must provide for this deployment
|
||||
```
|
||||
|
||||
## Package Classes
|
||||
|
||||
The same signed package mechanism supports several explicitly named classes:
|
||||
|
||||
| Class | Purpose |
|
||||
| --- | --- |
|
||||
| `reference` | Prove a bounded journey, degraded states, recovery, and target-environment acceptance. |
|
||||
| `product` | Provide a reusable operating capability such as governed communication, service-to-decision, procurement/contracts, or governed BI. |
|
||||
| `sector` | Specialize terminology, forms, rules, process baselines, controls, reports, and integrations for an institutional sector without forking modules. |
|
||||
| `deployment` | Declare a supported infrastructure topology, operational assumptions, health gates, and recovery evidence. |
|
||||
| `integration` | Declare external systems, provider bindings, source-authority modes, maturity, required health, and reconciliation behavior. |
|
||||
|
||||
Package class is metadata and validation context, not additional authority. A
|
||||
sector package does not become a module and cannot write another module's
|
||||
tables. Packages may extend other packages only through versioned fragments and
|
||||
must preserve provenance and parent constraints.
|
||||
|
||||
The contract enforces class-specific evidence. Reference packages require
|
||||
target, recovery, security, operations, accessibility, privacy, and
|
||||
documentation evidence. Deployment and integration packages require their
|
||||
corresponding target/recovery/operations evidence, while integration packages
|
||||
also name provider authority and minimum-maturity expectations. Preflight
|
||||
blocks a missing, incompatible, or unhealthy provider. A derived package may
|
||||
tighten parent module, capability, and provider requirements but cannot remove
|
||||
or loosen them. Every non-documentation claim made by reference, deployment, or
|
||||
integration packages carries a `sha256:<digest>` binding. Repository checks
|
||||
recompute those hashes, while signed package verification protects the declared
|
||||
manifest during transport.
|
||||
|
||||
## Package Model
|
||||
|
||||
A configuration package should be a signed, portable manifest plus module-owned
|
||||
@@ -68,6 +97,9 @@ Required package metadata:
|
||||
- preflight checks and post-import health checks
|
||||
- migration or transformation rules for older package versions
|
||||
- provenance, export source metadata, and signature metadata
|
||||
- package class and optional parent package/version constraints
|
||||
- source-authority bindings and provider-operation expectations for every
|
||||
external integration used by the package
|
||||
|
||||
Portable configuration schemas follow `COMPATIBILITY_POLICY.md`: providers
|
||||
write only their current schema version and read that version plus the previous
|
||||
|
||||
Reference in New Issue
Block a user