63 lines
1.9 KiB
JSON
63 lines
1.9 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "VaultMesh Sentinel v1 Seal Bundle (seal.json)",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"format",
|
|
"sentinel_version",
|
|
"schema_version",
|
|
"hash_algo",
|
|
"canonicalization_version",
|
|
"seal_id",
|
|
"created_at",
|
|
"range",
|
|
"root",
|
|
"files"
|
|
],
|
|
"properties": {
|
|
"format": { "type": "string", "const": "vm-sentinel-seal-v1" },
|
|
"sentinel_version": { "type": "string" },
|
|
"schema_version": { "type": "string" },
|
|
"hash_algo": { "type": "string", "enum": ["blake3", "sha256"] },
|
|
"canonicalization_version": { "type": "string" },
|
|
"seal_id": { "type": "string" },
|
|
"created_at": { "type": "string", "format": "date-time" },
|
|
"instance_id": { "type": "string" },
|
|
"ledger_type": { "type": "string", "enum": ["sqlite", "jsonl"] },
|
|
"range": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["since_seq", "until_seq"],
|
|
"properties": {
|
|
"since_seq": { "type": "integer", "minimum": 0 },
|
|
"until_seq": { "type": "integer", "minimum": 0 },
|
|
"since_ts": { "type": "string" },
|
|
"until_ts": { "type": "string" }
|
|
}
|
|
},
|
|
"root": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["start", "end"],
|
|
"properties": {
|
|
"start": { "type": "string" },
|
|
"end": { "type": "string" },
|
|
"seq": { "type": "integer", "minimum": 0 }
|
|
}
|
|
},
|
|
"files": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["receipts", "roots", "integrity", "verifier_manifest"],
|
|
"properties": {
|
|
"receipts": { "type": "string" },
|
|
"roots": { "type": "string" },
|
|
"integrity": { "type": "string" },
|
|
"verifier_manifest": { "type": "string" }
|
|
}
|
|
},
|
|
"notes": { "type": "string" }
|
|
}
|
|
}
|