Skip to content

Commit 2c16acd

Browse files
committed
Replay MaintenanceEpoch schema on current main
1 parent d52c5fd commit 2c16acd

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

schemas/MaintenanceEpoch.json

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"$id": "https://schemas.srcos.ai/v2/MaintenanceEpoch.json",
4+
"title": "MaintenanceEpoch",
5+
"description": "A bounded record for background maintenance sweeps such as cleanup, cache deletion, indexing, backup, plugin scans, cloud purge, and experiment/config refresh.",
6+
"type": "object",
7+
"additionalProperties": false,
8+
"required": [
9+
"id",
10+
"type",
11+
"specVersion",
12+
"startedAt",
13+
"epochKind",
14+
"state",
15+
"sourceComponent",
16+
"allowedDuringInteractiveLaunch",
17+
"emissionBudget"
18+
],
19+
"properties": {
20+
"id": { "type": "string", "pattern": "^urn:srcos:maintenance-epoch:" },
21+
"type": { "const": "MaintenanceEpoch" },
22+
"specVersion": { "type": "string" },
23+
"startedAt": { "type": "string", "format": "date-time" },
24+
"endedAt": { "type": "string", "format": "date-time" },
25+
"epochKind": { "enum": ["cleanup", "cache-delete", "indexing", "backup", "plugin-scan", "cloud-purge", "experiment-refresh", "registry-sweep", "unknown"] },
26+
"state": { "enum": ["running", "completed", "failed", "degraded", "suppressed", "unknown"] },
27+
"sourceComponent": { "type": "string", "minLength": 1 },
28+
"allowedDuringInteractiveLaunch": { "type": "boolean" },
29+
"bootPhaseRequirement": { "enum": ["sealed-boot", "pre-login", "post-login-locked", "unlocked-user-session", "degraded-session", "recovery-session", "unknown"] },
30+
"lockRequirements": { "type": "array", "items": { "type": "string" } },
31+
"emissionBudget": {
32+
"type": "object",
33+
"additionalProperties": false,
34+
"required": ["maxEventsPerMinute", "onBudgetExceeded"],
35+
"properties": {
36+
"maxEventsPerMinute": { "type": "integer", "minimum": 1 },
37+
"onBudgetExceeded": { "enum": ["summarize", "suppress", "quarantine", "escalate", "unknown"] }
38+
}
39+
},
40+
"observedStormRefs": { "type": "array", "items": { "type": "string" } },
41+
"evidenceRefs": { "type": "array", "items": { "type": "string" } },
42+
"userVisibleSummary": { "type": "string" },
43+
"remediationHint": { "type": "string" }
44+
}
45+
}

0 commit comments

Comments
 (0)