Skip to content

Commit 71dc442

Browse files
committed
Add agent harness terminal receipts schema
1 parent 24427ac commit 71dc442

1 file changed

Lines changed: 78 additions & 0 deletions

File tree

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
{
2+
"$schema": "https://json-schema.org/draft/2020-12/schema",
3+
"$id": "https://sourceos.dev/schemas/turtleterm/agent-harness-terminal-receipts.schema.json",
4+
"title": "AgentHarnessTerminalReceipts",
5+
"type": "object",
6+
"additionalProperties": false,
7+
"required": ["schemaVersion", "kind", "terminalSessionReceipt", "commandReceipt", "mutationReceipt", "operatorApprovalReceipt"],
8+
"properties": {
9+
"schemaVersion": { "const": "v0.1" },
10+
"kind": { "const": "AgentHarnessTerminalReceipts" },
11+
"terminalSessionReceipt": {
12+
"type": "object",
13+
"additionalProperties": false,
14+
"required": ["sessionId", "actorRef", "workspaceRef", "shellProfile", "gatewayProfile", "policyAdmissionRef", "agentplaneRunRef", "environmentProfileHash"],
15+
"properties": {
16+
"sessionId": { "type": "string" },
17+
"actorRef": { "type": "string" },
18+
"workspaceRef": { "type": "string" },
19+
"shellProfile": { "type": "string" },
20+
"gatewayProfile": { "type": "string" },
21+
"policyAdmissionRef": { "type": "string" },
22+
"agentplaneRunRef": { "type": "string" },
23+
"muxPaneRefs": { "type": "array", "items": { "type": "string" } },
24+
"environmentProfileHash": { "type": "string" }
25+
}
26+
},
27+
"commandReceipt": {
28+
"type": "object",
29+
"additionalProperties": false,
30+
"required": ["commandId", "terminalSessionRef", "commandHash", "workingDirectory", "environmentProfileHash", "exitCode", "policyDecisionRef", "sideEffectClass", "replayEligible"],
31+
"properties": {
32+
"commandId": { "type": "string" },
33+
"terminalSessionRef": { "type": "string" },
34+
"commandHash": { "type": "string" },
35+
"workingDirectory": { "type": "string" },
36+
"environmentProfileHash": { "type": "string" },
37+
"stdoutPointerRef": { "type": "string" },
38+
"stderrPointerRef": { "type": "string" },
39+
"exitCode": { "type": "integer" },
40+
"policyDecisionRef": { "type": "string" },
41+
"sideEffectClass": { "type": "string", "enum": ["none", "workspace-write", "host-mutation", "secret-access", "network-service", "deployment"] },
42+
"replayEligible": { "type": "boolean" }
43+
}
44+
},
45+
"mutationReceipt": {
46+
"type": "object",
47+
"additionalProperties": false,
48+
"required": ["mutationId", "commandRef", "mutationClass", "targetScope", "mode", "policyDecisionRef", "mutatedHost"],
49+
"properties": {
50+
"mutationId": { "type": "string" },
51+
"commandRef": { "type": "string" },
52+
"mutationClass": { "type": "string" },
53+
"targetScope": { "type": "string" },
54+
"mode": { "type": "string", "enum": ["dry-run", "live"] },
55+
"policyDecisionRef": { "type": "string" },
56+
"humanControlEventRef": { "type": "string" },
57+
"rollbackRef": { "type": "string" },
58+
"mutatedHost": { "type": "boolean" },
59+
"deniedOperationRefs": { "type": "array", "items": { "type": "string" } }
60+
}
61+
},
62+
"operatorApprovalReceipt": {
63+
"type": "object",
64+
"additionalProperties": false,
65+
"required": ["approvalId", "actorRef", "subjectRef", "decision", "policyGateRef", "agentplaneRunRef", "deliveryExcellenceEventRef"],
66+
"properties": {
67+
"approvalId": { "type": "string" },
68+
"actorRef": { "type": "string" },
69+
"subjectRef": { "type": "string" },
70+
"decision": { "type": "string", "enum": ["approved", "rejected", "deferred", "accepted-risk", "revoked"] },
71+
"reason": { "type": "string" },
72+
"policyGateRef": { "type": "string" },
73+
"agentplaneRunRef": { "type": "string" },
74+
"deliveryExcellenceEventRef": { "type": "string" }
75+
}
76+
}
77+
}
78+
}

0 commit comments

Comments
 (0)