@openwop/spec-artifacts 2.0.0-rc.0

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.
Files changed (229) hide show
  1. package/CORPUS-STAMP.json +234 -0
  2. package/LICENSE +201 -0
  3. package/README.md +7 -0
  4. package/api/.redocly.lint-ignore.yaml +22 -0
  5. package/api/asyncapi.yaml +834 -0
  6. package/api/grpc/openwop.proto +251 -0
  7. package/api/openapi.yaml +2693 -0
  8. package/api/redocly.yaml +23 -0
  9. package/api/seams-v2.yaml +680 -0
  10. package/api/v2/asyncapi.yaml +528 -0
  11. package/api/v2/openapi.yaml +3139 -0
  12. package/api/v2/redocly.yaml +16 -0
  13. package/package.json +10 -0
  14. package/schemas/README.md +144 -0
  15. package/schemas/a2a-task-state.schema.json +78 -0
  16. package/schemas/a2ui-surface-delta-frame.schema.json +48 -0
  17. package/schemas/agent-deployment-transition.schema.json +49 -0
  18. package/schemas/agent-deployment.schema.json +54 -0
  19. package/schemas/agent-eval-suite.schema.json +140 -0
  20. package/schemas/agent-inventory-response.schema.json +115 -0
  21. package/schemas/agent-manifest.schema.json +156 -0
  22. package/schemas/agent-org-chart.schema.json +82 -0
  23. package/schemas/agent-ref.schema.json +63 -0
  24. package/schemas/agent-roster-entry.schema.json +81 -0
  25. package/schemas/agent-roster-response.schema.json +21 -0
  26. package/schemas/ai-envelope.schema.json +134 -0
  27. package/schemas/annotation-create.schema.json +37 -0
  28. package/schemas/annotation.schema.json +56 -0
  29. package/schemas/artifact-type-pack-manifest.schema.json +244 -0
  30. package/schemas/audit-verify-result.schema.json +90 -0
  31. package/schemas/budget-policy.schema.json +18 -0
  32. package/schemas/capabilities.schema.json +4160 -0
  33. package/schemas/certification-bundle-v2.schema.json +118 -0
  34. package/schemas/channel-presence-payload.schema.json +41 -0
  35. package/schemas/channel-written-payload.schema.json +55 -0
  36. package/schemas/chat-card-pack-manifest.schema.json +253 -0
  37. package/schemas/compact-tool-descriptor.schema.json +51 -0
  38. package/schemas/compensation-policy.schema.json +64 -0
  39. package/schemas/conformance-certification-bundle.schema.json +86 -0
  40. package/schemas/connection-pack-manifest.schema.json +353 -0
  41. package/schemas/conversation-event.schema.json +168 -0
  42. package/schemas/conversation-turn.schema.json +117 -0
  43. package/schemas/core-conformance-mock-agent-config.schema.json +152 -0
  44. package/schemas/credential-provenance.schema.json +18 -0
  45. package/schemas/credential-reference.schema.json +21 -0
  46. package/schemas/debug-bundle.schema.json +196 -0
  47. package/schemas/dispatch-config.schema.json +112 -0
  48. package/schemas/envelopes/clarification.request.schema.json +52 -0
  49. package/schemas/envelopes/error.schema.json +30 -0
  50. package/schemas/envelopes/media.audio.schema.json +38 -0
  51. package/schemas/envelopes/media.file.schema.json +37 -0
  52. package/schemas/envelopes/media.image.schema.json +33 -0
  53. package/schemas/envelopes/schema.request.schema.json +26 -0
  54. package/schemas/envelopes/schema.response.schema.json +22 -0
  55. package/schemas/envelopes/ui.a2ui-surface.schema.json +154 -0
  56. package/schemas/error-envelope.schema.json +25 -0
  57. package/schemas/eval-summary.schema.json +92 -0
  58. package/schemas/export-bundle.schema.json +66 -0
  59. package/schemas/form-content-pack-manifest.schema.json +243 -0
  60. package/schemas/frontend-plugin-manifest.schema.json +109 -0
  61. package/schemas/goal.schema.json +104 -0
  62. package/schemas/heartbeat-evaluated.schema.json +14 -0
  63. package/schemas/heartbeat-state-changed.schema.json +14 -0
  64. package/schemas/localized-content-language-settings.schema.json +26 -0
  65. package/schemas/localized-content-page-response.schema.json +60 -0
  66. package/schemas/localized-content-page.schema.json +62 -0
  67. package/schemas/localized-content-section.schema.json +51 -0
  68. package/schemas/memory-entry.schema.json +36 -0
  69. package/schemas/memory-list-options.schema.json +37 -0
  70. package/schemas/node-pack-manifest.schema.json +654 -0
  71. package/schemas/orchestrator-decision.schema.json +90 -0
  72. package/schemas/org-chart-responsibility-view.schema.json +26 -0
  73. package/schemas/pack-lockfile.schema.json +108 -0
  74. package/schemas/prompt-kind.schema.json +8 -0
  75. package/schemas/prompt-pack-manifest.schema.json +117 -0
  76. package/schemas/prompt-ref.schema.json +40 -0
  77. package/schemas/prompt-template.schema.json +149 -0
  78. package/schemas/proposal.schema.json +84 -0
  79. package/schemas/registry-version-manifest.schema.json +208 -0
  80. package/schemas/residency.schema.json +16 -0
  81. package/schemas/run-ancestry-response.schema.json +54 -0
  82. package/schemas/run-diff-response.schema.json +64 -0
  83. package/schemas/run-event-payloads.schema.json +4452 -0
  84. package/schemas/run-event.schema.json +211 -0
  85. package/schemas/run-options.schema.json +80 -0
  86. package/schemas/run-orchestrator-decided-event.schema.json +20 -0
  87. package/schemas/run-snapshot.schema.json +148 -0
  88. package/schemas/security-advisory.schema.json +109 -0
  89. package/schemas/self-hosted-runner-dispatch-frame.schema.json +79 -0
  90. package/schemas/self-hosted-runner-registration.schema.json +53 -0
  91. package/schemas/self-hosted-runner-result-frame.schema.json +38 -0
  92. package/schemas/subject.schema.json +56 -0
  93. package/schemas/suspend-request.schema.json +207 -0
  94. package/schemas/tool-descriptor.schema.json +63 -0
  95. package/schemas/trigger-event.schema.json +222 -0
  96. package/schemas/trigger-subscription-registration.schema.json +67 -0
  97. package/schemas/trigger-subscription.schema.json +26 -0
  98. package/schemas/ui-plugin-message.schema.json +90 -0
  99. package/schemas/v2/a2a-task-state.schema.json +102 -0
  100. package/schemas/v2/a2ui-surface-delta-frame.schema.json +62 -0
  101. package/schemas/v2/agent-deployment-transition.schema.json +67 -0
  102. package/schemas/v2/agent-deployment.schema.json +68 -0
  103. package/schemas/v2/agent-eval-suite.schema.json +214 -0
  104. package/schemas/v2/agent-inventory-response.schema.json +172 -0
  105. package/schemas/v2/agent-manifest.schema.json +218 -0
  106. package/schemas/v2/agent-org-chart.schema.json +149 -0
  107. package/schemas/v2/agent-ref.schema.json +67 -0
  108. package/schemas/v2/agent-roster-entry.schema.json +104 -0
  109. package/schemas/v2/agent-roster-response.schema.json +27 -0
  110. package/schemas/v2/ai-envelope.schema.json +167 -0
  111. package/schemas/v2/annotation-create.schema.json +109 -0
  112. package/schemas/v2/annotation.schema.json +142 -0
  113. package/schemas/v2/artifact-type-pack-manifest.schema.json +245 -0
  114. package/schemas/v2/audit-verify-result.schema.json +110 -0
  115. package/schemas/v2/budget-policy.schema.json +61 -0
  116. package/schemas/v2/capabilities.schema.json +7644 -0
  117. package/schemas/v2/certification-bundle.schema.json +401 -0
  118. package/schemas/v2/channel-presence-payload.schema.json +60 -0
  119. package/schemas/v2/channel-written-payload.schema.json +64 -0
  120. package/schemas/v2/chat-card-pack-manifest.schema.json +254 -0
  121. package/schemas/v2/compact-tool-descriptor.schema.json +108 -0
  122. package/schemas/v2/compensation-policy.schema.json +91 -0
  123. package/schemas/v2/compensation-projection.schema.json +95 -0
  124. package/schemas/v2/configurable.schema.json +110 -0
  125. package/schemas/v2/connection-pack-manifest.schema.json +354 -0
  126. package/schemas/v2/conversation-event.schema.json +281 -0
  127. package/schemas/v2/conversation-turn.schema.json +165 -0
  128. package/schemas/v2/credential-provenance.schema.json +62 -0
  129. package/schemas/v2/credential-reference.schema.json +28 -0
  130. package/schemas/v2/debug-bundle.schema.json +312 -0
  131. package/schemas/v2/dispatch-config.schema.json +147 -0
  132. package/schemas/v2/effect-ledger-projection.schema.json +71 -0
  133. package/schemas/v2/effect-seam-manifest.schema.json +98 -0
  134. package/schemas/v2/envelopes/clarification.request.schema.json +59 -0
  135. package/schemas/v2/envelopes/error.schema.json +35 -0
  136. package/schemas/v2/envelopes/media.audio.schema.json +41 -0
  137. package/schemas/v2/envelopes/media.file.schema.json +40 -0
  138. package/schemas/v2/envelopes/media.image.schema.json +36 -0
  139. package/schemas/v2/envelopes/schema.request.schema.json +29 -0
  140. package/schemas/v2/envelopes/schema.response.schema.json +26 -0
  141. package/schemas/v2/envelopes/ui.a2ui-surface.schema.json +292 -0
  142. package/schemas/v2/error-envelope.schema.json +229 -0
  143. package/schemas/v2/eval-summary.schema.json +166 -0
  144. package/schemas/v2/export-bundle.schema.json +94 -0
  145. package/schemas/v2/form-content-pack-manifest.schema.json +241 -0
  146. package/schemas/v2/frontend-plugin-manifest.schema.json +152 -0
  147. package/schemas/v2/goal.schema.json +188 -0
  148. package/schemas/v2/heartbeat-evaluated.schema.json +34 -0
  149. package/schemas/v2/heartbeat-state-changed.schema.json +31 -0
  150. package/schemas/v2/ids.schema.json +31 -0
  151. package/schemas/v2/localized-content-language-settings.schema.json +34 -0
  152. package/schemas/v2/localized-content-page-response.schema.json +94 -0
  153. package/schemas/v2/localized-content-page.schema.json +87 -0
  154. package/schemas/v2/localized-content-section.schema.json +63 -0
  155. package/schemas/v2/memory-entry.schema.json +45 -0
  156. package/schemas/v2/memory-list-options.schema.json +41 -0
  157. package/schemas/v2/node-pack-manifest.schema.json +657 -0
  158. package/schemas/v2/orchestrator-decision.schema.json +120 -0
  159. package/schemas/v2/org-chart-responsibility-view.schema.json +36 -0
  160. package/schemas/v2/pack-lockfile.schema.json +139 -0
  161. package/schemas/v2/prompt-kind.schema.json +14 -0
  162. package/schemas/v2/prompt-pack-manifest.schema.json +118 -0
  163. package/schemas/v2/prompt-ref.schema.json +42 -0
  164. package/schemas/v2/prompt-template.schema.json +209 -0
  165. package/schemas/v2/proposal.schema.json +145 -0
  166. package/schemas/v2/registry-version-manifest.schema.json +292 -0
  167. package/schemas/v2/residency.schema.json +19 -0
  168. package/schemas/v2/run-ancestry-response.schema.json +68 -0
  169. package/schemas/v2/run-diff-response.schema.json +80 -0
  170. package/schemas/v2/run-event-payloads.schema.json +4588 -0
  171. package/schemas/v2/run-event.schema.json +324 -0
  172. package/schemas/v2/run-options.schema.json +90 -0
  173. package/schemas/v2/run-orchestrator-decided-event.schema.json +22 -0
  174. package/schemas/v2/run-snapshot.schema.json +207 -0
  175. package/schemas/v2/security-advisory.schema.json +138 -0
  176. package/schemas/v2/self-hosted-runner-dispatch-frame.schema.json +119 -0
  177. package/schemas/v2/self-hosted-runner-registration.schema.json +74 -0
  178. package/schemas/v2/self-hosted-runner-result-frame.schema.json +47 -0
  179. package/schemas/v2/subject-link.schema.json +69 -0
  180. package/schemas/v2/subject.schema.json +597 -0
  181. package/schemas/v2/suspend-request.schema.json +370 -0
  182. package/schemas/v2/tool-descriptor.schema.json +150 -0
  183. package/schemas/v2/trigger-event.schema.json +508 -0
  184. package/schemas/v2/trigger-subscription-registration.schema.json +99 -0
  185. package/schemas/v2/trigger-subscription.schema.json +79 -0
  186. package/schemas/v2/ui-plugin-message.schema.json +149 -0
  187. package/schemas/v2/workflow-chain-pack-manifest.schema.json +610 -0
  188. package/schemas/v2/workflow-definition.schema.json +864 -0
  189. package/schemas/v2/workload-identity.schema.json +115 -0
  190. package/schemas/v2/workspace-file-create.schema.json +23 -0
  191. package/schemas/v2/workspace-file.schema.json +45 -0
  192. package/schemas/workflow-chain-pack-manifest.schema.json +615 -0
  193. package/schemas/workflow-definition.schema.json +850 -0
  194. package/schemas/workload-identity.schema.json +79 -0
  195. package/schemas/workspace-file-create.schema.json +20 -0
  196. package/schemas/workspace-file.schema.json +39 -0
  197. package/spec/v1/alias-detectors.json +283 -0
  198. package/spec/v1/capability-declaration-classes.json +176 -0
  199. package/spec/v1/core-standard-manifest.json +423 -0
  200. package/spec/v1/deprecations.json +854 -0
  201. package/spec/v1/deprecations.schema.json +187 -0
  202. package/spec/v1/event-codemap.json +1089 -0
  203. package/spec/v1/event-codemap.schema.json +41 -0
  204. package/spec/v1/extensions.json +1273 -0
  205. package/spec/v1/gaps.json +14581 -0
  206. package/spec/v1/gaps.schema.json +55 -0
  207. package/spec/v1/migrations.json +1822 -0
  208. package/spec/v1/migrations.schema.json +44 -0
  209. package/spec/v1/operation-path-manifest.json +462 -0
  210. package/spec/v1/spec-gaps.json +4823 -0
  211. package/spec/v2/declaration.json +1862 -0
  212. package/spec/v2/declaration.schema.json +305 -0
  213. package/spec/v2/errors.json +837 -0
  214. package/spec/v2/event-codemap.json +1099 -0
  215. package/spec/v2/event-codemap.schema.json +114 -0
  216. package/spec/v2/ext/provider-idempotency/registry.json +6 -0
  217. package/spec/v2/facets/a2a.schema.json +51 -0
  218. package/spec/v2/facets/aiProviders.schema.json +56 -0
  219. package/spec/v2/facets/auth.schema.json +91 -0
  220. package/spec/v2/facets/heartbeat.schema.json +20 -0
  221. package/spec/v2/facets/interrupt.schema.json +29 -0
  222. package/spec/v2/facets/mcp.schema.json +81 -0
  223. package/spec/v2/facets/replay.schema.json +34 -0
  224. package/spec/v2/facets/sandbox.schema.json +31 -0
  225. package/spec/v2/facets/webhooks.schema.json +18 -0
  226. package/spec/v2/path-manifest.json +279 -0
  227. package/spec/v2/peer-dependency-aliases.json +165 -0
  228. package/spec/v2/profiles.json +45 -0
  229. package/spec/v2/release.json +6 -0
