feat(reporting-governance): wire profile artifacts into contract and orchestrator
This commit is contained in:
@@ -10,6 +10,7 @@ Current purpose:
|
||||
- prepare the next implementation round for evaluator / decision-runner extraction
|
||||
- provide a minimal package-level policy evaluator and decision runner skeleton that can be verified in isolation
|
||||
- add one minimal package-owned deployment profile artifact / loader / binding contract slice that is executable in tests
|
||||
- let profile artifacts drive one real orchestrator adapter entrypoint instead of staying test-only
|
||||
|
||||
## Package skeleton
|
||||
|
||||
@@ -118,9 +119,6 @@ Practical migration rule:
|
||||
|
||||
- new integrations should always send a profile artifact or package version pin.
|
||||
- old integrations may temporarily call without one, but should treat returned notes as migration debt.
|
||||
|
||||
Practical migration rule:
|
||||
|
||||
- depend on package root exports or declared adapter subpaths only
|
||||
- do not couple runtime integrations to repo-private file paths
|
||||
- treat capability descriptors and schemas as package artifacts, but not as guaranteed JS import entrypoints unless exported later
|
||||
@@ -151,14 +149,17 @@ This round adds one small but real package artifact path:
|
||||
|
||||
- package artifact: `profiles/strict-manager-mode.profile.json`
|
||||
- loader: `src/storage/profile-artifact.mjs#loadDeploymentProfileArtifact(...)`
|
||||
- validator: `src/storage/profile-artifact.mjs#validateDeploymentProfileArtifact(...)`
|
||||
- binding contract: `src/storage/profile-artifact.mjs#createDeploymentBindingContract(...)`
|
||||
|
||||
What this slice does:
|
||||
|
||||
1. package ships a profile artifact snapshot under package boundary
|
||||
2. loader resolves that artifact from package-local path
|
||||
3. binding contract translates profile-declared script/artifact roots into concrete repo/runtime paths
|
||||
4. adapter runtime binding can be instantiated from that contract in tests
|
||||
3. validator fail-closes minimal boundary drift on `kind`, `apiVersion`, `spec.bindings.entrypoint`, `scripts`, `artifact_roots`, and `spec.package.pluginVersion`
|
||||
4. binding contract translates profile-declared script/artifact roots into concrete repo/runtime paths
|
||||
5. adapter runtime binding can be instantiated from that contract in tests
|
||||
6. orchestrator adapter can now bootstrap from package profile artifact input directly
|
||||
|
||||
What this slice does **not** claim yet:
|
||||
|
||||
@@ -169,14 +170,6 @@ What this slice does **not** claim yet:
|
||||
|
||||
It is intentionally the smallest verifiable step that proves package profile artifacts are executable inputs rather than documentation only.
|
||||
|
||||
## Current reference composition
|
||||
|
||||
The current reference composition is the OpenClaw watchdog chain:
|
||||
|
||||
```text
|
||||
watchdog -> queue -> dispatcher -> bridge -> sender binding -> acked|blocked|pending_external_send
|
||||
```
|
||||
|
||||
## Minimal evaluator / decision runner now included
|
||||
|
||||
The current package now includes a small but runnable `core/` implementation:
|
||||
@@ -195,6 +188,7 @@ Current package-core responsibilities:
|
||||
- convert a canonical decision into an execution plan, enforcement intent, and receipt skeleton
|
||||
- truthfully degrade unsupported enforcement paths based on the capability descriptor
|
||||
- provide one minimal contract path from `capability descriptor -> policy decision -> execution planning`
|
||||
- surface deployment binding metadata when caller passes a validated profile artifact
|
||||
|
||||
Still **runtime-adapter responsibility** at this stage:
|
||||
|
||||
@@ -213,13 +207,15 @@ This slice now has one small but testable contract path:
|
||||
1. capability descriptor advertises real enforcement support
|
||||
2. policy evaluator emits a canonical decision from event/evidence/context
|
||||
3. decision runner converts that decision into execution planning
|
||||
4. the result declares:
|
||||
4. validated profile artifact can supply deployment binding metadata
|
||||
5. orchestrator adapter can consume profile artifact bindings and run one real runtime layer
|
||||
6. the result declares:
|
||||
- adapter-dispatch actions required
|
||||
- package-core actions possible locally
|
||||
- blocked mandatory actions when capability support is missing
|
||||
- truthful delivery / receipt state
|
||||
|
||||
This is intentionally **planning-level end-to-end**, not full live inline interception.
|
||||
This is intentionally **planning-level end-to-end plus one adapter bootstrap layer**, not full live inline interception.
|
||||
It proves contract alignment without pretending all runtime enforcement is already extracted.
|
||||
|
||||
## Not yet included
|
||||
@@ -232,4 +228,4 @@ This package still does **not** claim full implementation of:
|
||||
- complete rewrite / placeholder / review / status-downgrade adapter execution
|
||||
- non-watchdog full runtime governance interception
|
||||
|
||||
It now provides the first package-mainline evaluator / decision-runner core, a compatibility-envelope boundary, and a minimal package profile artifact/binding slice, but the remaining enforcement surface is still intentionally honest about adapter gaps.
|
||||
It now provides the first package-mainline evaluator / decision-runner core, a compatibility-envelope boundary, a minimal package profile artifact/binding slice, and one profile-driven orchestrator path, but the remaining enforcement surface is still intentionally honest about adapter gaps.
|
||||
|
||||
Reference in New Issue
Block a user