@ixo/topic-protocol 1.0.0-rc.2 → 1.0.0-rc.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.
Files changed (77) hide show
  1. package/README.md +5 -2
  2. package/dist/profiles/releases/1.0.0-rc.3.json +8442 -0
  3. package/dist/schemas/external-project-snapshot.schema.json +121 -0
  4. package/dist/schemas/external-work-state-map.schema.json +1 -1
  5. package/dist/schemas/project-plan.schema.json +75 -0
  6. package/dist/schemas/project-projection.schema.json +187 -0
  7. package/dist/schemas/topic-contract-body.schema.json +1 -0
  8. package/dist/schemas/topic-operation.schema.json +155 -13
  9. package/dist/schemas/topic-recipe.schema.json +53 -3
  10. package/dist/schemas/topic-root.schema.json +1 -1
  11. package/dist/schemas/topic-shape.schema.json +1 -1
  12. package/dist/schemas/topic-state.schema.json +1 -0
  13. package/dist/src/contracts/schemas.d.ts +734 -54
  14. package/dist/src/contracts/schemas.js +6 -0
  15. package/dist/src/contracts/schemas.js.map +1 -1
  16. package/dist/src/contracts/topic-contract.d.ts +4 -2
  17. package/dist/src/contracts/topic-contract.js +6 -1
  18. package/dist/src/contracts/topic-contract.js.map +1 -1
  19. package/dist/src/contracts/validator.js +53 -3
  20. package/dist/src/contracts/validator.js.map +1 -1
  21. package/dist/src/index.d.ts +11 -2
  22. package/dist/src/index.js +9 -0
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/projector/payload.d.ts +53 -3
  25. package/dist/src/projector/payload.js +107 -15
  26. package/dist/src/projector/payload.js.map +1 -1
  27. package/dist/src/projector/project.js +3 -3
  28. package/dist/src/projector/project.js.map +1 -1
  29. package/dist/src/projector/state.d.ts +2 -2
  30. package/dist/src/projector/state.js +103 -3
  31. package/dist/src/projector/state.js.map +1 -1
  32. package/dist/src/projector/types.d.ts +10 -4
  33. package/dist/src/projector/types.js +1 -0
  34. package/dist/src/projector/types.js.map +1 -1
  35. package/dist/src/projects/project.d.ts +7 -0
  36. package/dist/src/projects/project.js +294 -0
  37. package/dist/src/projects/project.js.map +1 -0
  38. package/dist/src/projects/types.d.ts +127 -0
  39. package/dist/src/projects/types.js +14 -0
  40. package/dist/src/projects/types.js.map +1 -0
  41. package/dist/src/shapes/availability.d.ts +2 -0
  42. package/dist/src/shapes/availability.js +19 -0
  43. package/dist/src/shapes/availability.js.map +1 -0
  44. package/dist/src/shapes/commands.d.ts +3 -0
  45. package/dist/src/shapes/commands.js +10 -0
  46. package/dist/src/shapes/commands.js.map +1 -0
  47. package/dist/src/shapes/fields.d.ts +9 -0
  48. package/dist/src/shapes/fields.js +41 -0
  49. package/dist/src/shapes/fields.js.map +1 -0
  50. package/dist/src/shapes/now.js +4 -1
  51. package/dist/src/shapes/now.js.map +1 -1
  52. package/dist/src/shapes/progress.d.ts +5 -1
  53. package/dist/src/shapes/progress.js +99 -49
  54. package/dist/src/shapes/progress.js.map +1 -1
  55. package/dist/src/shapes/reachability.d.ts +3 -0
  56. package/dist/src/shapes/reachability.js +29 -0
  57. package/dist/src/shapes/reachability.js.map +1 -0
  58. package/dist/src/shapes/recipes.js +124 -21
  59. package/dist/src/shapes/recipes.js.map +1 -1
  60. package/dist/src/shapes/releases.d.ts +9 -0
  61. package/dist/src/shapes/releases.js +12 -0
  62. package/dist/src/shapes/releases.js.map +1 -0
  63. package/dist/src/shapes/resolver.d.ts +3 -0
  64. package/dist/src/shapes/resolver.js +62 -16
  65. package/dist/src/shapes/resolver.js.map +1 -1
  66. package/dist/src/shapes/types.d.ts +16 -2
  67. package/dist/src/shapes/types.js +2 -0
  68. package/dist/src/shapes/types.js.map +1 -1
  69. package/dist/src/work-bridge/types.d.ts +14 -1
  70. package/package.json +1 -1
  71. package/profiles/releases/1.0.0-rc.3.json +8442 -0
  72. package/recipes/agent-delivery.json +54 -4
  73. package/recipes/blueprint-design.json +613 -0
  74. package/recipes/registry.json +30 -6
  75. package/recipes/research-brief.json +53 -2
  76. package/recipes/software-build.json +566 -0
  77. package/recipes/verified-work-payment.json +56 -5
