Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Control plane:
- [`schemas/sourceos.process-provenance.v0.1.schema.json`](schemas/sourceos.process-provenance.v0.1.schema.json)
- [`schemas/sourceos-event.schema.json`](schemas/sourceos-event.schema.json)
- [`schemas/sourceos-service.schema.json`](schemas/sourceos-service.schema.json)
- [`schemas/sourceos-capability.schema.json`](schemas/sourceos-capability.schema.json)
- [`schemas/sourceos-capability.schema.json`](schemas/sourceos-capability.schema.json) — **not runtime-enforced.** Shape-validated only (`tools/validate_json_schemas.py`, `tools/validate_control_plane_examples.py`); `default_decision`/`requires_user_consent`/`audit`/`privacy_impact` are declarative fields nothing in this daemon reads. Real capability gating lives in `src/sourceos_syncd/orchestration_events.py`'s `capability_id`/`effect_class`/`required_policy_outcome`/`approval_mode` model, which this schema does not connect to.
- [`schemas/sourceos-launch-manifest.schema.json`](schemas/sourceos-launch-manifest.schema.json)
- [`schemas/sourceos-incident.schema.json`](schemas/sourceos-incident.schema.json)

Expand Down
1 change: 1 addition & 0 deletions schemas/sourceos-capability.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://sourceos.dev/schemas/sourceos-capability.schema.json",
"title": "SourceOS Capability Definition",
"$comment": "NOT WIRED TO RUNTIME (verified 2026-08-04). `default_decision`, `requires_user_consent`, `audit`, and `privacy_impact` are declarative only: nothing in this daemon reads them to gate, prompt, or refuse anything. The two consumers that touch this file (tools/validate_json_schemas.py, tools/validate_control_plane_examples.py) check shape/schema_version only. The daemon's REAL capability-gating code is src/sourceos_syncd/orchestration_events.py, which uses a different record shape entirely (capability_id/effect_class/required_policy_outcome/approval_mode) with no connection to this schema. Before adding a fixture with requires_user_consent:true or wiring a reader here, decide: should this schema be unified into orchestration_events.py's real gate, or is it a forward-declared capability catalog that predates the gate it was meant to feed? (declared-unenforced register item #9, 2026-07-29 estate audit)",
"type": "object",
"required": [
"schema_version",
Expand Down
Loading