@nichollasf/ai-kit 1.0.1

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 (39) hide show
  1. package/.agents/archetypes/implementer-senior.md +46 -0
  2. package/.agents/archetypes/implementer.md +46 -0
  3. package/.agents/archetypes/orchestrator.md +54 -0
  4. package/.agents/archetypes/planner.md +54 -0
  5. package/.agents/archetypes/quick.md +46 -0
  6. package/.agents/archetypes/researcher.md +46 -0
  7. package/.agents/archetypes/reviewer.md +46 -0
  8. package/.agents/catalog/catalog-v2.schema.json +1641 -0
  9. package/.agents/catalog/personal.json +370 -0
  10. package/.agents/skills/ai-kit-model-calibration/SKILL.md +57 -0
  11. package/.agents/skills/ai-kit-model-calibration/assets/scorecard.md +61 -0
  12. package/.agents/skills/ai-kit-model-calibration/references/rubric.md +41 -0
  13. package/.agents/skills/ai-kit-task-routing/SKILL.md +44 -0
  14. package/.agents/skills/ai-kit-task-routing/references/handoff.md +29 -0
  15. package/LICENSE +21 -0
  16. package/README.md +151 -0
  17. package/dist/catalog.d.ts +99 -0
  18. package/dist/catalog.js +590 -0
  19. package/dist/catalog.js.map +1 -0
  20. package/dist/cli.d.ts +10 -0
  21. package/dist/cli.js +201 -0
  22. package/dist/cli.js.map +1 -0
  23. package/dist/diagnostics.d.ts +2 -0
  24. package/dist/diagnostics.js +301 -0
  25. package/dist/diagnostics.js.map +1 -0
  26. package/dist/installer.d.ts +18 -0
  27. package/dist/installer.js +303 -0
  28. package/dist/installer.js.map +1 -0
  29. package/dist/legacy.d.ts +7 -0
  30. package/dist/legacy.js +69 -0
  31. package/dist/legacy.js.map +1 -0
  32. package/dist/manifest.d.ts +50 -0
  33. package/dist/manifest.js +223 -0
  34. package/dist/manifest.js.map +1 -0
  35. package/dist/transaction.d.ts +10 -0
  36. package/dist/transaction.js +187 -0
  37. package/dist/transaction.js.map +1 -0
  38. package/docs/architecture.md +61 -0
  39. package/package.json +62 -0
