feat: inventory schema 0.3 and close WP-0006 T01 T02 T04

v0.2 records stay valid. v0.3 requires the five facets. Validators
reject inline Scaleway endpoints and secret-looking strings. The
backup record is the first 0.3 object. Reef views already met T02.
This commit is contained in:
tegwick 2026-08-15 02:40:43 +02:00
parent a9830f3109
commit 34a014a896
8 changed files with 140 additions and 12 deletions

View file

@ -1,12 +1,24 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://coulomb.social/resource-control/resource-inventory.schema.json",
"title": "Railiance managed-infrastructure portfolio resource v0.2",
"title": "Railiance managed-infrastructure portfolio resource v0.2/v0.3",
"type": "object",
"additionalProperties": false,
"required": ["schema_version", "record_scope", "id", "resource_class", "status", "management_model", "provider", "service", "location", "capacity", "ownership", "cost", "lifecycle", "relationships", "requirements", "evidence"],
"if": {
"properties": {"schema_version": {"const": "0.3"}}
},
"then": {
"required": [
"schema_version", "record_scope", "id", "resource_class", "status",
"management_model", "provider", "service", "location", "capacity",
"ownership", "cost", "lifecycle", "relationships", "requirements",
"evidence", "description", "decision", "operational_refs",
"credential_handles", "consumers"
]
},
"properties": {
"schema_version": {"const": "0.2"},
"schema_version": {"enum": ["0.2", "0.3"]},
"record_scope": {"enum": ["inventory", "example"]},
"id": {"type": "string", "pattern": "^resource:[a-z0-9][a-z0-9:_-]+$"},
"financial_entity_id": {"type": ["string", "null"], "pattern": "^entity:[a-z0-9]+$"},