mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-02 21:40:14 +00:00
docs(release-control): track governed proof assets
This commit is contained in:
parent
86caf03197
commit
35bae3e62b
67 changed files with 9603 additions and 4 deletions
206
docs/release-control/v6/internal/subsystems/registry.schema.json
Normal file
206
docs/release-control/v6/internal/subsystems/registry.schema.json
Normal file
|
|
@ -0,0 +1,206 @@
|
|||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://pulse.local/docs/release-control/v6/internal/subsystems/registry.schema.json",
|
||||
"title": "Pulse v6 Subsystem Registry Schema",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"version",
|
||||
"shared_ownerships",
|
||||
"subsystems"
|
||||
],
|
||||
"properties": {
|
||||
"version": {
|
||||
"type": "integer",
|
||||
"const": 12
|
||||
},
|
||||
"shared_ownerships": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/shared_ownership"
|
||||
}
|
||||
},
|
||||
"subsystems": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"$ref": "#/$defs/subsystem"
|
||||
}
|
||||
}
|
||||
},
|
||||
"$defs": {
|
||||
"subsystem": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"lane",
|
||||
"contract",
|
||||
"owned_prefixes",
|
||||
"owned_files",
|
||||
"verification"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"lane": {
|
||||
"type": "string",
|
||||
"pattern": "^L[0-9]+$"
|
||||
},
|
||||
"contract": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"owned_prefixes": {
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
},
|
||||
"owned_files": {
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
},
|
||||
"verification": {
|
||||
"$ref": "#/$defs/verification"
|
||||
}
|
||||
}
|
||||
},
|
||||
"verification": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"allow_same_subsystem_tests",
|
||||
"test_prefixes",
|
||||
"exact_files",
|
||||
"require_explicit_path_policy_coverage",
|
||||
"path_policies"
|
||||
],
|
||||
"properties": {
|
||||
"allow_same_subsystem_tests": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"test_prefixes": {
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
},
|
||||
"exact_files": {
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
},
|
||||
"require_explicit_path_policy_coverage": {
|
||||
"type": "boolean",
|
||||
"const": true
|
||||
},
|
||||
"path_policies": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/$defs/path_policy"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"path_policy": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"id",
|
||||
"label",
|
||||
"match_prefixes",
|
||||
"match_files",
|
||||
"allow_same_subsystem_tests",
|
||||
"test_prefixes",
|
||||
"exact_files"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"label": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"match_prefixes": {
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
},
|
||||
"match_files": {
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
},
|
||||
"allow_same_subsystem_tests": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"test_prefixes": {
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
},
|
||||
"exact_files": {
|
||||
"type": "array",
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"shared_ownership": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"path",
|
||||
"rationale",
|
||||
"subsystems"
|
||||
],
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"rationale": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
},
|
||||
"subsystems": {
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"type": "string",
|
||||
"minLength": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue