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
8 changes: 0 additions & 8 deletions examples/boot_release_set.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,6 @@
"boot_release_set_id": "urn:srcos:boot-release-set:m2-demo-recovery-2026-04-26",
"base_release_set_ref": "urn:srcos:release-set:m2-demo-2026-04-26",
"boot_mode": "recovery",
"status": "ready",
"artifacts": {
"kernel_ref": "urn:srcos:artifact:m2-demo-recovery-kernel-sha256-0f3b6d7f",
"initrd_ref": "urn:srcos:artifact:m2-demo-recovery-initrd-sha256-08f4c82e",
"rootfs_ref": "urn:srcos:artifact:m2-demo-recovery-rootfs-sha256-5f4dcc3b"
},
"created_at": "2026-04-26T14:30:00Z",
"notes": "SourceOS Recovery Environment for the M2 local-first demo. This models the nlboot-evolved recovery path: minimal boot artifacts, signed content-addressed refs, and linkage back to the assigned ReleaseSet."
"boot_channel": "rescue",
"status": "ready",
"platform_entrypoints": [
Expand Down
4 changes: 2 additions & 2 deletions schemas/control-plane/Fingerprint.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.srcos.ai/v2/control-plane/Fingerprint.json",
"title": "Fingerprint",
"description": "Canonical Fingerprint schema. Wrapper that preserves legacy identifier while providing a stable srcos namespace for new references.",
"description": "Canonical Fingerprint schema. Control-plane wrapper that delegates to the canonical v2 Fingerprint contract (camelCase envelope), keeping a stable srcos control-plane namespace.",
"allOf": [
{ "$ref": "./fingerprint.schema.json" }
{ "$ref": "../Fingerprint.json" }
]
}
4 changes: 2 additions & 2 deletions schemas/control-plane/ReleaseSet.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.srcos.ai/v2/control-plane/ReleaseSet.json",
"title": "ReleaseSet",
"description": "Canonical ReleaseSet schema. Wrapper that preserves legacy identifier while providing a stable srcos namespace for new references.",
"description": "Canonical ReleaseSet schema. Control-plane wrapper that delegates to the canonical v2 ReleaseSet contract (camelCase envelope), keeping a stable srcos control-plane namespace.",
"allOf": [
{ "$ref": "./release-set.schema.json" }
{ "$ref": "../ReleaseSet.json" }
]
}
4 changes: 3 additions & 1 deletion tools/validate_control_plane_examples.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ def validate_pair(schema_path: Path, example_path: Path) -> None:
schema = json.loads(schema_path.read_text(encoding="utf-8"))
jsonschema.validators.validator_for(schema).check_schema(schema)
legacy_ref = schema.get("allOf", [{}])[0].get("$ref")
validation_schema_path = schema_path.with_name(legacy_ref) if legacy_ref else schema_path
# The wrapper schema delegates validation to the legacy sibling schema it $refs
# (a relative path like "./release-set.schema.json"), so resolve it against the
# wrapper's directory. (Path.with_name rejects names containing "/".)
validation_schema_path = (schema_path.parent / legacy_ref).resolve() if legacy_ref else schema_path
validation_schema = json.loads(validation_schema_path.read_text(encoding="utf-8"))
example = json.loads(example_path.read_text(encoding="utf-8"))
Expand Down
Loading