@@ -9,8 +9,8 @@
9
9
  "creates": "draft",
10
10
  "ref": {
11
11
  "id": "https://topic-protocol.ixo.world/recipes/research-brief",
12
- "version": "1.0.0-rc.2",
13
- "digest": "sha256:76aa6428b3a41ea0652c078f8020ba7918fe0f8c3ac79ef941c88b33ee62294b"
12
+ "version": "1.0.0-rc.4",
13
+ "digest": "sha256:319d13281c2aaaed6162269199ef2f46eec9f52e4ccb813c5916a02da341862d"
14
14
  }
15
15
  },
16
16
  {
@@ -21,8 +21,8 @@
21
21
  "creates": "draft",
22
22
  "ref": {
23
23
  "id": "https://topic-protocol.ixo.world/recipes/agent-delivery",
24
- "version": "1.0.0-rc.2",
25
- "digest": "sha256:fc646487e42ae88984b644449a90fe5b30769380d73b391cd44f46926f406e5e"
24
+ "version": "1.0.0-rc.4",
25
+ "digest": "sha256:ad9ad2bc1a7f5ae33a464931117f1366fc9f8927a5a189e2638be61fd82cfb5a"
26
26
  }
27
27
  },
28
28
  {
@@ -33,8 +33,32 @@
33
33
  "creates": "draft",
34
34
  "ref": {
35
35
  "id": "https://topic-protocol.ixo.world/recipes/verified-work-payment",
36
- "version": "1.0.0-rc.2",
37
- "digest": "sha256:27c0e70c6bfac1557ae402673bd4aa8bace7ff50c82c5e30cf5e6f356114fb86"
36
+ "version": "1.0.0-rc.4",
37
+ "digest": "sha256:b4544db76e0628bea78377f73408e355529cd63e5065221918597b63eaeec777"
38
+ }
39
+ },
40
+ {
41
+ "code": "software-build",
42
+ "label": "Software Build",
43
+ "description": "Coordinate reviewed software work through user-defined milestones and explicitly accepted delivery evidence.",
44
+ "baseRecipe": "project",
45
+ "creates": "draft",
46
+ "ref": {
47
+ "id": "https://topic-protocol.ixo.world/recipes/software-build",
48
+ "version": "1.0.0-rc.4",
49
+ "digest": "sha256:1abb6c50759d9c7a9c505ceeb55b384ceaa9d0838d0391a0729e778192d5e576"
50
+ }
51
+ },
52
+ {
53
+ "code": "blueprint-design",
54
+ "label": "Blueprint Design",
55
+ "description": "Coordinate a pinned design method and require independent-review evidence before explicitly closing the blueprint Project.",
56
+ "baseRecipe": "project",
57
+ "creates": "draft",
58
+ "ref": {
59
+ "id": "https://topic-protocol.ixo.world/recipes/blueprint-design",
60
+ "version": "1.0.0-rc.4",
61
+ "digest": "sha256:d3afd59a470507bdbdb0a2ed55adf3c348979369d1d1b54bd94ff5f49ce4dc9f"
38
62
  }
39
63
  }
40
64
  ]
@@ -2,7 +2,7 @@
2
2
  "version": 1,
3
3
  "code": "research-brief",
4
4
  "id": "https://topic-protocol.ixo.world/recipes/research-brief",
5
- "recipeVersion": "1.0.0-rc.2",
5
+ "recipeVersion": "1.0.0-rc.4",
6
6
  "label": "Research brief",
7
7
  "description": "Frame a question, do the research, verify the sources, and close the brief explicitly.",
8
8
  "baseRecipe": "research",
@@ -481,7 +481,8 @@
481
481
  "evidence": {
482
482
  "kind": "record",
483
483
  "type": "ixo.evaluation",
484
- "finality": "accepted"
484
+ "finality": "accepted",
485
+ "status": "verified"
485
486
  },
486
487
  "handoff": {
487
488
  "kind": "flow",
@@ -495,6 +496,56 @@
495
496
  "unlocksKey": "topic.action.record-verification.unlocks",
496
497
  "priority": 900
497
498
  }
499
+ },
500
+ {
501
+ "code": "accept-answer",
502
+ "phase": "verifying",
503
+ "predecessor": {
504
+ "axis": "answer",
505
+ "state": "pending"
506
+ },
507
+ "target": {
508
+ "axis": "answer",
509
+ "state": "accepted"
510
+ },
511
+ "command": "topic.record-verification",
512
+ "requiredAbility": "topic/accept-answer",
513
+ "assignedTo": {
514
+ "kind": "role",
515
+ "value": "completion-authority"
516
+ },
517
+ "gates": [
518
+ {
519
+ "kind": "axis",
520
+ "axis": "work",
521
+ "states": [
522
+ "submitted"
523
+ ]
524
+ },
525
+ {
526
+ "kind": "axis",
527
+ "axis": "verification",
528
+ "states": [
529
+ "verified"
530
+ ]
531
+ }
532
+ ],
533
+ "confirmation": "authority",
534
+ "consequence": "shared-state",
535
+ "evidence": {
536
+ "kind": "record",
537
+ "type": "ixo.topic.answer-acceptance",
538
+ "finality": "accepted",
539
+ "status": "accepted"
540
+ },
541
+ "presentation": {
542
+ "reasonCode": "accept-answer",
543
+ "actionLabelKey": "topic.action.accept-answer.label",
544
+ "bodyKey": "topic.action.accept-answer.prompt",
545
+ "purposeKey": "topic.action.accept-answer.purpose",
546
+ "unlocksKey": "topic.action.accept-answer.unlocks",
547
+ "priority": 900
548
+ }
498
549
  }
499
550
  ],
500
551
  "progressRules": [
@@ -0,0 +1,566 @@
1
+ {
2
+ "version": 1,
3
+ "code": "software-build",
4
+ "id": "https://topic-protocol.ixo.world/recipes/software-build",
5
+ "recipeVersion": "1.0.0-rc.4",
6
+ "label": "Software Build",
7
+ "description": "Coordinate reviewed software work through user-defined milestones and explicitly accepted delivery evidence.",
8
+ "baseRecipe": "project",
9
+ "creates": "draft",
10
+ "shape": {
11
+ "version": 1,
12
+ "code": "base/project",
13
+ "axes": [
14
+ {
15
+ "code": "contract",
16
+ "phase": "forming",
17
+ "required": true,
18
+ "initialState": "proposed",
19
+ "states": [
20
+ {
21
+ "code": "proposed"
22
+ },
23
+ {
24
+ "code": "effective",
25
+ "terminal": true
26
+ }
27
+ ]
28
+ },
29
+ {
30
+ "code": "work",
31
+ "phase": "working",
32
+ "required": true,
33
+ "initialState": "pending",
34
+ "states": [
35
+ {
36
+ "code": "pending"
37
+ },
38
+ {
39
+ "code": "in-progress"
40
+ },
41
+ {
42
+ "code": "submitted",
43
+ "terminal": true
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "code": "topic",
49
+ "phase": "complete",
50
+ "required": true,
51
+ "initialState": "open",
52
+ "states": [
53
+ {
54
+ "code": "open"
55
+ },
56
+ {
57
+ "code": "complete",
58
+ "terminal": true
59
+ }
60
+ ]
61
+ }
62
+ ],
63
+ "transitions": [
64
+ {
65
+ "code": "edit-setup",
66
+ "phase": "forming",
67
+ "predecessor": {
68
+ "axis": "contract",
69
+ "state": "proposed"
70
+ },
71
+ "target": {
72
+ "axis": "contract",
73
+ "state": "proposed"
74
+ },
75
+ "command": "topic.edit-setup",
76
+ "requiredAbility": "topic/write",
77
+ "assignedTo": {
78
+ "kind": "role",
79
+ "value": "setup-editor"
80
+ },
81
+ "gates": [],
82
+ "confirmation": "none",
83
+ "consequence": "shared-state",
84
+ "evidence": {
85
+ "kind": "operation",
86
+ "type": "update-contract"
87
+ },
88
+ "presentation": {
89
+ "reasonCode": "setup-needs-input",
90
+ "actionLabelKey": "topic.action.edit-setup.label",
91
+ "bodyKey": "topic.setup.edit.body",
92
+ "purposeKey": "topic.setup.edit.purpose",
93
+ "unlocksKey": "topic.setup.edit.unlocks",
94
+ "priority": 800
95
+ }
96
+ },
97
+ {
98
+ "code": "confirm-setup",
99
+ "phase": "forming",
100
+ "predecessor": {
101
+ "axis": "contract",
102
+ "state": "proposed"
103
+ },
104
+ "target": {
105
+ "axis": "contract",
106
+ "state": "effective"
107
+ },
108
+ "command": "topic.confirm-setup",
109
+ "requiredAbility": "topic/confirm-setup",
110
+ "assignedTo": {
111
+ "kind": "role",
112
+ "value": "setup-confirmer"
113
+ },
114
+ "gates": [],
115
+ "confirmation": "authority",
116
+ "consequence": "shared-state",
117
+ "evidence": {
118
+ "kind": "operation",
119
+ "type": "confirm-setup"
120
+ },
121
+ "presentation": {
122
+ "reasonCode": "setup-awaits-confirmation",
123
+ "actionLabelKey": "topic.action.confirm-setup.label",
124
+ "bodyKey": "topic.setup.confirm.body",
125
+ "purposeKey": "topic.setup.confirm.purpose",
126
+ "unlocksKey": "topic.setup.confirm.unlocks",
127
+ "priority": 700
128
+ }
129
+ },
130
+ {
131
+ "code": "start-work",
132
+ "phase": "working",
133
+ "predecessor": {
134
+ "axis": "work",
135
+ "state": "pending"
136
+ },
137
+ "target": {
138
+ "axis": "work",
139
+ "state": "in-progress"
140
+ },
141
+ "command": "topic.start-work",
142
+ "requiredAbility": "topic/write",
143
+ "assignedTo": {
144
+ "kind": "role",
145
+ "value": "worker"
146
+ },
147
+ "gates": [
148
+ {
149
+ "kind": "axis",
150
+ "axis": "contract",
151
+ "states": [
152
+ "effective"
153
+ ]
154
+ }
155
+ ],
156
+ "confirmation": "none",
157
+ "consequence": "shared-state",
158
+ "evidence": {
159
+ "kind": "operation",
160
+ "type": "change-progress"
161
+ },
162
+ "presentation": {
163
+ "reasonCode": "start-work",
164
+ "actionLabelKey": "topic.action.start-work.label",
165
+ "bodyKey": "topic.action.start-work.prompt",
166
+ "purposeKey": "topic.action.start-work.purpose",
167
+ "unlocksKey": "topic.action.start-work.unlocks",
168
+ "priority": 900
169
+ }
170
+ },
171
+ {
172
+ "code": "raise-dispute",
173
+ "phase": "working",
174
+ "predecessor": {
175
+ "axis": "topic",
176
+ "state": "open"
177
+ },
178
+ "target": {
179
+ "axis": "topic",
180
+ "state": "open"
181
+ },
182
+ "command": "topic.raise-dispute",
183
+ "requiredAbility": "topic/raise-dispute",
184
+ "assignedTo": {
185
+ "kind": "role",
186
+ "value": "participant"
187
+ },
188
+ "gates": [],
189
+ "confirmation": "none",
190
+ "consequence": "shared-state",
191
+ "evidence": {
192
+ "kind": "operation",
193
+ "type": "raise-dispute"
194
+ },
195
+ "presentation": {
196
+ "reasonCode": "dispute-available",
197
+ "actionLabelKey": "topic.action.raise-dispute.label",
198
+ "bodyKey": "topic.action.raise-dispute.prompt",
199
+ "purposeKey": "topic.action.raise-dispute.purpose",
200
+ "unlocksKey": "topic.action.raise-dispute.unlocks",
201
+ "priority": 900
202
+ }
203
+ },
204
+ {
205
+ "code": "resolve-dispute",
206
+ "phase": "working",
207
+ "predecessor": {
208
+ "axis": "topic",
209
+ "state": "open"
210
+ },
211
+ "target": {
212
+ "axis": "topic",
213
+ "state": "open"
214
+ },
215
+ "command": "topic.resolve-dispute",
216
+ "requiredAbility": "topic/resolve-dispute",
217
+ "assignedTo": {
218
+ "kind": "role",
219
+ "value": "dispute-resolver"
220
+ },
221
+ "gates": [
222
+ {
223
+ "kind": "condition",
224
+ "states": [
225
+ "disputed"
226
+ ]
227
+ }
228
+ ],
229
+ "confirmation": "authority",
230
+ "consequence": "shared-state",
231
+ "evidence": {
232
+ "kind": "operation",
233
+ "type": "resolve-dispute"
234
+ },
235
+ "presentation": {
236
+ "reasonCode": "dispute-awaits-resolution",
237
+ "actionLabelKey": "topic.action.resolve-dispute.label",
238
+ "bodyKey": "topic.action.resolve-dispute.prompt",
239
+ "purposeKey": "topic.action.resolve-dispute.purpose",
240
+ "unlocksKey": "topic.action.resolve-dispute.unlocks",
241
+ "priority": 900
242
+ }
243
+ },
244
+ {
245
+ "code": "answer-question",
246
+ "phase": "working",
247
+ "predecessor": {
248
+ "axis": "work",
249
+ "state": "in-progress"
250
+ },
251
+ "target": {
252
+ "axis": "work",
253
+ "state": "in-progress"
254
+ },
255
+ "command": "topic.answer-question",
256
+ "requiredAbility": "topic/write",
257
+ "assignedTo": {
258
+ "kind": "role",
259
+ "value": "worker"
260
+ },
261
+ "gates": [
262
+ {
263
+ "kind": "field",
264
+ "path": "/questions/open",
265
+ "predicate": "present"
266
+ }
267
+ ],
268
+ "confirmation": "none",
269
+ "consequence": "shared-state",
270
+ "evidence": {
271
+ "kind": "operation",
272
+ "type": "answer-question"
273
+ },
274
+ "presentation": {
275
+ "reasonCode": "question-awaits-answer",
276
+ "actionLabelKey": "topic.action.answer-question.label",
277
+ "bodyKey": "topic.action.answer-question.prompt",
278
+ "purposeKey": "topic.action.answer-question.purpose",
279
+ "unlocksKey": "topic.action.answer-question.unlocks",
280
+ "priority": 900
281
+ }
282
+ },
283
+ {
284
+ "code": "change-due-date",
285
+ "phase": "working",
286
+ "predecessor": {
287
+ "axis": "work",
288
+ "state": "in-progress"
289
+ },
290
+ "target": {
291
+ "axis": "work",
292
+ "state": "in-progress"
293
+ },
294
+ "command": "topic.change-due-date",
295
+ "requiredAbility": "topic/write",
296
+ "assignedTo": {
297
+ "kind": "role",
298
+ "value": "worker"
299
+ },
300
+ "gates": [
301
+ {
302
+ "kind": "field",
303
+ "path": "/outcome/target/value",
304
+ "predicate": "present"
305
+ }
306
+ ],
307
+ "confirmation": "none",
308
+ "consequence": "shared-state",
309
+ "evidence": {
310
+ "kind": "operation",
311
+ "type": "change-due-date"
312
+ },
313
+ "presentation": {
314
+ "reasonCode": "due-date-review",
315
+ "actionLabelKey": "topic.action.change-due-date.label",
316
+ "bodyKey": "topic.action.change-due-date.prompt",
317
+ "purposeKey": "topic.action.change-due-date.purpose",
318
+ "unlocksKey": "topic.action.change-due-date.unlocks",
319
+ "priority": 900
320
+ }
321
+ },
322
+ {
323
+ "code": "unblock-topic",
324
+ "phase": "working",
325
+ "predecessor": {
326
+ "axis": "topic",
327
+ "state": "open"
328
+ },
329
+ "target": {
330
+ "axis": "topic",
331
+ "state": "open"
332
+ },
333
+ "command": "topic.unblock",
334
+ "requiredAbility": "topic/unblock",
335
+ "assignedTo": {
336
+ "kind": "role",
337
+ "value": "block-resolver"
338
+ },
339
+ "gates": [
340
+ {
341
+ "kind": "condition",
342
+ "states": [
343
+ "blocked"
344
+ ]
345
+ }
346
+ ],
347
+ "confirmation": "none",
348
+ "consequence": "shared-state",
349
+ "evidence": {
350
+ "kind": "operation",
351
+ "type": "unblock-topic"
352
+ },
353
+ "presentation": {
354
+ "reasonCode": "topic-blocked",
355
+ "actionLabelKey": "topic.action.unblock-topic.label",
356
+ "bodyKey": "topic.action.unblock-topic.prompt",
357
+ "purposeKey": "topic.action.unblock-topic.purpose",
358
+ "unlocksKey": "topic.action.unblock-topic.unlocks",
359
+ "priority": 900
360
+ }
361
+ },
362
+ {
363
+ "code": "submit-work",
364
+ "phase": "working",
365
+ "predecessor": {
366
+ "axis": "work",
367
+ "state": "in-progress"
368
+ },
369
+ "target": {
370
+ "axis": "work",
371
+ "state": "submitted"
372
+ },
373
+ "command": "topic.record-outcome",
374
+ "requiredAbility": "topic/record-outcome",
375
+ "assignedTo": {
376
+ "kind": "role",
377
+ "value": "worker"
378
+ },
379
+ "gates": [],
380
+ "confirmation": "none",
381
+ "consequence": "shared-state",
382
+ "evidence": {
383
+ "kind": "record",
384
+ "type": "ixo.topic.work-submission",
385
+ "finality": "accepted"
386
+ },
387
+ "presentation": {
388
+ "reasonCode": "submit-work",
389
+ "actionLabelKey": "topic.action.submit-work.label",
390
+ "bodyKey": "topic.action.submit-work.prompt",
391
+ "purposeKey": "topic.action.submit-work.purpose",
392
+ "unlocksKey": "topic.action.submit-work.unlocks",
393
+ "priority": 900
394
+ }
395
+ },
396
+ {
397
+ "code": "complete-topic",
398
+ "phase": "complete",
399
+ "predecessor": {
400
+ "axis": "topic",
401
+ "state": "open"
402
+ },
403
+ "target": {
404
+ "axis": "topic",
405
+ "state": "complete"
406
+ },
407
+ "command": "topic.complete",
408
+ "requiredAbility": "topic/confirm-completion",
409
+ "assignedTo": {
410
+ "kind": "role",
411
+ "value": "completion-authority"
412
+ },
413
+ "gates": [
414
+ {
415
+ "kind": "axis",
416
+ "axis": "work",
417
+ "states": [
418
+ "submitted"
419
+ ]
420
+ }
421
+ ],
422
+ "confirmation": "authority",
423
+ "consequence": "shared-state",
424
+ "evidence": {
425
+ "kind": "operation",
426
+ "type": "complete-topic"
427
+ },
428
+ "completesTopic": true,
429
+ "presentation": {
430
+ "reasonCode": "complete-topic",
431
+ "actionLabelKey": "topic.action.complete-topic.label",
432
+ "bodyKey": "topic.action.complete-topic.prompt",
433
+ "purposeKey": "topic.action.complete-topic.purpose",
434
+ "unlocksKey": "topic.action.complete-topic.unlocks",
435
+ "priority": 900
436
+ }
437
+ }
438
+ ],
439
+ "progressRules": [
440
+ {
441
+ "code": "disputed",
442
+ "condition": "disputed",
443
+ "priority": 700,
444
+ "source": {
445
+ "kind": "record",
446
+ "value": "ixo.topic.dispute"
447
+ }
448
+ },
449
+ {
450
+ "code": "failed",
451
+ "condition": "failed",
452
+ "priority": 650,
453
+ "source": {
454
+ "kind": "receipt",
455
+ "value": "failed"
456
+ }
457
+ },
458
+ {
459
+ "code": "blocked",
460
+ "condition": "blocked",
461
+ "priority": 600,
462
+ "source": {
463
+ "kind": "topic",
464
+ "value": "blocked"
465
+ },
466
+ "requiresTarget": true
467
+ },
468
+ {
469
+ "code": "waiting",
470
+ "condition": "waiting",
471
+ "priority": 500,
472
+ "source": {
473
+ "kind": "topic",
474
+ "value": "waiting"
475
+ },
476
+ "requiresTarget": true
477
+ },
478
+ {
479
+ "code": "needs-input",
480
+ "condition": "needs-input",
481
+ "priority": 400,
482
+ "source": {
483
+ "kind": "record",
484
+ "value": "ixo.topic.question"
485
+ }
486
+ },
487
+ {
488
+ "code": "needs-confirmation",
489
+ "condition": "needs-confirmation",
490
+ "priority": 350,
491
+ "source": {
492
+ "kind": "axis",
493
+ "value": "contract"
494
+ },
495
+ "states": [
496
+ "proposed"
497
+ ]
498
+ }
499
+ ],
500
+ "inferredRecordPolicy": {
501
+ "autoAccept": [
502
+ "ixo.topic.fact",
503
+ "ixo.topic.summary",
504
+ "ixo.topic.classification"
505
+ ],
506
+ "neverAutoAccept": [
507
+ "ixo.topic.contract",
508
+ "ixo.topic.outcome",
509
+ "ixo.topic.authority",
510
+ "ixo.topic.action",
511
+ "ixo.claim",
512
+ "ixo.evaluation",
513
+ "ixo.settlement"
514
+ ]
515
+ }
516
+ },
517
+ "project": {
518
+ "version": 1,
519
+ "compatibleKind": "project",
520
+ "compatibleShapeVersion": 1,
521
+ "allowedChildKinds": [
522
+ "task",
523
+ "agent_task",
524
+ "proposal",
525
+ "evaluation",
526
+ "claims",
527
+ "incident",
528
+ "question",
529
+ "discussion"
530
+ ],
531
+ "entryPoints": [
532
+ {
533
+ "code": "compose-reviewed-task",
534
+ "label": "Compose a reviewed Task",
535
+ "kind": "action",
536
+ "target": "compose-topic/task",
537
+ "suggestedChildKinds": [
538
+ "task"
539
+ ],
540
+ "requiresReview": true
541
+ },
542
+ {
543
+ "code": "compose-reviewed-agent-task",
544
+ "label": "Compose a reviewed Agent Task",
545
+ "kind": "action",
546
+ "target": "compose-topic/agent-task",
547
+ "suggestedChildKinds": [
548
+ "agent_task"
549
+ ],
550
+ "requiresReview": true
551
+ },
552
+ {
553
+ "code": "open-coding-application",
554
+ "label": "Open a coding application",
555
+ "kind": "action",
556
+ "target": "ixo.project.software-build/coding-entry-point",
557
+ "suggestedChildKinds": [
558
+ "task",
559
+ "agent_task"
560
+ ],
561
+ "requiresReview": true
562
+ }
563
+ ],
564
+ "milestoneSuggestions": []
565
+ }
566
+ }