@@ -0,0 +1,1099 @@
1
+ {
2
+ "$schema": "./event-codemap.schema.json",
3
+ "$comment": "GENERATED by scripts/generate-event-codemap.mjs from schemas/run-event.schema.json + run-event-payloads.schema.json. v2 names are MECHANICAL PROPOSALS (v2 charter C.4 naming rule: domain.verb-ed, kebab, two segments, no reserved core. prefix); `review: true` marks rows needing a semantic decision. Hand fields v2Override / note / status survive regeneration. No consumer reads this in v1.x; the v2 C.4 child RFC edits it and every host backfills from it. v2 copy (RFC 0176 §A.1): every row decided; shipped in @openwop/spec-artifacts.",
4
+ "version": "2.0",
5
+ "updated": "2026-09-03",
6
+ "grammar": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
7
+ "counts": {
8
+ "rows": 118,
9
+ "review": 0,
10
+ "overridden": 20,
11
+ "renamed": 36
12
+ },
13
+ "rows": [
14
+ {
15
+ "v1": "run.started",
16
+ "v2": "run.started",
17
+ "payloadDef": "runStarted",
18
+ "status": "decided",
19
+ "review": false,
20
+ "notes": []
21
+ },
22
+ {
23
+ "v1": "run.completed",
24
+ "v2": "run.completed",
25
+ "payloadDef": "runCompleted",
26
+ "status": "decided",
27
+ "review": false,
28
+ "notes": []
29
+ },
30
+ {
31
+ "v1": "run.failed",
32
+ "v2": "run.failed",
33
+ "payloadDef": "runFailed",
34
+ "status": "decided",
35
+ "review": false,
36
+ "notes": []
37
+ },
38
+ {
39
+ "v1": "run.cancelled",
40
+ "v2": "run.cancelled",
41
+ "payloadDef": "runCancelled",
42
+ "status": "decided",
43
+ "review": false,
44
+ "notes": []
45
+ },
46
+ {
47
+ "v1": "run.resuming",
48
+ "v2": "run.resume-started",
49
+ "v2Override": "run.resume-started",
50
+ "payloadDef": "runResuming",
51
+ "status": "decided",
52
+ "review": false,
53
+ "notes": [
54
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
55
+ ],
56
+ "note": "state descriptor → transition (RFC 0171 §A.2)"
57
+ },
58
+ {
59
+ "v1": "run.paused",
60
+ "v2": "run.paused",
61
+ "payloadDef": "runPaused",
62
+ "status": "decided",
63
+ "review": false,
64
+ "notes": []
65
+ },
66
+ {
67
+ "v1": "run.resumed",
68
+ "v2": "run.resumed",
69
+ "payloadDef": "runResumed",
70
+ "status": "decided",
71
+ "review": false,
72
+ "notes": []
73
+ },
74
+ {
75
+ "v1": "run.restored-from-snapshot",
76
+ "v2": "run.restored-from-snapshot",
77
+ "payloadDef": "runRestoredFromSnapshot",
78
+ "status": "decided",
79
+ "review": false,
80
+ "notes": []
81
+ },
82
+ {
83
+ "v1": "run.dead_lettered",
84
+ "v2": "run.dead-lettered",
85
+ "payloadDef": "runDeadLettered",
86
+ "status": "decided",
87
+ "review": false,
88
+ "notes": [
89
+ "case/separator normalised"
90
+ ]
91
+ },
92
+ {
93
+ "v1": "node.started",
94
+ "v2": "node.started",
95
+ "payloadDef": "nodeStarted",
96
+ "status": "decided",
97
+ "review": false,
98
+ "notes": []
99
+ },
100
+ {
101
+ "v1": "node.completed",
102
+ "v2": "node.completed",
103
+ "payloadDef": "nodeCompleted",
104
+ "status": "decided",
105
+ "review": false,
106
+ "notes": []
107
+ },
108
+ {
109
+ "v1": "node.failed",
110
+ "v2": "node.failed",
111
+ "payloadDef": "nodeFailed",
112
+ "status": "decided",
113
+ "review": false,
114
+ "notes": []
115
+ },
116
+ {
117
+ "v1": "node.suspended",
118
+ "v2": "node.suspended",
119
+ "payloadDef": "nodeSuspended",
120
+ "status": "decided",
121
+ "review": false,
122
+ "notes": []
123
+ },
124
+ {
125
+ "v1": "node.suspend-failed",
126
+ "v2": "node.suspend-failed",
127
+ "payloadDef": "nodeSuspendFailed",
128
+ "status": "decided",
129
+ "review": false,
130
+ "notes": []
131
+ },
132
+ {
133
+ "v1": "node.resumed",
134
+ "v2": "node.resumed",
135
+ "payloadDef": "nodeResumed",
136
+ "status": "decided",
137
+ "review": false,
138
+ "notes": []
139
+ },
140
+ {
141
+ "v1": "node.retried",
142
+ "v2": "node.retried",
143
+ "payloadDef": "nodeRetried",
144
+ "status": "decided",
145
+ "review": false,
146
+ "notes": []
147
+ },
148
+ {
149
+ "v1": "node.skipped",
150
+ "v2": "node.skipped",
151
+ "payloadDef": "nodeSkipped",
152
+ "status": "decided",
153
+ "review": false,
154
+ "notes": []
155
+ },
156
+ {
157
+ "v1": "node.cancelled",
158
+ "v2": "node.cancelled",
159
+ "payloadDef": "nodeCancelled",
160
+ "status": "decided",
161
+ "review": false,
162
+ "notes": []
163
+ },
164
+ {
165
+ "v1": "approval.requested",
166
+ "v2": "approval.requested",
167
+ "payloadDef": "approvalRequested",
168
+ "status": "decided",
169
+ "review": false,
170
+ "notes": []
171
+ },
172
+ {
173
+ "v1": "approval.received",
174
+ "v2": "approval.received",
175
+ "payloadDef": "approvalReceived",
176
+ "status": "decided",
177
+ "review": false,
178
+ "notes": []
179
+ },
180
+ {
181
+ "v1": "approval.granted",
182
+ "v2": "approval.granted",
183
+ "payloadDef": "approvalGranted",
184
+ "status": "decided",
185
+ "review": false,
186
+ "notes": []
187
+ },
188
+ {
189
+ "v1": "approval.rejected",
190
+ "v2": "approval.rejected",
191
+ "payloadDef": "approvalRejected",
192
+ "status": "decided",
193
+ "review": false,
194
+ "notes": []
195
+ },
196
+ {
197
+ "v1": "approval.overridden",
198
+ "v2": "approval.overridden",
199
+ "payloadDef": "approvalOverridden",
200
+ "status": "decided",
201
+ "review": false,
202
+ "notes": []
203
+ },
204
+ {
205
+ "v1": "clarification.requested",
206
+ "v2": "clarification.requested",
207
+ "payloadDef": "clarificationRequested",
208
+ "status": "decided",
209
+ "review": false,
210
+ "notes": []
211
+ },
212
+ {
213
+ "v1": "clarification.resolved",
214
+ "v2": "clarification.resolved",
215
+ "payloadDef": "clarificationResolved",
216
+ "status": "decided",
217
+ "review": false,
218
+ "notes": []
219
+ },
220
+ {
221
+ "v1": "interrupt.requested",
222
+ "v2": "interrupt.requested",
223
+ "payloadDef": "interruptRequested",
224
+ "status": "decided",
225
+ "review": false,
226
+ "notes": []
227
+ },
228
+ {
229
+ "v1": "interrupt.resolved",
230
+ "v2": "interrupt.resolved",
231
+ "payloadDef": "interruptResolved",
232
+ "status": "decided",
233
+ "review": false,
234
+ "notes": []
235
+ },
236
+ {
237
+ "v1": "channel.written",
238
+ "v2": "channel.written",
239
+ "payloadDef": "channelWritten",
240
+ "status": "decided",
241
+ "review": false,
242
+ "notes": []
243
+ },
244
+ {
245
+ "v1": "channel.presence",
246
+ "v2": "channel.presence",
247
+ "v2Override": "channel.presence",
248
+ "payloadDef": "channelPresence",
249
+ "status": "decided",
250
+ "review": false,
251
+ "notes": [
252
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
253
+ ],
254
+ "note": "artifact event; noun form permitted (RFC 0171 §A.2 exception list)"
255
+ },
256
+ {
257
+ "v1": "context.summarized",
258
+ "v2": "context.summarized",
259
+ "payloadDef": "contextSummarized",
260
+ "status": "decided",
261
+ "review": false,
262
+ "notes": []
263
+ },
264
+ {
265
+ "v1": "artifact.created",
266
+ "v2": "artifact.created",
267
+ "payloadDef": "artifactCreated",
268
+ "status": "decided",
269
+ "review": false,
270
+ "notes": []
271
+ },
272
+ {
273
+ "v1": "output.chunk",
274
+ "v2": "output.chunk",
275
+ "v2Override": "output.chunk",
276
+ "payloadDef": "outputChunk",
277
+ "status": "decided",
278
+ "review": false,
279
+ "notes": [
280
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
281
+ ],
282
+ "note": "artifact event; noun form permitted"
283
+ },
284
+ {
285
+ "v1": "variable.changed",
286
+ "v2": "variable.changed",
287
+ "payloadDef": "variableChanged",
288
+ "status": "decided",
289
+ "review": false,
290
+ "notes": []
291
+ },
292
+ {
293
+ "v1": "log.appended",
294
+ "v2": "log.appended",
295
+ "payloadDef": "logAppended",
296
+ "status": "decided",
297
+ "review": false,
298
+ "notes": []
299
+ },
300
+ {
301
+ "v1": "version.pinned",
302
+ "v2": "version.pinned",
303
+ "payloadDef": "versionPinned",
304
+ "status": "decided",
305
+ "review": false,
306
+ "notes": []
307
+ },
308
+ {
309
+ "v1": "workflow.restored",
310
+ "v2": "workflow.restored",
311
+ "payloadDef": "workflowRestored",
312
+ "status": "decided",
313
+ "review": false,
314
+ "notes": []
315
+ },
316
+ {
317
+ "v1": "workflow.loopback-limit",
318
+ "v2": "workflow.loopback-limit",
319
+ "payloadDef": "workflowLoopbackLimit",
320
+ "status": "decided",
321
+ "review": false,
322
+ "notes": []
323
+ },
324
+ {
325
+ "v1": "workflow.stalled",
326
+ "v2": "workflow.stalled",
327
+ "payloadDef": "workflowStalled",
328
+ "status": "decided",
329
+ "review": false,
330
+ "notes": []
331
+ },
332
+ {
333
+ "v1": "cap.breached",
334
+ "v2": "cap.breached",
335
+ "payloadDef": "capBreached",
336
+ "status": "decided",
337
+ "review": false,
338
+ "notes": []
339
+ },
340
+ {
341
+ "v1": "lease.acquired",
342
+ "v2": "lease.acquired",
343
+ "payloadDef": "leaseLifecycle",
344
+ "status": "decided",
345
+ "review": false,
346
+ "notes": []
347
+ },
348
+ {
349
+ "v1": "lease.renewed",
350
+ "v2": "lease.renewed",
351
+ "payloadDef": "leaseLifecycle",
352
+ "status": "decided",
353
+ "review": false,
354
+ "notes": []
355
+ },
356
+ {
357
+ "v1": "lease.lost",
358
+ "v2": "lease.lost",
359
+ "payloadDef": "leaseLifecycle",
360
+ "status": "decided",
361
+ "review": false,
362
+ "notes": []
363
+ },
364
+ {
365
+ "v1": "lease.handed-off",
366
+ "v2": "lease.handed-off",
367
+ "v2Override": "lease.handed-off",
368
+ "payloadDef": "leaseHandedOff",
369
+ "status": "decided",
370
+ "review": false,
371
+ "notes": [
372
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
373
+ ],
374
+ "note": "already a past-tense transition"
375
+ },
376
+ {
377
+ "v1": "replay.diverged",
378
+ "v2": "replay.diverged",
379
+ "payloadDef": "replayDiverged",
380
+ "status": "decided",
381
+ "review": false,
382
+ "notes": []
383
+ },
384
+ {
385
+ "v1": "replay.divergedAtRefusal",
386
+ "v2": "replay.diverged-at-refusal",
387
+ "v2Override": "replay.diverged-at-refusal",
388
+ "payloadDef": "replayDivergedAtRefusal",
389
+ "status": "decided",
390
+ "review": false,
391
+ "notes": [
392
+ "case/separator normalised",
393
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
394
+ ],
395
+ "note": "case/separator normalised"
396
+ },
397
+ {
398
+ "v1": "agent.reasoned",
399
+ "v2": "agent.reasoned",
400
+ "payloadDef": "agentReasoned",
401
+ "status": "decided",
402
+ "review": false,
403
+ "notes": []
404
+ },
405
+ {
406
+ "v1": "agent.reasoning.delta",
407
+ "v2": "agent.reasoning-delta",
408
+ "v2Override": "agent.reasoning-delta",
409
+ "payloadDef": "agentReasoningDelta",
410
+ "status": "decided",
411
+ "review": false,
412
+ "notes": [
413
+ "3 segments folded to two",
414
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
415
+ ],
416
+ "note": "artifact event; three segments folded"
417
+ },
418
+ {
419
+ "v1": "provider.usage",
420
+ "v2": "provider.usage",
421
+ "v2Override": "provider.usage",
422
+ "payloadDef": "providerUsage",
423
+ "status": "decided",
424
+ "review": false,
425
+ "notes": [
426
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
427
+ ],
428
+ "note": "artifact event; noun form permitted"
429
+ },
430
+ {
431
+ "v1": "prompt.composed",
432
+ "v2": "prompt.composed",
433
+ "payloadDef": "promptComposed",
434
+ "status": "decided",
435
+ "review": false,
436
+ "notes": []
437
+ },
438
+ {
439
+ "v1": "agent.promptResolved",
440
+ "v2": "agent.prompt-resolved",
441
+ "payloadDef": "agentPromptResolved",
442
+ "status": "decided",
443
+ "review": false,
444
+ "notes": [
445
+ "case/separator normalised"
446
+ ]
447
+ },
448
+ {
449
+ "v1": "model.capability.substituted",
450
+ "v2": "model.capability-substituted",
451
+ "payloadDef": "modelCapabilitySubstituted",
452
+ "status": "decided",
453
+ "review": false,
454
+ "notes": [
455
+ "3 segments folded to two"
456
+ ]
457
+ },
458
+ {
459
+ "v1": "model.capability.insufficient",
460
+ "v2": "model.capability-insufficient",
461
+ "payloadDef": "modelCapabilityInsufficient",
462
+ "status": "decided",
463
+ "review": false,
464
+ "notes": [
465
+ "3 segments folded to two"
466
+ ]
467
+ },
468
+ {
469
+ "v1": "envelope.retry.attempted",
470
+ "v2": "envelope.retry-attempted",
471
+ "payloadDef": "envelopeRetryAttempted",
472
+ "status": "decided",
473
+ "review": false,
474
+ "notes": [
475
+ "3 segments folded to two"
476
+ ]
477
+ },
478
+ {
479
+ "v1": "envelope.retry.exhausted",
480
+ "v2": "envelope.retry-exhausted",
481
+ "payloadDef": "envelopeRetryExhausted",
482
+ "status": "decided",
483
+ "review": false,
484
+ "notes": [
485
+ "3 segments folded to two"
486
+ ]
487
+ },
488
+ {
489
+ "v1": "envelope.refusal",
490
+ "v2": "envelope.refusal",
491
+ "v2Override": "envelope.refusal",
492
+ "payloadDef": "envelopeRefusal",
493
+ "status": "decided",
494
+ "review": false,
495
+ "notes": [
496
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
497
+ ],
498
+ "note": "artifact event; noun form permitted"
499
+ },
500
+ {
501
+ "v1": "envelope.truncated",
502
+ "v2": "envelope.truncated",
503
+ "payloadDef": "envelopeTruncated",
504
+ "status": "decided",
505
+ "review": false,
506
+ "notes": []
507
+ },
508
+ {
509
+ "v1": "envelope.nlToFormat.engaged",
510
+ "v2": "envelope.nl-to-format-engaged",
511
+ "v2Override": "envelope.nl-to-format-engaged",
512
+ "payloadDef": "envelopeNlToFormatEngaged",
513
+ "status": "decided",
514
+ "review": false,
515
+ "notes": [
516
+ "3 segments folded to two",
517
+ "case/separator normalised"
518
+ ],
519
+ "note": "three-segment fold re-verified (RFC 0171 adversarial review 4)"
520
+ },
521
+ {
522
+ "v1": "envelope.recovery.applied",
523
+ "v2": "envelope.recovery-applied",
524
+ "payloadDef": "envelopeRecoveryApplied",
525
+ "status": "decided",
526
+ "review": false,
527
+ "notes": [
528
+ "3 segments folded to two"
529
+ ]
530
+ },
531
+ {
532
+ "v1": "agent.toolCalled",
533
+ "v2": "agent.tool-called",
534
+ "payloadDef": "agentToolCalled",
535
+ "status": "decided",
536
+ "review": false,
537
+ "notes": [
538
+ "case/separator normalised"
539
+ ]
540
+ },
541
+ {
542
+ "v1": "agent.toolReturned",
543
+ "v2": "agent.tool-returned",
544
+ "payloadDef": "agentToolReturned",
545
+ "status": "decided",
546
+ "review": false,
547
+ "notes": [
548
+ "case/separator normalised"
549
+ ]
550
+ },
551
+ {
552
+ "v1": "agent.handoff",
553
+ "v2": "agent.handoff",
554
+ "v2Override": "agent.handoff",
555
+ "payloadDef": "agentHandoff",
556
+ "status": "decided",
557
+ "review": false,
558
+ "notes": [
559
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
560
+ ],
561
+ "note": "artifact event; noun form permitted"
562
+ },
563
+ {
564
+ "v1": "agent.decided",
565
+ "v2": "agent.decided",
566
+ "payloadDef": "agentDecided",
567
+ "status": "decided",
568
+ "review": false,
569
+ "notes": []
570
+ },
571
+ {
572
+ "v1": "agent.verified",
573
+ "v2": "agent.verified",
574
+ "payloadDef": "agentVerified",
575
+ "status": "decided",
576
+ "review": false,
577
+ "notes": []
578
+ },
579
+ {
580
+ "v1": "agent.invocation.started",
581
+ "v2": "agent.invocation-started",
582
+ "payloadDef": "agentInvocationStarted",
583
+ "status": "decided",
584
+ "review": false,
585
+ "notes": [
586
+ "3 segments folded to two"
587
+ ]
588
+ },
589
+ {
590
+ "v1": "agent.invocation.completed",
591
+ "v2": "agent.invocation-completed",
592
+ "payloadDef": "agentInvocationCompleted",
593
+ "status": "decided",
594
+ "review": false,
595
+ "notes": [
596
+ "3 segments folded to two"
597
+ ]
598
+ },
599
+ {
600
+ "v1": "eval.started",
601
+ "v2": "eval.started",
602
+ "payloadDef": "evalStarted",
603
+ "status": "decided",
604
+ "review": false,
605
+ "notes": []
606
+ },
607
+ {
608
+ "v1": "eval.scored",
609
+ "v2": "eval.scored",
610
+ "payloadDef": "evalScored",
611
+ "status": "decided",
612
+ "review": false,
613
+ "notes": []
614
+ },
615
+ {
616
+ "v1": "eval.completed",
617
+ "v2": "eval.completed",
618
+ "payloadDef": "evalCompleted",
619
+ "status": "decided",
620
+ "review": false,
621
+ "notes": []
622
+ },
623
+ {
624
+ "v1": "deployment.promoted",
625
+ "v2": "deployment.promoted",
626
+ "payloadDef": "deploymentPromoted",
627
+ "status": "decided",
628
+ "review": false,
629
+ "notes": []
630
+ },
631
+ {
632
+ "v1": "deployment.rolled-back",
633
+ "v2": "deployment.rolled-back",
634
+ "v2Override": "deployment.rolled-back",
635
+ "payloadDef": "deploymentRolledBack",
636
+ "status": "decided",
637
+ "review": false,
638
+ "notes": [
639
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
640
+ ],
641
+ "note": "already a past-tense transition"
642
+ },
643
+ {
644
+ "v1": "deployment.canary.adjusted",
645
+ "v2": "deployment.canary-adjusted",
646
+ "payloadDef": "deploymentCanaryAdjusted",
647
+ "status": "decided",
648
+ "review": false,
649
+ "notes": [
650
+ "3 segments folded to two"
651
+ ]
652
+ },
653
+ {
654
+ "v1": "deployment.state.changed",
655
+ "v2": "deployment.state-changed",
656
+ "payloadDef": "deploymentStateChanged",
657
+ "status": "decided",
658
+ "review": false,
659
+ "notes": [
660
+ "3 segments folded to two"
661
+ ]
662
+ },
663
+ {
664
+ "v1": "roster.run.initiated",
665
+ "v2": "roster.run-initiated",
666
+ "payloadDef": "rosterRunInitiated",
667
+ "status": "decided",
668
+ "review": false,
669
+ "notes": [
670
+ "3 segments folded to two"
671
+ ]
672
+ },
673
+ {
674
+ "v1": "tool.session.opened",
675
+ "v2": "tool.session-opened",
676
+ "payloadDef": "toolSessionOpened",
677
+ "status": "decided",
678
+ "review": false,
679
+ "notes": [
680
+ "3 segments folded to two"
681
+ ]
682
+ },
683
+ {
684
+ "v1": "tool.session.closed",
685
+ "v2": "tool.session-closed",
686
+ "payloadDef": "toolSessionClosed",
687
+ "status": "decided",
688
+ "review": false,
689
+ "notes": [
690
+ "3 segments folded to two"
691
+ ]
692
+ },
693
+ {
694
+ "v1": "egress.decided",
695
+ "v2": "egress.decided",
696
+ "payloadDef": "egressDecided",
697
+ "status": "decided",
698
+ "review": false,
699
+ "notes": []
700
+ },
701
+ {
702
+ "v1": "trigger.subscription.state.changed",
703
+ "v2": "trigger.subscription-state-changed",
704
+ "v2Override": "trigger.subscription-state-changed",
705
+ "payloadDef": "triggerSubscriptionStateChanged",
706
+ "status": "decided",
707
+ "review": false,
708
+ "notes": [
709
+ "4 segments folded to two"
710
+ ],
711
+ "note": "four-segment fold re-verified (RFC 0171 adversarial review 4)"
712
+ },
713
+ {
714
+ "v1": "trigger.delivery.attempted",
715
+ "v2": "trigger.delivery-attempted",
716
+ "payloadDef": "triggerDeliveryAttempted",
717
+ "status": "decided",
718
+ "review": false,
719
+ "notes": [
720
+ "3 segments folded to two"
721
+ ]
722
+ },
723
+ {
724
+ "v1": "budget.reserved",
725
+ "v2": "budget.reserved",
726
+ "payloadDef": "budgetReserved",
727
+ "status": "decided",
728
+ "review": false,
729
+ "notes": []
730
+ },
731
+ {
732
+ "v1": "budget.consumed",
733
+ "v2": "budget.consumed",
734
+ "payloadDef": "budgetConsumed",
735
+ "status": "decided",
736
+ "review": false,
737
+ "notes": []
738
+ },
739
+ {
740
+ "v1": "budget.threshold.crossed",
741
+ "v2": "budget.threshold-crossed",
742
+ "payloadDef": "budgetThresholdCrossed",
743
+ "status": "decided",
744
+ "review": false,
745
+ "notes": [
746
+ "3 segments folded to two"
747
+ ]
748
+ },
749
+ {
750
+ "v1": "budget.exhausted",
751
+ "v2": "budget.exhausted",
752
+ "payloadDef": "budgetExhausted",
753
+ "status": "decided",
754
+ "review": false,
755
+ "notes": []
756
+ },
757
+ {
758
+ "v1": "runOrchestrator.decided",
759
+ "v2": "orchestrator.decided",
760
+ "v2Override": "orchestrator.decided",
761
+ "payloadDef": "runOrchestratorDecided",
762
+ "status": "decided",
763
+ "review": false,
764
+ "notes": [
765
+ "case/separator normalised",
766
+ "domain `runOrchestrator` renamed `run-orchestrator` — confirm it is the same domain as `run`"
767
+ ],
768
+ "note": "orchestrator is its own domain, not `run` (RFC 0171 adversarial review 3)"
769
+ },
770
+ {
771
+ "v1": "node.dispatched",
772
+ "v2": "node.dispatched",
773
+ "payloadDef": "nodeDispatched",
774
+ "status": "decided",
775
+ "review": false,
776
+ "notes": []
777
+ },
778
+ {
779
+ "v1": "core.dispatch.fanOut",
780
+ "v2": "dispatch.fanned-out",
781
+ "v2Override": "dispatch.fanned-out",
782
+ "payloadDef": "dispatchFanOut",
783
+ "status": "decided",
784
+ "review": false,
785
+ "notes": [
786
+ "reserved `core.` prefix dropped (the vendor regex reserves it)",
787
+ "case/separator normalised"
788
+ ],
789
+ "note": "reserved core. dropped; transition"
790
+ },
791
+ {
792
+ "v1": "core.dispatch.join",
793
+ "v2": "dispatch.joined",
794
+ "v2Override": "dispatch.joined",
795
+ "payloadDef": "dispatchJoin",
796
+ "status": "decided",
797
+ "review": false,
798
+ "notes": [
799
+ "reserved `core.` prefix dropped (the vendor regex reserves it)",
800
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
801
+ ],
802
+ "note": "reserved core. dropped; transition"
803
+ },
804
+ {
805
+ "v1": "conversation.opened",
806
+ "v2": "conversation.opened",
807
+ "payloadDef": "conversationOpened",
808
+ "status": "decided",
809
+ "review": false,
810
+ "notes": []
811
+ },
812
+ {
813
+ "v1": "conversation.exchanged",
814
+ "v2": "conversation.exchanged",
815
+ "payloadDef": "conversationExchanged",
816
+ "status": "decided",
817
+ "review": false,
818
+ "notes": []
819
+ },
820
+ {
821
+ "v1": "conversation.closed",
822
+ "v2": "conversation.closed",
823
+ "payloadDef": "conversationClosed",
824
+ "status": "decided",
825
+ "review": false,
826
+ "notes": []
827
+ },
828
+ {
829
+ "v1": "memory.compacted",
830
+ "v2": "memory.compacted",
831
+ "payloadDef": "memoryCompacted",
832
+ "status": "decided",
833
+ "review": false,
834
+ "notes": []
835
+ },
836
+ {
837
+ "v1": "memory.written",
838
+ "v2": "memory.written",
839
+ "payloadDef": "memoryWritten",
840
+ "status": "decided",
841
+ "review": false,
842
+ "notes": []
843
+ },
844
+ {
845
+ "v1": "agent.memory.consolidated",
846
+ "v2": "agent.memory-consolidated",
847
+ "payloadDef": "agentMemoryConsolidated",
848
+ "status": "decided",
849
+ "review": false,
850
+ "notes": [
851
+ "3 segments folded to two"
852
+ ]
853
+ },
854
+ {
855
+ "v1": "commitment.fired",
856
+ "v2": "commitment.fired",
857
+ "payloadDef": "commitmentFired",
858
+ "status": "decided",
859
+ "review": false,
860
+ "notes": []
861
+ },
862
+ {
863
+ "v1": "workspace.updated",
864
+ "v2": "workspace.updated",
865
+ "payloadDef": "workspaceUpdated",
866
+ "status": "decided",
867
+ "review": false,
868
+ "notes": []
869
+ },
870
+ {
871
+ "v1": "core.workflowChain.event",
872
+ "v2": "workflow-chain.event",
873
+ "v2Override": "workflow-chain.event",
874
+ "payloadDef": "coreWorkflowChainEvent",
875
+ "status": "decided",
876
+ "review": false,
877
+ "notes": [
878
+ "reserved `core.` prefix dropped (the vendor regex reserves it)",
879
+ "case/separator normalised",
880
+ "domain `workflowChain` renamed `workflow-chain` — confirm it is the same domain as `workflow`"
881
+ ],
882
+ "note": "reserved core. dropped; workflow-chain is a distinct domain from workflow"
883
+ },
884
+ {
885
+ "v1": "core.workflowChain.confidence-escalated",
886
+ "v2": "workflow-chain.confidence-escalated",
887
+ "v2Override": "workflow-chain.confidence-escalated",
888
+ "payloadDef": "coreWorkflowChainConfidenceEscalated",
889
+ "status": "decided",
890
+ "review": false,
891
+ "notes": [
892
+ "reserved `core.` prefix dropped (the vendor regex reserves it)",
893
+ "case/separator normalised",
894
+ "domain `workflowChain` renamed `workflow-chain` — confirm it is the same domain as `workflow`"
895
+ ],
896
+ "note": "reserved core. dropped"
897
+ },
898
+ {
899
+ "v1": "connector.authorized",
900
+ "v2": "connector.authorized",
901
+ "payloadDef": "connectorAuthorized",
902
+ "status": "decided",
903
+ "review": false,
904
+ "notes": []
905
+ },
906
+ {
907
+ "v1": "connector.auth_expired",
908
+ "v2": "connector.auth-expired",
909
+ "payloadDef": "connectorAuthExpired",
910
+ "status": "decided",
911
+ "review": false,
912
+ "notes": [
913
+ "case/separator normalised"
914
+ ]
915
+ },
916
+ {
917
+ "v1": "authorization.decided",
918
+ "v2": "authorization.decided",
919
+ "payloadDef": "authorizationDecided",
920
+ "status": "decided",
921
+ "review": false,
922
+ "notes": []
923
+ },
924
+ {
925
+ "v1": "proposal.created",
926
+ "v2": "proposal.created",
927
+ "payloadDef": "proposalCreated",
928
+ "status": "decided",
929
+ "review": false,
930
+ "notes": []
931
+ },
932
+ {
933
+ "v1": "proposal.activated",
934
+ "v2": "proposal.activated",
935
+ "payloadDef": "proposalActivated",
936
+ "status": "decided",
937
+ "review": false,
938
+ "notes": []
939
+ },
940
+ {
941
+ "v1": "goal.evaluated",
942
+ "v2": "goal.evaluated",
943
+ "payloadDef": "goalEvaluated",
944
+ "status": "decided",
945
+ "review": false,
946
+ "notes": []
947
+ },
948
+ {
949
+ "v1": "goal.closed",
950
+ "v2": "goal.closed",
951
+ "payloadDef": "goalClosed",
952
+ "status": "decided",
953
+ "review": false,
954
+ "notes": []
955
+ },
956
+ {
957
+ "v1": "import.applied",
958
+ "v2": "import.applied",
959
+ "payloadDef": "importApplied",
960
+ "status": "decided",
961
+ "review": false,
962
+ "notes": []
963
+ },
964
+ {
965
+ "v1": "voice.speech_start",
966
+ "v2": "voice.speech-start",
967
+ "payloadDef": "voiceSpeechStart",
968
+ "status": "decided",
969
+ "review": false,
970
+ "notes": [
971
+ "case/separator normalised"
972
+ ]
973
+ },
974
+ {
975
+ "v1": "voice.transcript",
976
+ "v2": "voice.transcript",
977
+ "payloadDef": "voiceTranscript",
978
+ "status": "decided",
979
+ "review": false,
980
+ "notes": []
981
+ },
982
+ {
983
+ "v1": "voice.endpoint_candidate",
984
+ "v2": "voice.endpoint-candidate",
985
+ "v2Override": "voice.endpoint-candidate",
986
+ "payloadDef": "voiceEndpointCandidate",
987
+ "status": "decided",
988
+ "review": false,
989
+ "notes": [
990
+ "case/separator normalised",
991
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
992
+ ],
993
+ "note": "artifact event; separator normalised"
994
+ },
995
+ {
996
+ "v1": "voice.turn_commit",
997
+ "v2": "voice.turn-commit",
998
+ "payloadDef": "voiceTurnCommit",
999
+ "status": "decided",
1000
+ "review": false,
1001
+ "notes": [
1002
+ "case/separator normalised"
1003
+ ]
1004
+ },
1005
+ {
1006
+ "v1": "voice.synthesis_chunk",
1007
+ "v2": "voice.synthesis-chunk",
1008
+ "v2Override": "voice.synthesis-chunk",
1009
+ "payloadDef": "voiceSynthesisChunk",
1010
+ "status": "decided",
1011
+ "review": false,
1012
+ "notes": [
1013
+ "case/separator normalised",
1014
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
1015
+ ],
1016
+ "note": "artifact event; separator normalised"
1017
+ },
1018
+ {
1019
+ "v1": "voice.barge_in",
1020
+ "v2": "voice.barge-in",
1021
+ "v2Override": "voice.barge-in",
1022
+ "payloadDef": "voiceBargeIn",
1023
+ "status": "decided",
1024
+ "review": false,
1025
+ "notes": [
1026
+ "case/separator normalised",
1027
+ "verb is not past-tense — tense is a C.4 decision, not normalised here"
1028
+ ],
1029
+ "note": "separator normalised"
1030
+ },
1031
+ {
1032
+ "v1": "voice.cancelled",
1033
+ "v2": "voice.cancelled",
1034
+ "payloadDef": "voiceCancelled",
1035
+ "status": "decided",
1036
+ "review": false,
1037
+ "notes": []
1038
+ },
1039
+ {
1040
+ "v1": "compensation.requested",
1041
+ "v2": "compensation.requested",
1042
+ "payloadDef": "compensationRequested",
1043
+ "status": "decided",
1044
+ "review": false,
1045
+ "notes": []
1046
+ },
1047
+ {
1048
+ "v1": "compensation.started",
1049
+ "v2": "compensation.started",
1050
+ "payloadDef": "compensationStarted",
1051
+ "status": "decided",
1052
+ "review": false,
1053
+ "notes": []
1054
+ },
1055
+ {
1056
+ "v1": "compensation.completed",
1057
+ "v2": "compensation.completed",
1058
+ "payloadDef": "compensationCompleted",
1059
+ "status": "decided",
1060
+ "review": false,
1061
+ "notes": []
1062
+ },
1063
+ {
1064
+ "v1": "compensation.failed",
1065
+ "v2": "compensation.failed",
1066
+ "payloadDef": "compensationFailed",
1067
+ "status": "decided",
1068
+ "review": false,
1069
+ "notes": []
1070
+ },
1071
+ {
1072
+ "v1": "compensation.paused",
1073
+ "v2": "compensation.paused",
1074
+ "payloadDef": "compensationPaused",
1075
+ "status": "decided",
1076
+ "review": false,
1077
+ "notes": []
1078
+ },
1079
+ {
1080
+ "v1": "compensation.manual_intervention_required",
1081
+ "v2": "compensation.manual-intervention-required",
1082
+ "payloadDef": "compensationManualInterventionRequired",
1083
+ "status": "decided",
1084
+ "review": false,
1085
+ "notes": [
1086
+ "case/separator normalised"
1087
+ ]
1088
+ },
1089
+ {
1090
+ "v1": "negotiation.decided",
1091
+ "v2": "negotiation.decided",
1092
+ "payloadDef": "negotiationDecided",
1093
+ "status": "decided",
1094
+ "review": false,
1095
+ "notes": [],
1096
+ "note": "NEW in v2 (RFC 0175 §D.3): no v1 emitter; the v1 name is the v2 name so the codemap stays a total function over the v2 enum. Content-free; peer origin as a digest (RFC 0175 §Unresolved 1)."
1097
+ }
1098
+ ]
1099
+ }