attention-manifest-protocol 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,178 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://amp.dev/schema/0.1/epistemic.schema.json",
4
+ "title": "AMP epistemic objects (claim | hypothesis | unknown)",
5
+ "type": "object",
6
+ "oneOf": [
7
+ {
8
+ "type": "object",
9
+ "required": ["amp", "kind", "id", "statement", "tier", "status", "warrant", "provenance", "created"],
10
+ "properties": {
11
+ "amp": { "const": "0.1" },
12
+ "kind": { "const": "claim" },
13
+ "id": { "$ref": "common.schema.json#/$defs/id" },
14
+ "statement": { "type": "string", "minLength": 1 },
15
+ "structured": {
16
+ "type": "object",
17
+ "properties": {
18
+ "subject": { "$ref": "common.schema.json#/$defs/ref" },
19
+ "relation": { "type": "string" },
20
+ "value": {}
21
+ },
22
+ "additionalProperties": false
23
+ },
24
+ "claim_scope": { "type": "string", "enum": ["associational", "interventional", "counterfactual", "definitional"] },
25
+ "tier": { "$ref": "common.schema.json#/$defs/tier" },
26
+ "confidence": {
27
+ "description": "Derived by the Warrant Engine from tier + evidence. MUST NOT be authored by the model.",
28
+ "$ref": "common.schema.json#/$defs/confidence"
29
+ },
30
+ "status": { "type": "string", "enum": ["conjecture", "held", "doubted", "contested", "retracted"] },
31
+ "would_be_false_if": { "type": "string" },
32
+ "check_run_id": { "type": "string" },
33
+ "causal": {
34
+ "type": "object",
35
+ "required": ["assignment_mechanism"],
36
+ "properties": {
37
+ "assignment_mechanism": { "type": "string", "enum": ["observed", "assigned", "randomized", "natural_experiment"] },
38
+ "identification_strategy": { "type": "string" },
39
+ "identifying_assumption": { "type": "string" },
40
+ "adjustment_set": { "type": "array", "items": { "type": "string" } },
41
+ "dag_digest": { "$ref": "common.schema.json#/$defs/digest" }
42
+ },
43
+ "additionalProperties": false
44
+ },
45
+ "warrant": {
46
+ "type": "object",
47
+ "required": ["evidence", "inference", "strength"],
48
+ "properties": {
49
+ "evidence": {
50
+ "type": "array",
51
+ "items": {
52
+ "type": "object",
53
+ "required": ["id", "kind", "trust", "independence", "at"],
54
+ "properties": {
55
+ "id": { "$ref": "common.schema.json#/$defs/id" },
56
+ "kind": { "type": "string", "enum": ["observation", "test", "document", "testimony", "memory", "inference"] },
57
+ "trust": { "$ref": "common.schema.json#/$defs/trust" },
58
+ "independence": { "$ref": "common.schema.json#/$defs/confidence" },
59
+ "relation": { "type": "string", "enum": ["supports", "undercuts", "contradicts"] },
60
+ "entails": { "type": "boolean" },
61
+ "origin": { "type": "string" },
62
+ "ref": { "$ref": "common.schema.json#/$defs/ref" },
63
+ "excerpt": { "type": "string" },
64
+ "digest": { "$ref": "common.schema.json#/$defs/digest" },
65
+ "at": { "$ref": "common.schema.json#/$defs/ts" }
66
+ },
67
+ "additionalProperties": false
68
+ }
69
+ },
70
+ "inference": { "type": "string", "enum": ["observation", "deduction", "induction", "abduction", "testimony", "simulation"] },
71
+ "auxiliary_assumptions": { "type": "array", "items": { "type": "string" } },
72
+ "strength": { "$ref": "common.schema.json#/$defs/confidence" }
73
+ },
74
+ "additionalProperties": false
75
+ },
76
+ "alternatives": {
77
+ "type": "array",
78
+ "items": {
79
+ "type": "object",
80
+ "required": ["statement", "confidence"],
81
+ "properties": {
82
+ "statement": { "type": "string" },
83
+ "confidence": { "$ref": "common.schema.json#/$defs/confidence" },
84
+ "reason_rejected": { "type": "string" }
85
+ },
86
+ "additionalProperties": false
87
+ }
88
+ },
89
+ "disconfirming": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/ref" } },
90
+ "base_rate": {
91
+ "type": "object",
92
+ "required": ["value"],
93
+ "properties": {
94
+ "value": { "$ref": "common.schema.json#/$defs/confidence" },
95
+ "source": { "type": "string" }
96
+ },
97
+ "additionalProperties": false
98
+ },
99
+ "looks": { "type": "integer", "minimum": 0 },
100
+ "scope": { "type": "string" },
101
+ "provenance": { "$ref": "common.schema.json#/$defs/provenance" },
102
+ "created": { "$ref": "common.schema.json#/$defs/ts" },
103
+ "expires": { "$ref": "common.schema.json#/$defs/ts" },
104
+ "supersedes": { "$ref": "common.schema.json#/$defs/ref" },
105
+ "revision": {
106
+ "type": "object",
107
+ "required": ["reason", "at"],
108
+ "properties": {
109
+ "reason": { "type": "string" },
110
+ "at": { "$ref": "common.schema.json#/$defs/ts" }
111
+ },
112
+ "additionalProperties": false
113
+ }
114
+ },
115
+ "additionalProperties": false
116
+ },
117
+ {
118
+ "type": "object",
119
+ "required": ["amp", "kind", "id", "question", "statement", "prediction", "refutes_if", "status", "created"],
120
+ "properties": {
121
+ "amp": { "const": "0.1" },
122
+ "kind": { "const": "hypothesis" },
123
+ "id": { "$ref": "common.schema.json#/$defs/id" },
124
+ "question": { "$ref": "common.schema.json#/$defs/ref" },
125
+ "statement": { "type": "string", "minLength": 1 },
126
+ "prediction": { "type": "string", "minLength": 1 },
127
+ "refutes_if": { "type": "string", "minLength": 1 },
128
+ "auxiliary_assumptions": { "type": "array", "items": { "type": "string" } },
129
+ "prereg": {
130
+ "type": "object",
131
+ "required": ["hash", "registered_at", "metric", "stopping"],
132
+ "properties": {
133
+ "hash": { "$ref": "common.schema.json#/$defs/digest" },
134
+ "registered_at": { "$ref": "common.schema.json#/$defs/ts" },
135
+ "metric": { "type": "string" },
136
+ "stopping": { "type": "string" },
137
+ "exclusions": { "type": "array", "items": { "type": "string" } },
138
+ "looks": { "type": "integer", "minimum": 0 }
139
+ },
140
+ "additionalProperties": false
141
+ },
142
+ "test": {
143
+ "type": "object",
144
+ "required": ["method", "observation"],
145
+ "properties": {
146
+ "method": { "type": "string" },
147
+ "observation": { "type": "string" },
148
+ "cost": { "$ref": "common.schema.json#/$defs/budget" }
149
+ },
150
+ "additionalProperties": false
151
+ },
152
+ "labels": { "type": "array", "items": { "type": "string", "enum": ["confirmatory", "exploratory", "replication"] } },
153
+ "status": { "type": "string", "enum": ["proposed", "testing", "supported", "refuted", "inconclusive", "out_of_scope"] },
154
+ "evidence": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/ref" } },
155
+ "created": { "$ref": "common.schema.json#/$defs/ts" },
156
+ "closed": { "$ref": "common.schema.json#/$defs/ts" }
157
+ },
158
+ "additionalProperties": false
159
+ },
160
+ {
161
+ "type": "object",
162
+ "required": ["amp", "kind", "id", "question", "importance", "blocking", "since"],
163
+ "properties": {
164
+ "amp": { "const": "0.1" },
165
+ "kind": { "const": "unknown" },
166
+ "id": { "$ref": "common.schema.json#/$defs/id" },
167
+ "question": { "type": "string", "minLength": 1 },
168
+ "importance": { "$ref": "common.schema.json#/$defs/confidence" },
169
+ "blocking": { "type": "boolean" },
170
+ "since": { "$ref": "common.schema.json#/$defs/ts" },
171
+ "resolve_cost": { "$ref": "common.schema.json#/$defs/budget" },
172
+ "attempts": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/ref" } },
173
+ "status": { "type": "string", "enum": ["open", "probing", "assumed", "resolved", "abandoned"] }
174
+ },
175
+ "additionalProperties": false
176
+ }
177
+ ]
178
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://amp.dev/schema/0.1/federation.schema.json",
4
+ "title": "AMP federation objects (bundle | attestation)",
5
+ "type": "object",
6
+ "oneOf": [
7
+ {
8
+ "type": "object",
9
+ "required": ["amp", "kind", "manifest", "keys", "issued", "expires", "digest"],
10
+ "properties": {
11
+ "amp": { "const": "0.1" },
12
+ "kind": { "const": "bundle" },
13
+ "manifest": { "$ref": "manifest.schema.json" },
14
+ "keys": {
15
+ "type": "array",
16
+ "minItems": 1,
17
+ "items": {
18
+ "type": "object",
19
+ "required": ["kid", "alg", "publicKey"],
20
+ "properties": {
21
+ "kid": { "type": "string" },
22
+ "alg": { "const": "ed25519" },
23
+ "publicKey": { "type": "string" }
24
+ },
25
+ "additionalProperties": false
26
+ }
27
+ },
28
+ "revoked": { "type": "array", "items": { "type": "string" } },
29
+ "issued": { "$ref": "common.schema.json#/$defs/ts" },
30
+ "expires": { "$ref": "common.schema.json#/$defs/ts" },
31
+ "digest": { "$ref": "common.schema.json#/$defs/digest" },
32
+ "attestations": { "type": "array", "items": { "$ref": "#/oneOf/1" } }
33
+ },
34
+ "additionalProperties": false
35
+ },
36
+ {
37
+ "type": "object",
38
+ "required": ["amp", "kind", "id", "issuer", "subject", "scope", "issued", "expires", "signatures"],
39
+ "properties": {
40
+ "amp": { "const": "0.1" },
41
+ "kind": { "const": "attestation" },
42
+ "id": { "$ref": "common.schema.json#/$defs/id" },
43
+ "issuer": { "$ref": "common.schema.json#/$defs/ref" },
44
+ "subject": {
45
+ "type": "object",
46
+ "required": ["kind", "id", "digest"],
47
+ "properties": {
48
+ "kind": { "const": "manifest" },
49
+ "id": { "$ref": "common.schema.json#/$defs/id" },
50
+ "digest": { "$ref": "common.schema.json#/$defs/digest" }
51
+ },
52
+ "additionalProperties": false
53
+ },
54
+ "scope": { "type": "array", "minItems": 1, "items": { "type": "string" } },
55
+ "issued": { "$ref": "common.schema.json#/$defs/ts" },
56
+ "expires": { "$ref": "common.schema.json#/$defs/ts" },
57
+ "signatures": {
58
+ "type": "array",
59
+ "minItems": 1,
60
+ "items": { "$ref": "common.schema.json#/$defs/signature" }
61
+ }
62
+ },
63
+ "additionalProperties": false
64
+ }
65
+ ]
66
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://amp.dev/schema/0.1/frame.schema.json",
4
+ "title": "AMP Attention Frame",
5
+ "type": "object",
6
+ "required": ["amp", "kind", "id", "agent", "cycle", "ts", "digest", "mode", "slots", "budget"],
7
+ "properties": {
8
+ "amp": { "const": "0.1" },
9
+ "kind": { "const": "frame" },
10
+ "id": { "$ref": "common.schema.json#/$defs/id" },
11
+ "agent": { "$ref": "common.schema.json#/$defs/id" },
12
+ "cycle": { "type": "integer", "minimum": 0 },
13
+ "ts": { "$ref": "common.schema.json#/$defs/ts" },
14
+ "parent": { "$ref": "common.schema.json#/$defs/ref" },
15
+ "digest": { "$ref": "common.schema.json#/$defs/digest" },
16
+ "mode": { "type": "string", "enum": ["explore", "exploit", "triage", "reflect", "rest"] },
17
+ "goal": { "$ref": "common.schema.json#/$defs/ref" },
18
+ "slots": {
19
+ "type": "array",
20
+ "maxItems": 9,
21
+ "items": {
22
+ "type": "object",
23
+ "required": ["target", "role", "salience", "why", "cost", "state"],
24
+ "properties": {
25
+ "target": { "$ref": "common.schema.json#/$defs/ref" },
26
+ "role": {
27
+ "type": "string",
28
+ "enum": ["goal", "question", "evidence", "concept", "process", "tool", "memory", "self", "other", "threat", "artifact"]
29
+ },
30
+ "tier": { "$ref": "common.schema.json#/$defs/tier" },
31
+ "salience": { "$ref": "common.schema.json#/$defs/confidence" },
32
+ "voi": { "$ref": "common.schema.json#/$defs/confidence" },
33
+ "cost": { "$ref": "common.schema.json#/$defs/budget" },
34
+ "budget": { "$ref": "common.schema.json#/$defs/budget" },
35
+ "why": { "type": "string", "minLength": 1 },
36
+ "ttl_turns": { "type": "integer", "minimum": 0 },
37
+ "state": { "type": "string", "enum": ["active", "released", "evicted", "done"] }
38
+ },
39
+ "additionalProperties": false
40
+ }
41
+ },
42
+ "ignored": {
43
+ "type": "array",
44
+ "items": {
45
+ "type": "object",
46
+ "required": ["target", "reason", "revisit_if"],
47
+ "properties": {
48
+ "target": { "$ref": "common.schema.json#/$defs/ref" },
49
+ "reason": {
50
+ "type": "string",
51
+ "enum": ["low_voi", "out_of_scope", "untrusted", "budget", "blocked", "habituated", "deferred"]
52
+ },
53
+ "revisit_if": { "type": "string" }
54
+ },
55
+ "additionalProperties": false
56
+ }
57
+ },
58
+ "budget": {
59
+ "type": "object",
60
+ "required": ["allocated", "spent"],
61
+ "properties": {
62
+ "allocated": { "$ref": "common.schema.json#/$defs/budget" },
63
+ "spent": { "$ref": "common.schema.json#/$defs/usage" }
64
+ },
65
+ "additionalProperties": false
66
+ },
67
+ "open_questions": {
68
+ "type": "array",
69
+ "items": { "$ref": "common.schema.json#/$defs/ref" }
70
+ },
71
+ "impasse": {
72
+ "type": "object",
73
+ "required": ["state"],
74
+ "properties": {
75
+ "state": {
76
+ "type": "string",
77
+ "enum": ["TIE", "STUCK", "STALLED", "CONFLICT", "INFEASIBLE", "UNKNOWN", "UNVERIFIED", "DRIFT", "BUDGET"]
78
+ },
79
+ "detail": { "type": "string" }
80
+ },
81
+ "additionalProperties": false
82
+ },
83
+ "note": { "type": "string" }
84
+ },
85
+ "additionalProperties": false
86
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://amp.dev/schema/0.1/ledger-snapshot.schema.json",
4
+ "title": "AMP ledger snapshot (append-only hash chain)",
5
+ "type": "object",
6
+ "required": ["amp", "kind", "agent", "tip", "count", "entries"],
7
+ "properties": {
8
+ "amp": { "const": "0.1" },
9
+ "kind": { "const": "ledger-snapshot" },
10
+ "agent": { "$ref": "common.schema.json#/$defs/id" },
11
+ "tip": { "$ref": "common.schema.json#/$defs/digest" },
12
+ "count": { "type": "integer", "minimum": 0 },
13
+ "entries": {
14
+ "type": "array",
15
+ "items": {
16
+ "type": "object",
17
+ "required": ["seq", "kind", "payload", "prev", "hash"],
18
+ "properties": {
19
+ "seq": { "type": "integer", "minimum": 0 },
20
+ "kind": { "enum": ["event", "frame", "receipt", "claim", "hypothesis", "unknown", "goal", "plan"] },
21
+ "payload": { "type": "object" },
22
+ "prev": { "$ref": "common.schema.json#/$defs/digest" },
23
+ "hash": { "$ref": "common.schema.json#/$defs/digest" }
24
+ },
25
+ "additionalProperties": false
26
+ }
27
+ }
28
+ },
29
+ "additionalProperties": false
30
+ }
@@ -0,0 +1,169 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://amp.dev/schema/0.1/manifest.schema.json",
4
+ "title": "AMP Manifest",
5
+ "type": "object",
6
+ "required": [
7
+ "amp", "kind", "agent", "issued", "expires", "digest",
8
+ "capabilities", "attention", "self", "signatures"
9
+ ],
10
+ "properties": {
11
+ "amp": { "const": "0.1" },
12
+ "kind": { "const": "manifest" },
13
+ "agent": {
14
+ "type": "object",
15
+ "required": ["id"],
16
+ "properties": {
17
+ "id": { "$ref": "common.schema.json#/$defs/id" },
18
+ "name": { "type": "string" },
19
+ "version": { "type": "string" },
20
+ "role": { "type": "string" }
21
+ },
22
+ "additionalProperties": false
23
+ },
24
+ "issued": { "$ref": "common.schema.json#/$defs/ts" },
25
+ "expires": { "$ref": "common.schema.json#/$defs/ts" },
26
+ "digest": { "$ref": "common.schema.json#/$defs/digest" },
27
+ "identity": {
28
+ "type": "object",
29
+ "properties": {
30
+ "values": {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "object",
34
+ "required": ["id", "statement"],
35
+ "properties": {
36
+ "id": { "$ref": "common.schema.json#/$defs/id" },
37
+ "statement": { "type": "string" },
38
+ "weight": { "$ref": "common.schema.json#/$defs/confidence" }
39
+ },
40
+ "additionalProperties": false
41
+ }
42
+ },
43
+ "constraints": {
44
+ "type": "array",
45
+ "items": {
46
+ "type": "object",
47
+ "required": ["id", "statement"],
48
+ "properties": {
49
+ "id": { "$ref": "common.schema.json#/$defs/id" },
50
+ "statement": { "type": "string" },
51
+ "enforcement": { "type": "string", "enum": ["hard", "soft"] }
52
+ },
53
+ "additionalProperties": false
54
+ }
55
+ }
56
+ },
57
+ "additionalProperties": false
58
+ },
59
+ "capabilities": {
60
+ "type": "array",
61
+ "minItems": 1,
62
+ "items": {
63
+ "type": "object",
64
+ "required": ["id", "kind", "confidence", "tier"],
65
+ "properties": {
66
+ "id": { "$ref": "common.schema.json#/$defs/id" },
67
+ "label": { "type": "string" },
68
+ "kind": { "type": "string", "enum": ["tool", "skill", "knowledge", "perception", "action"] },
69
+ "confidence": { "$ref": "common.schema.json#/$defs/confidence" },
70
+ "tier": { "$ref": "common.schema.json#/$defs/tier" },
71
+ "cost": { "$ref": "common.schema.json#/$defs/budget" },
72
+ "limits": { "type": "array", "items": { "type": "string" } },
73
+ "evidence": { "type": "array", "items": { "$ref": "common.schema.json#/$defs/ref" } }
74
+ },
75
+ "additionalProperties": false
76
+ }
77
+ },
78
+ "concepts": {
79
+ "type": "array",
80
+ "items": { "$ref": "common.schema.json#/$defs/ref" }
81
+ },
82
+ "commitments": {
83
+ "type": "array",
84
+ "items": {
85
+ "type": "object",
86
+ "required": ["id", "to", "promise", "status"],
87
+ "properties": {
88
+ "id": { "$ref": "common.schema.json#/$defs/id" },
89
+ "to": { "$ref": "common.schema.json#/$defs/ref" },
90
+ "promise": { "type": "string" },
91
+ "due": { "$ref": "common.schema.json#/$defs/ts" },
92
+ "status": { "type": "string", "enum": ["open", "kept", "broken", "released"] },
93
+ "created": { "$ref": "common.schema.json#/$defs/ts" }
94
+ },
95
+ "additionalProperties": false
96
+ }
97
+ },
98
+ "unknowns": {
99
+ "type": "array",
100
+ "items": {
101
+ "type": "object",
102
+ "required": ["id", "question", "importance", "blocking"],
103
+ "properties": {
104
+ "id": { "$ref": "common.schema.json#/$defs/id" },
105
+ "question": { "type": "string" },
106
+ "importance": { "$ref": "common.schema.json#/$defs/confidence" },
107
+ "blocking": { "type": "boolean" },
108
+ "since": { "$ref": "common.schema.json#/$defs/ts" }
109
+ },
110
+ "additionalProperties": false
111
+ }
112
+ },
113
+ "attention": {
114
+ "type": "object",
115
+ "required": ["policy_digest", "budget"],
116
+ "properties": {
117
+ "policy_digest": { "$ref": "common.schema.json#/$defs/digest" },
118
+ "frame": { "$ref": "common.schema.json#/$defs/ref" },
119
+ "budget": { "$ref": "common.schema.json#/$defs/budget" }
120
+ },
121
+ "additionalProperties": false
122
+ },
123
+ "self": {
124
+ "type": "object",
125
+ "required": ["calibration"],
126
+ "properties": {
127
+ "calibration": {
128
+ "type": "object",
129
+ "required": ["ece"],
130
+ "properties": {
131
+ "ece": { "$ref": "common.schema.json#/$defs/confidence" },
132
+ "buckets": {
133
+ "type": "array",
134
+ "items": {
135
+ "type": "object",
136
+ "required": ["lo", "hi", "predicted", "observed", "n"],
137
+ "properties": {
138
+ "lo": { "type": "number" },
139
+ "hi": { "type": "number" },
140
+ "predicted": { "type": "number" },
141
+ "observed": { "type": "number" },
142
+ "n": { "type": "integer", "minimum": 0 }
143
+ },
144
+ "additionalProperties": false
145
+ }
146
+ }
147
+ },
148
+ "additionalProperties": false
149
+ },
150
+ "limits": { "type": "array", "items": { "type": "string" } },
151
+ "state": {
152
+ "type": "object",
153
+ "properties": {
154
+ "load": { "$ref": "common.schema.json#/$defs/confidence" },
155
+ "mode": { "type": "string", "enum": ["explore", "exploit", "triage", "reflect", "rest"] }
156
+ },
157
+ "additionalProperties": false
158
+ }
159
+ },
160
+ "additionalProperties": false
161
+ },
162
+ "signatures": {
163
+ "type": "array",
164
+ "minItems": 1,
165
+ "items": { "$ref": "common.schema.json#/$defs/signature" }
166
+ }
167
+ },
168
+ "additionalProperties": false
169
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://amp.dev/schema/0.1/message.schema.json",
4
+ "title": "AMP message envelope (A-surface)",
5
+ "description": "Seven performatives share one envelope. Payload fields are type-dependent; the closed error code enum lives in common.",
6
+ "type": "object",
7
+ "required": ["amp", "kind", "id", "type", "from", "to", "thread", "sent", "payload"],
8
+ "properties": {
9
+ "amp": { "const": "0.1" },
10
+ "kind": { "const": "message" },
11
+ "id": { "$ref": "common.schema.json#/$defs/id" },
12
+ "type": { "type": "string", "enum": ["inform", "request", "propose", "commit", "decline", "cancel", "release"] },
13
+ "from": { "$ref": "common.schema.json#/$defs/ref" },
14
+ "to": { "$ref": "common.schema.json#/$defs/ref" },
15
+ "thread": { "$ref": "common.schema.json#/$defs/id" },
16
+ "reply_to": { "$ref": "common.schema.json#/$defs/id" },
17
+ "sent": { "$ref": "common.schema.json#/$defs/ts" },
18
+ "ttl": { "type": "integer", "minimum": 0 },
19
+ "payload": {
20
+ "type": "object",
21
+ "properties": {
22
+ "claim": { "$ref": "common.schema.json#/$defs/ref" },
23
+ "warrant": { "$ref": "common.schema.json#/$defs/ref" },
24
+ "target": { "$ref": "common.schema.json#/$defs/ref" },
25
+ "class": { "type": "string", "enum": ["safety", "commitment", "opportunity", "curiosity"] },
26
+ "why_now": { "type": "string" },
27
+ "if_ignored": { "type": "string" },
28
+ "cost": { "$ref": "common.schema.json#/$defs/budget" },
29
+ "proposal": { "type": "string" },
30
+ "ref": { "$ref": "common.schema.json#/$defs/ref" },
31
+ "request": { "$ref": "common.schema.json#/$defs/id" },
32
+ "reason": { "type": "string" },
33
+ "code": { "type": "string", "enum": ["denied", "unavailable", "invalid", "expired", "conflict", "budget_exceeded", "unsupported", "internal"] },
34
+ "note": { "type": "string" }
35
+ },
36
+ "additionalProperties": false
37
+ },
38
+ "signature": { "$ref": "common.schema.json#/$defs/signature" }
39
+ },
40
+ "additionalProperties": false
41
+ }