@@ -0,0 +1,1641 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/nychollas09/ai-kit/catalog-v2.schema.json",
4
+ "title": "ai-kit personal archetype catalog v2",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "profile",
10
+ "maxConcurrency",
11
+ "roles",
12
+ "models",
13
+ "bindings",
14
+ "presets",
15
+ "taskContract",
16
+ "reviewGate",
17
+ "handoff"
18
+ ],
19
+ "properties": {
20
+ "schemaVersion": {
21
+ "const": 2
22
+ },
23
+ "profile": {
24
+ "const": "personal"
25
+ },
26
+ "maxConcurrency": {
27
+ "type": "integer",
28
+ "minimum": 1,
29
+ "maximum": 4
30
+ },
31
+ "roles": {
32
+ "type": "object",
33
+ "additionalProperties": false,
34
+ "required": [
35
+ "planner",
36
+ "orchestrator",
37
+ "implementer-senior",
38
+ "implementer",
39
+ "quick",
40
+ "researcher",
41
+ "reviewer"
42
+ ],
43
+ "properties": {
44
+ "planner": {
45
+ "type": "object",
46
+ "additionalProperties": false,
47
+ "required": ["archetype", "capabilities"],
48
+ "properties": {
49
+ "archetype": {
50
+ "type": "string",
51
+ "minLength": 1
52
+ },
53
+ "capabilities": {
54
+ "type": "object",
55
+ "additionalProperties": false,
56
+ "required": ["read", "write", "delegate", "review"],
57
+ "properties": {
58
+ "read": {
59
+ "const": true
60
+ },
61
+ "write": {
62
+ "type": "object",
63
+ "additionalProperties": false,
64
+ "required": ["enabled", "scopes"],
65
+ "properties": {
66
+ "enabled": {
67
+ "type": "boolean"
68
+ },
69
+ "scopes": {
70
+ "type": "array",
71
+ "items": {
72
+ "type": "string",
73
+ "minLength": 1
74
+ }
75
+ }
76
+ }
77
+ },
78
+ "delegate": {
79
+ "type": "boolean"
80
+ },
81
+ "review": {
82
+ "type": "boolean"
83
+ }
84
+ }
85
+ }
86
+ }
87
+ },
88
+ "orchestrator": {
89
+ "type": "object",
90
+ "additionalProperties": false,
91
+ "required": ["archetype", "capabilities"],
92
+ "properties": {
93
+ "archetype": {
94
+ "type": "string",
95
+ "minLength": 1
96
+ },
97
+ "capabilities": {
98
+ "type": "object",
99
+ "additionalProperties": false,
100
+ "required": ["read", "write", "delegate", "review"],
101
+ "properties": {
102
+ "read": {
103
+ "const": true
104
+ },
105
+ "write": {
106
+ "type": "object",
107
+ "additionalProperties": false,
108
+ "required": ["enabled", "scopes"],
109
+ "properties": {
110
+ "enabled": {
111
+ "type": "boolean"
112
+ },
113
+ "scopes": {
114
+ "type": "array",
115
+ "items": {
116
+ "type": "string",
117
+ "minLength": 1
118
+ }
119
+ }
120
+ }
121
+ },
122
+ "delegate": {
123
+ "type": "boolean"
124
+ },
125
+ "review": {
126
+ "type": "boolean"
127
+ }
128
+ }
129
+ }
130
+ }
131
+ },
132
+ "implementer-senior": {
133
+ "type": "object",
134
+ "additionalProperties": false,
135
+ "required": ["archetype", "capabilities"],
136
+ "properties": {
137
+ "archetype": {
138
+ "type": "string",
139
+ "minLength": 1
140
+ },
141
+ "capabilities": {
142
+ "type": "object",
143
+ "additionalProperties": false,
144
+ "required": ["read", "write", "delegate", "review"],
145
+ "properties": {
146
+ "read": {
147
+ "const": true
148
+ },
149
+ "write": {
150
+ "type": "object",
151
+ "additionalProperties": false,
152
+ "required": ["enabled", "scopes"],
153
+ "properties": {
154
+ "enabled": {
155
+ "type": "boolean"
156
+ },
157
+ "scopes": {
158
+ "type": "array",
159
+ "items": {
160
+ "type": "string",
161
+ "minLength": 1
162
+ }
163
+ }
164
+ }
165
+ },
166
+ "delegate": {
167
+ "type": "boolean"
168
+ },
169
+ "review": {
170
+ "type": "boolean"
171
+ }
172
+ }
173
+ }
174
+ }
175
+ },
176
+ "implementer": {
177
+ "type": "object",
178
+ "additionalProperties": false,
179
+ "required": ["archetype", "capabilities"],
180
+ "properties": {
181
+ "archetype": {
182
+ "type": "string",
183
+ "minLength": 1
184
+ },
185
+ "capabilities": {
186
+ "type": "object",
187
+ "additionalProperties": false,
188
+ "required": ["read", "write", "delegate", "review"],
189
+ "properties": {
190
+ "read": {
191
+ "const": true
192
+ },
193
+ "write": {
194
+ "type": "object",
195
+ "additionalProperties": false,
196
+ "required": ["enabled", "scopes"],
197
+ "properties": {
198
+ "enabled": {
199
+ "type": "boolean"
200
+ },
201
+ "scopes": {
202
+ "type": "array",
203
+ "items": {
204
+ "type": "string",
205
+ "minLength": 1
206
+ }
207
+ }
208
+ }
209
+ },
210
+ "delegate": {
211
+ "type": "boolean"
212
+ },
213
+ "review": {
214
+ "type": "boolean"
215
+ }
216
+ }
217
+ }
218
+ }
219
+ },
220
+ "quick": {
221
+ "type": "object",
222
+ "additionalProperties": false,
223
+ "required": ["archetype", "capabilities"],
224
+ "properties": {
225
+ "archetype": {
226
+ "type": "string",
227
+ "minLength": 1
228
+ },
229
+ "capabilities": {
230
+ "type": "object",
231
+ "additionalProperties": false,
232
+ "required": ["read", "write", "delegate", "review"],
233
+ "properties": {
234
+ "read": {
235
+ "const": true
236
+ },
237
+ "write": {
238
+ "type": "object",
239
+ "additionalProperties": false,
240
+ "required": ["enabled", "scopes"],
241
+ "properties": {
242
+ "enabled": {
243
+ "type": "boolean"
244
+ },
245
+ "scopes": {
246
+ "type": "array",
247
+ "items": {
248
+ "type": "string",
249
+ "minLength": 1
250
+ }
251
+ }
252
+ }
253
+ },
254
+ "delegate": {
255
+ "type": "boolean"
256
+ },
257
+ "review": {
258
+ "type": "boolean"
259
+ }
260
+ }
261
+ }
262
+ }
263
+ },
264
+ "researcher": {
265
+ "type": "object",
266
+ "additionalProperties": false,
267
+ "required": ["archetype", "capabilities"],
268
+ "properties": {
269
+ "archetype": {
270
+ "type": "string",
271
+ "minLength": 1
272
+ },
273
+ "capabilities": {
274
+ "type": "object",
275
+ "additionalProperties": false,
276
+ "required": ["read", "write", "delegate", "review"],
277
+ "properties": {
278
+ "read": {
279
+ "const": true
280
+ },
281
+ "write": {
282
+ "type": "object",
283
+ "additionalProperties": false,
284
+ "required": ["enabled", "scopes"],
285
+ "properties": {
286
+ "enabled": {
287
+ "type": "boolean"
288
+ },
289
+ "scopes": {
290
+ "type": "array",
291
+ "items": {
292
+ "type": "string",
293
+ "minLength": 1
294
+ }
295
+ }
296
+ }
297
+ },
298
+ "delegate": {
299
+ "type": "boolean"
300
+ },
301
+ "review": {
302
+ "type": "boolean"
303
+ }
304
+ }
305
+ }
306
+ }
307
+ },
308
+ "reviewer": {
309
+ "type": "object",
310
+ "additionalProperties": false,
311
+ "required": ["archetype", "capabilities"],
312
+ "properties": {
313
+ "archetype": {
314
+ "type": "string",
315
+ "minLength": 1
316
+ },
317
+ "capabilities": {
318
+ "type": "object",
319
+ "additionalProperties": false,
320
+ "required": ["read", "write", "delegate", "review"],
321
+ "properties": {
322
+ "read": {
323
+ "const": true
324
+ },
325
+ "write": {
326
+ "type": "object",
327
+ "additionalProperties": false,
328
+ "required": ["enabled", "scopes"],
329
+ "properties": {
330
+ "enabled": {
331
+ "type": "boolean"
332
+ },
333
+ "scopes": {
334
+ "type": "array",
335
+ "items": {
336
+ "type": "string",
337
+ "minLength": 1
338
+ }
339
+ }
340
+ }
341
+ },
342
+ "delegate": {
343
+ "type": "boolean"
344
+ },
345
+ "review": {
346
+ "type": "boolean"
347
+ }
348
+ }
349
+ }
350
+ }
351
+ }
352
+ }
353
+ },
354
+ "models": {
355
+ "type": "object",
356
+ "additionalProperties": false,
357
+ "required": [
358
+ "astra",
359
+ "sol",
360
+ "terra",
361
+ "luna",
362
+ "fable",
363
+ "opus",
364
+ "sonnet",
365
+ "haiku"
366
+ ],
367
+ "properties": {
368
+ "astra": {
369
+ "type": "object",
370
+ "additionalProperties": false,
371
+ "required": ["family", "id", "harnesses"],
372
+ "properties": {
373
+ "family": {
374
+ "enum": ["gpt", "claude"]
375
+ },
376
+ "id": {
377
+ "type": "string",
378
+ "pattern": "^[a-z][a-z0-9.-]*[0-9][a-z0-9.-]*$"
379
+ },
380
+ "harnesses": {
381
+ "type": "object",
382
+ "additionalProperties": false,
383
+ "required": [],
384
+ "properties": {
385
+ "codex": {
386
+ "type": "string",
387
+ "minLength": 1
388
+ },
389
+ "claude-code": {
390
+ "type": "string",
391
+ "minLength": 1
392
+ },
393
+ "opencode": {
394
+ "type": "string",
395
+ "minLength": 1
396
+ }
397
+ }
398
+ }
399
+ }
400
+ },
401
+ "sol": {
402
+ "type": "object",
403
+ "additionalProperties": false,
404
+ "required": ["family", "id", "harnesses"],
405
+ "properties": {
406
+ "family": {
407
+ "enum": ["gpt", "claude"]
408
+ },
409
+ "id": {
410
+ "type": "string",
411
+ "pattern": "^[a-z][a-z0-9.-]*[0-9][a-z0-9.-]*$"
412
+ },
413
+ "harnesses": {
414
+ "type": "object",
415
+ "additionalProperties": false,
416
+ "required": [],
417
+ "properties": {
418
+ "codex": {
419
+ "type": "string",
420
+ "minLength": 1
421
+ },
422
+ "claude-code": {
423
+ "type": "string",
424
+ "minLength": 1
425
+ },
426
+ "opencode": {
427
+ "type": "string",
428
+ "minLength": 1
429
+ }
430
+ }
431
+ }
432
+ }
433
+ },
434
+ "terra": {
435
+ "type": "object",
436
+ "additionalProperties": false,
437
+ "required": ["family", "id", "harnesses"],
438
+ "properties": {
439
+ "family": {
440
+ "enum": ["gpt", "claude"]
441
+ },
442
+ "id": {
443
+ "type": "string",
444
+ "pattern": "^[a-z][a-z0-9.-]*[0-9][a-z0-9.-]*$"
445
+ },
446
+ "harnesses": {
447
+ "type": "object",
448
+ "additionalProperties": false,
449
+ "required": [],
450
+ "properties": {
451
+ "codex": {
452
+ "type": "string",
453
+ "minLength": 1
454
+ },
455
+ "claude-code": {
456
+ "type": "string",
457
+ "minLength": 1
458
+ },
459
+ "opencode": {
460
+ "type": "string",
461
+ "minLength": 1
462
+ }
463
+ }
464
+ }
465
+ }
466
+ },
467
+ "luna": {
468
+ "type": "object",
469
+ "additionalProperties": false,
470
+ "required": ["family", "id", "harnesses"],
471
+ "properties": {
472
+ "family": {
473
+ "enum": ["gpt", "claude"]
474
+ },
475
+ "id": {
476
+ "type": "string",
477
+ "pattern": "^[a-z][a-z0-9.-]*[0-9][a-z0-9.-]*$"
478
+ },
479
+ "harnesses": {
480
+ "type": "object",
481
+ "additionalProperties": false,
482
+ "required": [],
483
+ "properties": {
484
+ "codex": {
485
+ "type": "string",
486
+ "minLength": 1
487
+ },
488
+ "claude-code": {
489
+ "type": "string",
490
+ "minLength": 1
491
+ },
492
+ "opencode": {
493
+ "type": "string",
494
+ "minLength": 1
495
+ }
496
+ }
497
+ }
498
+ }
499
+ },
500
+ "fable": {
501
+ "type": "object",
502
+ "additionalProperties": false,
503
+ "required": ["family", "id", "harnesses"],
504
+ "properties": {
505
+ "family": {
506
+ "enum": ["gpt", "claude"]
507
+ },
508
+ "id": {
509
+ "type": "string",
510
+ "pattern": "^[a-z][a-z0-9.-]*[0-9][a-z0-9.-]*$"
511
+ },
512
+ "harnesses": {
513
+ "type": "object",
514
+ "additionalProperties": false,
515
+ "required": [],
516
+ "properties": {
517
+ "codex": {
518
+ "type": "string",
519
+ "minLength": 1
520
+ },
521
+ "claude-code": {
522
+ "type": "string",
523
+ "minLength": 1
524
+ },
525
+ "opencode": {
526
+ "type": "string",
527
+ "minLength": 1
528
+ }
529
+ }
530
+ }
531
+ }
532
+ },
533
+ "opus": {
534
+ "type": "object",
535
+ "additionalProperties": false,
536
+ "required": ["family", "id", "harnesses"],
537
+ "properties": {
538
+ "family": {
539
+ "enum": ["gpt", "claude"]
540
+ },
541
+ "id": {
542
+ "type": "string",
543
+ "pattern": "^[a-z][a-z0-9.-]*[0-9][a-z0-9.-]*$"
544
+ },
545
+ "harnesses": {
546
+ "type": "object",
547
+ "additionalProperties": false,
548
+ "required": [],
549
+ "properties": {
550
+ "codex": {
551
+ "type": "string",
552
+ "minLength": 1
553
+ },
554
+ "claude-code": {
555
+ "type": "string",
556
+ "minLength": 1
557
+ },
558
+ "opencode": {
559
+ "type": "string",
560
+ "minLength": 1
561
+ }
562
+ }
563
+ }
564
+ }
565
+ },
566
+ "sonnet": {
567
+ "type": "object",
568
+ "additionalProperties": false,
569
+ "required": ["family", "id", "harnesses"],
570
+ "properties": {
571
+ "family": {
572
+ "enum": ["gpt", "claude"]
573
+ },
574
+ "id": {
575
+ "type": "string",
576
+ "pattern": "^[a-z][a-z0-9.-]*[0-9][a-z0-9.-]*$"
577
+ },
578
+ "harnesses": {
579
+ "type": "object",
580
+ "additionalProperties": false,
581
+ "required": [],
582
+ "properties": {
583
+ "codex": {
584
+ "type": "string",
585
+ "minLength": 1
586
+ },
587
+ "claude-code": {
588
+ "type": "string",
589
+ "minLength": 1
590
+ },
591
+ "opencode": {
592
+ "type": "string",
593
+ "minLength": 1
594
+ }
595
+ }
596
+ }
597
+ }
598
+ },
599
+ "haiku": {
600
+ "type": "object",
601
+ "additionalProperties": false,
602
+ "required": ["family", "id", "harnesses"],
603
+ "properties": {
604
+ "family": {
605
+ "enum": ["gpt", "claude"]
606
+ },
607
+ "id": {
608
+ "type": "string",
609
+ "pattern": "^[a-z][a-z0-9.-]*[0-9][a-z0-9.-]*$"
610
+ },
611
+ "harnesses": {
612
+ "type": "object",
613
+ "additionalProperties": false,
614
+ "required": [],
615
+ "properties": {
616
+ "codex": {
617
+ "type": "string",
618
+ "minLength": 1
619
+ },
620
+ "claude-code": {
621
+ "type": "string",
622
+ "minLength": 1
623
+ },
624
+ "opencode": {
625
+ "type": "string",
626
+ "minLength": 1
627
+ }
628
+ }
629
+ }
630
+ }
631
+ }
632
+ }
633
+ },
634
+ "bindings": {
635
+ "type": "object",
636
+ "additionalProperties": false,
637
+ "required": [
638
+ "planner:gpt",
639
+ "planner:claude",
640
+ "orchestrator:gpt",
641
+ "orchestrator:claude",
642
+ "implementer-senior:gpt",
643
+ "implementer-senior:claude",
644
+ "implementer:gpt",
645
+ "implementer:claude",
646
+ "quick:gpt",
647
+ "quick:claude",
648
+ "researcher:gpt",
649
+ "researcher:claude",
650
+ "reviewer:gpt",
651
+ "reviewer:claude"
652
+ ],
653
+ "properties": {
654
+ "planner:gpt": {
655
+ "type": "object",
656
+ "additionalProperties": false,
657
+ "required": [
658
+ "archetype",
659
+ "route",
660
+ "model",
661
+ "effortSupport",
662
+ "supportedEfforts",
663
+ "effort"
664
+ ],
665
+ "properties": {
666
+ "archetype": {
667
+ "enum": [
668
+ "planner",
669
+ "orchestrator",
670
+ "implementer-senior",
671
+ "implementer",
672
+ "quick",
673
+ "researcher",
674
+ "reviewer"
675
+ ]
676
+ },
677
+ "route": {
678
+ "enum": ["gpt", "claude"]
679
+ },
680
+ "model": {
681
+ "enum": [
682
+ "astra",
683
+ "sol",
684
+ "terra",
685
+ "luna",
686
+ "fable",
687
+ "opus",
688
+ "sonnet",
689
+ "haiku"
690
+ ]
691
+ },
692
+ "effortSupport": {
693
+ "enum": ["supported", "unsupported"]
694
+ },
695
+ "supportedEfforts": {
696
+ "type": "array",
697
+ "items": {
698
+ "enum": ["low", "medium", "high", "xhigh"]
699
+ },
700
+ "uniqueItems": true
701
+ },
702
+ "effort": {
703
+ "type": "object",
704
+ "additionalProperties": false,
705
+ "required": [],
706
+ "properties": {
707
+ "low": {
708
+ "enum": ["low", "medium", "high", "xhigh"]
709
+ },
710
+ "medium": {
711
+ "enum": ["low", "medium", "high", "xhigh"]
712
+ },
713
+ "high": {
714
+ "enum": ["low", "medium", "high", "xhigh"]
715
+ }
716
+ }
717
+ }
718
+ }
719
+ },
720
+ "planner:claude": {
721
+ "type": "object",
722
+ "additionalProperties": false,
723
+ "required": [
724
+ "archetype",
725
+ "route",
726
+ "model",
727
+ "effortSupport",
728
+ "supportedEfforts",
729
+ "effort"
730
+ ],
731
+ "properties": {
732
+ "archetype": {
733
+ "enum": [
734
+ "planner",
735
+ "orchestrator",
736
+ "implementer-senior",
737
+ "implementer",
738
+ "quick",
739
+ "researcher",
740
+ "reviewer"
741
+ ]
742
+ },
743
+ "route": {
744
+ "enum": ["gpt", "claude"]
745
+ },
746
+ "model": {
747
+ "enum": [
748
+ "astra",
749
+ "sol",
750
+ "terra",
751
+ "luna",
752
+ "fable",
753
+ "opus",
754
+ "sonnet",
755
+ "haiku"
756
+ ]
757
+ },
758
+ "effortSupport": {
759
+ "enum": ["supported", "unsupported"]
760
+ },
761
+ "supportedEfforts": {
762
+ "type": "array",
763
+ "items": {
764
+ "enum": ["low", "medium", "high", "xhigh"]
765
+ },
766
+ "uniqueItems": true
767
+ },
768
+ "effort": {
769
+ "type": "object",
770
+ "additionalProperties": false,
771
+ "required": [],
772
+ "properties": {
773
+ "low": {
774
+ "enum": ["low", "medium", "high", "xhigh"]
775
+ },
776
+ "medium": {
777
+ "enum": ["low", "medium", "high", "xhigh"]
778
+ },
779
+ "high": {
780
+ "enum": ["low", "medium", "high", "xhigh"]
781
+ }
782
+ }
783
+ }
784
+ }
785
+ },
786
+ "orchestrator:gpt": {
787
+ "type": "object",
788
+ "additionalProperties": false,
789
+ "required": [
790
+ "archetype",
791
+ "route",
792
+ "model",
793
+ "effortSupport",
794
+ "supportedEfforts",
795
+ "effort"
796
+ ],
797
+ "properties": {
798
+ "archetype": {
799
+ "enum": [
800
+ "planner",
801
+ "orchestrator",
802
+ "implementer-senior",
803
+ "implementer",
804
+ "quick",
805
+ "researcher",
806
+ "reviewer"
807
+ ]
808
+ },
809
+ "route": {
810
+ "enum": ["gpt", "claude"]
811
+ },
812
+ "model": {
813
+ "enum": [
814
+ "astra",
815
+ "sol",
816
+ "terra",
817
+ "luna",
818
+ "fable",
819
+ "opus",
820
+ "sonnet",
821
+ "haiku"
822
+ ]
823
+ },
824
+ "effortSupport": {
825
+ "enum": ["supported", "unsupported"]
826
+ },
827
+ "supportedEfforts": {
828
+ "type": "array",
829
+ "items": {
830
+ "enum": ["low", "medium", "high", "xhigh"]
831
+ },
832
+ "uniqueItems": true
833
+ },
834
+ "effort": {
835
+ "type": "object",
836
+ "additionalProperties": false,
837
+ "required": [],
838
+ "properties": {
839
+ "low": {
840
+ "enum": ["low", "medium", "high", "xhigh"]
841
+ },
842
+ "medium": {
843
+ "enum": ["low", "medium", "high", "xhigh"]
844
+ },
845
+ "high": {
846
+ "enum": ["low", "medium", "high", "xhigh"]
847
+ }
848
+ }
849
+ }
850
+ }
851
+ },
852
+ "orchestrator:claude": {
853
+ "type": "object",
854
+ "additionalProperties": false,
855
+ "required": [
856
+ "archetype",
857
+ "route",
858
+ "model",
859
+ "effortSupport",
860
+ "supportedEfforts",
861
+ "effort"
862
+ ],
863
+ "properties": {
864
+ "archetype": {
865
+ "enum": [
866
+ "planner",
867
+ "orchestrator",
868
+ "implementer-senior",
869
+ "implementer",
870
+ "quick",
871
+ "researcher",
872
+ "reviewer"
873
+ ]
874
+ },
875
+ "route": {
876
+ "enum": ["gpt", "claude"]
877
+ },
878
+ "model": {
879
+ "enum": [
880
+ "astra",
881
+ "sol",
882
+ "terra",
883
+ "luna",
884
+ "fable",
885
+ "opus",
886
+ "sonnet",
887
+ "haiku"
888
+ ]
889
+ },
890
+ "effortSupport": {
891
+ "enum": ["supported", "unsupported"]
892
+ },
893
+ "supportedEfforts": {
894
+ "type": "array",
895
+ "items": {
896
+ "enum": ["low", "medium", "high", "xhigh"]
897
+ },
898
+ "uniqueItems": true
899
+ },
900
+ "effort": {
901
+ "type": "object",
902
+ "additionalProperties": false,
903
+ "required": [],
904
+ "properties": {
905
+ "low": {
906
+ "enum": ["low", "medium", "high", "xhigh"]
907
+ },
908
+ "medium": {
909
+ "enum": ["low", "medium", "high", "xhigh"]
910
+ },
911
+ "high": {
912
+ "enum": ["low", "medium", "high", "xhigh"]
913
+ }
914
+ }
915
+ }
916
+ }
917
+ },
918
+ "implementer-senior:gpt": {
919
+ "type": "object",
920
+ "additionalProperties": false,
921
+ "required": [
922
+ "archetype",
923
+ "route",
924
+ "model",
925
+ "effortSupport",
926
+ "supportedEfforts",
927
+ "effort"
928
+ ],
929
+ "properties": {
930
+ "archetype": {
931
+ "enum": [
932
+ "planner",
933
+ "orchestrator",
934
+ "implementer-senior",
935
+ "implementer",
936
+ "quick",
937
+ "researcher",
938
+ "reviewer"
939
+ ]
940
+ },
941
+ "route": {
942
+ "enum": ["gpt", "claude"]
943
+ },
944
+ "model": {
945
+ "enum": [
946
+ "astra",
947
+ "sol",
948
+ "terra",
949
+ "luna",
950
+ "fable",
951
+ "opus",
952
+ "sonnet",
953
+ "haiku"
954
+ ]
955
+ },
956
+ "effortSupport": {
957
+ "enum": ["supported", "unsupported"]
958
+ },
959
+ "supportedEfforts": {
960
+ "type": "array",
961
+ "items": {
962
+ "enum": ["low", "medium", "high", "xhigh"]
963
+ },
964
+ "uniqueItems": true
965
+ },
966
+ "effort": {
967
+ "type": "object",
968
+ "additionalProperties": false,
969
+ "required": [],
970
+ "properties": {
971
+ "low": {
972
+ "enum": ["low", "medium", "high", "xhigh"]
973
+ },
974
+ "medium": {
975
+ "enum": ["low", "medium", "high", "xhigh"]
976
+ },
977
+ "high": {
978
+ "enum": ["low", "medium", "high", "xhigh"]
979
+ }
980
+ }
981
+ }
982
+ }
983
+ },
984
+ "implementer-senior:claude": {
985
+ "type": "object",
986
+ "additionalProperties": false,
987
+ "required": [
988
+ "archetype",
989
+ "route",
990
+ "model",
991
+ "effortSupport",
992
+ "supportedEfforts",
993
+ "effort"
994
+ ],
995
+ "properties": {
996
+ "archetype": {
997
+ "enum": [
998
+ "planner",
999
+ "orchestrator",
1000
+ "implementer-senior",
1001
+ "implementer",
1002
+ "quick",
1003
+ "researcher",
1004
+ "reviewer"
1005
+ ]
1006
+ },
1007
+ "route": {
1008
+ "enum": ["gpt", "claude"]
1009
+ },
1010
+ "model": {
1011
+ "enum": [
1012
+ "astra",
1013
+ "sol",
1014
+ "terra",
1015
+ "luna",
1016
+ "fable",
1017
+ "opus",
1018
+ "sonnet",
1019
+ "haiku"
1020
+ ]
1021
+ },
1022
+ "effortSupport": {
1023
+ "enum": ["supported", "unsupported"]
1024
+ },
1025
+ "supportedEfforts": {
1026
+ "type": "array",
1027
+ "items": {
1028
+ "enum": ["low", "medium", "high", "xhigh"]
1029
+ },
1030
+ "uniqueItems": true
1031
+ },
1032
+ "effort": {
1033
+ "type": "object",
1034
+ "additionalProperties": false,
1035
+ "required": [],
1036
+ "properties": {
1037
+ "low": {
1038
+ "enum": ["low", "medium", "high", "xhigh"]
1039
+ },
1040
+ "medium": {
1041
+ "enum": ["low", "medium", "high", "xhigh"]
1042
+ },
1043
+ "high": {
1044
+ "enum": ["low", "medium", "high", "xhigh"]
1045
+ }
1046
+ }
1047
+ }
1048
+ }
1049
+ },
1050
+ "implementer:gpt": {
1051
+ "type": "object",
1052
+ "additionalProperties": false,
1053
+ "required": [
1054
+ "archetype",
1055
+ "route",
1056
+ "model",
1057
+ "effortSupport",
1058
+ "supportedEfforts",
1059
+ "effort"
1060
+ ],
1061
+ "properties": {
1062
+ "archetype": {
1063
+ "enum": [
1064
+ "planner",
1065
+ "orchestrator",
1066
+ "implementer-senior",
1067
+ "implementer",
1068
+ "quick",
1069
+ "researcher",
1070
+ "reviewer"
1071
+ ]
1072
+ },
1073
+ "route": {
1074
+ "enum": ["gpt", "claude"]
1075
+ },
1076
+ "model": {
1077
+ "enum": [
1078
+ "astra",
1079
+ "sol",
1080
+ "terra",
1081
+ "luna",
1082
+ "fable",
1083
+ "opus",
1084
+ "sonnet",
1085
+ "haiku"
1086
+ ]
1087
+ },
1088
+ "effortSupport": {
1089
+ "enum": ["supported", "unsupported"]
1090
+ },
1091
+ "supportedEfforts": {
1092
+ "type": "array",
1093
+ "items": {
1094
+ "enum": ["low", "medium", "high", "xhigh"]
1095
+ },
1096
+ "uniqueItems": true
1097
+ },
1098
+ "effort": {
1099
+ "type": "object",
1100
+ "additionalProperties": false,
1101
+ "required": [],
1102
+ "properties": {
1103
+ "low": {
1104
+ "enum": ["low", "medium", "high", "xhigh"]
1105
+ },
1106
+ "medium": {
1107
+ "enum": ["low", "medium", "high", "xhigh"]
1108
+ },
1109
+ "high": {
1110
+ "enum": ["low", "medium", "high", "xhigh"]
1111
+ }
1112
+ }
1113
+ }
1114
+ }
1115
+ },
1116
+ "implementer:claude": {
1117
+ "type": "object",
1118
+ "additionalProperties": false,
1119
+ "required": [
1120
+ "archetype",
1121
+ "route",
1122
+ "model",
1123
+ "effortSupport",
1124
+ "supportedEfforts",
1125
+ "effort"
1126
+ ],
1127
+ "properties": {
1128
+ "archetype": {
1129
+ "enum": [
1130
+ "planner",
1131
+ "orchestrator",
1132
+ "implementer-senior",
1133
+ "implementer",
1134
+ "quick",
1135
+ "researcher",
1136
+ "reviewer"
1137
+ ]
1138
+ },
1139
+ "route": {
1140
+ "enum": ["gpt", "claude"]
1141
+ },
1142
+ "model": {
1143
+ "enum": [
1144
+ "astra",
1145
+ "sol",
1146
+ "terra",
1147
+ "luna",
1148
+ "fable",
1149
+ "opus",
1150
+ "sonnet",
1151
+ "haiku"
1152
+ ]
1153
+ },
1154
+ "effortSupport": {
1155
+ "enum": ["supported", "unsupported"]
1156
+ },
1157
+ "supportedEfforts": {
1158
+ "type": "array",
1159
+ "items": {
1160
+ "enum": ["low", "medium", "high", "xhigh"]
1161
+ },
1162
+ "uniqueItems": true
1163
+ },
1164
+ "effort": {
1165
+ "type": "object",
1166
+ "additionalProperties": false,
1167
+ "required": [],
1168
+ "properties": {
1169
+ "low": {
1170
+ "enum": ["low", "medium", "high", "xhigh"]
1171
+ },
1172
+ "medium": {
1173
+ "enum": ["low", "medium", "high", "xhigh"]
1174
+ },
1175
+ "high": {
1176
+ "enum": ["low", "medium", "high", "xhigh"]
1177
+ }
1178
+ }
1179
+ }
1180
+ }
1181
+ },
1182
+ "quick:gpt": {
1183
+ "type": "object",
1184
+ "additionalProperties": false,
1185
+ "required": [
1186
+ "archetype",
1187
+ "route",
1188
+ "model",
1189
+ "effortSupport",
1190
+ "supportedEfforts",
1191
+ "effort"
1192
+ ],
1193
+ "properties": {
1194
+ "archetype": {
1195
+ "enum": [
1196
+ "planner",
1197
+ "orchestrator",
1198
+ "implementer-senior",
1199
+ "implementer",
1200
+ "quick",
1201
+ "researcher",
1202
+ "reviewer"
1203
+ ]
1204
+ },
1205
+ "route": {
1206
+ "enum": ["gpt", "claude"]
1207
+ },
1208
+ "model": {
1209
+ "enum": [
1210
+ "astra",
1211
+ "sol",
1212
+ "terra",
1213
+ "luna",
1214
+ "fable",
1215
+ "opus",
1216
+ "sonnet",
1217
+ "haiku"
1218
+ ]
1219
+ },
1220
+ "effortSupport": {
1221
+ "enum": ["supported", "unsupported"]
1222
+ },
1223
+ "supportedEfforts": {
1224
+ "type": "array",
1225
+ "items": {
1226
+ "enum": ["low", "medium", "high", "xhigh"]
1227
+ },
1228
+ "uniqueItems": true
1229
+ },
1230
+ "effort": {
1231
+ "type": "object",
1232
+ "additionalProperties": false,
1233
+ "required": [],
1234
+ "properties": {
1235
+ "low": {
1236
+ "enum": ["low", "medium", "high", "xhigh"]
1237
+ },
1238
+ "medium": {
1239
+ "enum": ["low", "medium", "high", "xhigh"]
1240
+ },
1241
+ "high": {
1242
+ "enum": ["low", "medium", "high", "xhigh"]
1243
+ }
1244
+ }
1245
+ }
1246
+ }
1247
+ },
1248
+ "quick:claude": {
1249
+ "type": "object",
1250
+ "additionalProperties": false,
1251
+ "required": [
1252
+ "archetype",
1253
+ "route",
1254
+ "model",
1255
+ "effortSupport",
1256
+ "supportedEfforts",
1257
+ "effort"
1258
+ ],
1259
+ "properties": {
1260
+ "archetype": {
1261
+ "enum": [
1262
+ "planner",
1263
+ "orchestrator",
1264
+ "implementer-senior",
1265
+ "implementer",
1266
+ "quick",
1267
+ "researcher",
1268
+ "reviewer"
1269
+ ]
1270
+ },
1271
+ "route": {
1272
+ "enum": ["gpt", "claude"]
1273
+ },
1274
+ "model": {
1275
+ "enum": [
1276
+ "astra",
1277
+ "sol",
1278
+ "terra",
1279
+ "luna",
1280
+ "fable",
1281
+ "opus",
1282
+ "sonnet",
1283
+ "haiku"
1284
+ ]
1285
+ },
1286
+ "effortSupport": {
1287
+ "enum": ["supported", "unsupported"]
1288
+ },
1289
+ "supportedEfforts": {
1290
+ "type": "array",
1291
+ "items": {
1292
+ "enum": ["low", "medium", "high", "xhigh"]
1293
+ },
1294
+ "uniqueItems": true
1295
+ },
1296
+ "effort": {
1297
+ "type": "object",
1298
+ "additionalProperties": false,
1299
+ "required": [],
1300
+ "properties": {
1301
+ "low": {
1302
+ "enum": ["low", "medium", "high", "xhigh"]
1303
+ },
1304
+ "medium": {
1305
+ "enum": ["low", "medium", "high", "xhigh"]
1306
+ },
1307
+ "high": {
1308
+ "enum": ["low", "medium", "high", "xhigh"]
1309
+ }
1310
+ }
1311
+ }
1312
+ }
1313
+ },
1314
+ "researcher:gpt": {
1315
+ "type": "object",
1316
+ "additionalProperties": false,
1317
+ "required": [
1318
+ "archetype",
1319
+ "route",
1320
+ "model",
1321
+ "effortSupport",
1322
+ "supportedEfforts",
1323
+ "effort"
1324
+ ],
1325
+ "properties": {
1326
+ "archetype": {
1327
+ "enum": [
1328
+ "planner",
1329
+ "orchestrator",
1330
+ "implementer-senior",
1331
+ "implementer",
1332
+ "quick",
1333
+ "researcher",
1334
+ "reviewer"
1335
+ ]
1336
+ },
1337
+ "route": {
1338
+ "enum": ["gpt", "claude"]
1339
+ },
1340
+ "model": {
1341
+ "enum": [
1342
+ "astra",
1343
+ "sol",
1344
+ "terra",
1345
+ "luna",
1346
+ "fable",
1347
+ "opus",
1348
+ "sonnet",
1349
+ "haiku"
1350
+ ]
1351
+ },
1352
+ "effortSupport": {
1353
+ "enum": ["supported", "unsupported"]
1354
+ },
1355
+ "supportedEfforts": {
1356
+ "type": "array",
1357
+ "items": {
1358
+ "enum": ["low", "medium", "high", "xhigh"]
1359
+ },
1360
+ "uniqueItems": true
1361
+ },
1362
+ "effort": {
1363
+ "type": "object",
1364
+ "additionalProperties": false,
1365
+ "required": [],
1366
+ "properties": {
1367
+ "low": {
1368
+ "enum": ["low", "medium", "high", "xhigh"]
1369
+ },
1370
+ "medium": {
1371
+ "enum": ["low", "medium", "high", "xhigh"]
1372
+ },
1373
+ "high": {
1374
+ "enum": ["low", "medium", "high", "xhigh"]
1375
+ }
1376
+ }
1377
+ }
1378
+ }
1379
+ },
1380
+ "researcher:claude": {
1381
+ "type": "object",
1382
+ "additionalProperties": false,
1383
+ "required": [
1384
+ "archetype",
1385
+ "route",
1386
+ "model",
1387
+ "effortSupport",
1388
+ "supportedEfforts",
1389
+ "effort"
1390
+ ],
1391
+ "properties": {
1392
+ "archetype": {
1393
+ "enum": [
1394
+ "planner",
1395
+ "orchestrator",
1396
+ "implementer-senior",
1397
+ "implementer",
1398
+ "quick",
1399
+ "researcher",
1400
+ "reviewer"
1401
+ ]
1402
+ },
1403
+ "route": {
1404
+ "enum": ["gpt", "claude"]
1405
+ },
1406
+ "model": {
1407
+ "enum": [
1408
+ "astra",
1409
+ "sol",
1410
+ "terra",
1411
+ "luna",
1412
+ "fable",
1413
+ "opus",
1414
+ "sonnet",
1415
+ "haiku"
1416
+ ]
1417
+ },
1418
+ "effortSupport": {
1419
+ "enum": ["supported", "unsupported"]
1420
+ },
1421
+ "supportedEfforts": {
1422
+ "type": "array",
1423
+ "items": {
1424
+ "enum": ["low", "medium", "high", "xhigh"]
1425
+ },
1426
+ "uniqueItems": true
1427
+ },
1428
+ "effort": {
1429
+ "type": "object",
1430
+ "additionalProperties": false,
1431
+ "required": [],
1432
+ "properties": {
1433
+ "low": {
1434
+ "enum": ["low", "medium", "high", "xhigh"]
1435
+ },
1436
+ "medium": {
1437
+ "enum": ["low", "medium", "high", "xhigh"]
1438
+ },
1439
+ "high": {
1440
+ "enum": ["low", "medium", "high", "xhigh"]
1441
+ }
1442
+ }
1443
+ }
1444
+ }
1445
+ },
1446
+ "reviewer:gpt": {
1447
+ "type": "object",
1448
+ "additionalProperties": false,
1449
+ "required": [
1450
+ "archetype",
1451
+ "route",
1452
+ "model",
1453
+ "effortSupport",
1454
+ "supportedEfforts",
1455
+ "effort"
1456
+ ],
1457
+ "properties": {
1458
+ "archetype": {
1459
+ "enum": [
1460
+ "planner",
1461
+ "orchestrator",
1462
+ "implementer-senior",
1463
+ "implementer",
1464
+ "quick",
1465
+ "researcher",
1466
+ "reviewer"
1467
+ ]
1468
+ },
1469
+ "route": {
1470
+ "enum": ["gpt", "claude"]
1471
+ },
1472
+ "model": {
1473
+ "enum": [
1474
+ "astra",
1475
+ "sol",
1476
+ "terra",
1477
+ "luna",
1478
+ "fable",
1479
+ "opus",
1480
+ "sonnet",
1481
+ "haiku"
1482
+ ]
1483
+ },
1484
+ "effortSupport": {
1485
+ "enum": ["supported", "unsupported"]
1486
+ },
1487
+ "supportedEfforts": {
1488
+ "type": "array",
1489
+ "items": {
1490
+ "enum": ["low", "medium", "high", "xhigh"]
1491
+ },
1492
+ "uniqueItems": true
1493
+ },
1494
+ "effort": {
1495
+ "type": "object",
1496
+ "additionalProperties": false,
1497
+ "required": [],
1498
+ "properties": {
1499
+ "low": {
1500
+ "enum": ["low", "medium", "high", "xhigh"]
1501
+ },
1502
+ "medium": {
1503
+ "enum": ["low", "medium", "high", "xhigh"]
1504
+ },
1505
+ "high": {
1506
+ "enum": ["low", "medium", "high", "xhigh"]
1507
+ }
1508
+ }
1509
+ }
1510
+ }
1511
+ },
1512
+ "reviewer:claude": {
1513
+ "type": "object",
1514
+ "additionalProperties": false,
1515
+ "required": [
1516
+ "archetype",
1517
+ "route",
1518
+ "model",
1519
+ "effortSupport",
1520
+ "supportedEfforts",
1521
+ "effort"
1522
+ ],
1523
+ "properties": {
1524
+ "archetype": {
1525
+ "enum": [
1526
+ "planner",
1527
+ "orchestrator",
1528
+ "implementer-senior",
1529
+ "implementer",
1530
+ "quick",
1531
+ "researcher",
1532
+ "reviewer"
1533
+ ]
1534
+ },
1535
+ "route": {
1536
+ "enum": ["gpt", "claude"]
1537
+ },
1538
+ "model": {
1539
+ "enum": [
1540
+ "astra",
1541
+ "sol",
1542
+ "terra",
1543
+ "luna",
1544
+ "fable",
1545
+ "opus",
1546
+ "sonnet",
1547
+ "haiku"
1548
+ ]
1549
+ },
1550
+ "effortSupport": {
1551
+ "enum": ["supported", "unsupported"]
1552
+ },
1553
+ "supportedEfforts": {
1554
+ "type": "array",
1555
+ "items": {
1556
+ "enum": ["low", "medium", "high", "xhigh"]
1557
+ },
1558
+ "uniqueItems": true
1559
+ },
1560
+ "effort": {
1561
+ "type": "object",
1562
+ "additionalProperties": false,
1563
+ "required": [],
1564
+ "properties": {
1565
+ "low": {
1566
+ "enum": ["low", "medium", "high", "xhigh"]
1567
+ },
1568
+ "medium": {
1569
+ "enum": ["low", "medium", "high", "xhigh"]
1570
+ },
1571
+ "high": {
1572
+ "enum": ["low", "medium", "high", "xhigh"]
1573
+ }
1574
+ }
1575
+ }
1576
+ }
1577
+ }
1578
+ }
1579
+ },
1580
+ "presets": {
1581
+ "const": {
1582
+ "codex": {
1583
+ "planner": "planner:gpt",
1584
+ "orchestrator": "orchestrator:gpt",
1585
+ "implementer-senior": "implementer-senior:gpt",
1586
+ "implementer": "implementer:gpt",
1587
+ "quick": "quick:gpt",
1588
+ "researcher": "researcher:gpt",
1589
+ "reviewer": "reviewer:gpt"
1590
+ },
1591
+ "claude-code": {
1592
+ "planner": "planner:claude",
1593
+ "orchestrator": "orchestrator:claude",
1594
+ "implementer-senior": "implementer-senior:claude",
1595
+ "implementer": "implementer:claude",
1596
+ "quick": "quick:claude",
1597
+ "researcher": "researcher:claude",
1598
+ "reviewer": "reviewer:claude"
1599
+ },
1600
+ "opencode": {
1601
+ "defaultRoute": "gpt",
1602
+ "routes": ["gpt", "claude"]
1603
+ }
1604
+ }
1605
+ },
1606
+ "taskContract": {
1607
+ "const": {
1608
+ "requiredFields": [
1609
+ "ID",
1610
+ "Objective",
1611
+ "Role",
1612
+ "Binding",
1613
+ "Effort",
1614
+ "Dependencies",
1615
+ "Write Scope",
1616
+ "Acceptance Criteria",
1617
+ "Validation Commands"
1618
+ ],
1619
+ "approvalMarker": "Approved-Plan-SHA256",
1620
+ "digestAlgorithm": "sha256"
1621
+ }
1622
+ },
1623
+ "reviewGate": {
1624
+ "const": {
1625
+ "requiredFor": "non-trivial",
1626
+ "role": "reviewer",
1627
+ "independent": true
1628
+ }
1629
+ },
1630
+ "handoff": {
1631
+ "const": [
1632
+ "Objective",
1633
+ "Evidence",
1634
+ "Work Or Findings",
1635
+ "Validation",
1636
+ "Risks",
1637
+ "Escalation"
1638
+ ]
1639
+ }
1640
+ }
1641
+ }