@ikon85/agent-workflow-kit 0.33.0 → 0.34.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 (85) hide show
  1. package/.agents/skills/ask-matt/SKILL.md +4 -3
  2. package/.agents/skills/audit-skills/SKILL.md +6 -0
  3. package/.agents/skills/board-to-waves/SKILL.md +6 -2
  4. package/.agents/skills/code-review/SKILL.md +6 -0
  5. package/.agents/skills/codebase-design/DESIGN-IT-TWICE.md +11 -1
  6. package/.agents/skills/codex-adapter-sync/SKILL.md +23 -19
  7. package/.agents/skills/improve-codebase-architecture/INTERFACE-DESIGN.md +6 -0
  8. package/.agents/skills/improve-codebase-architecture/SKILL.md +10 -1
  9. package/.agents/skills/kit-release/SKILL.md +29 -4
  10. package/.agents/skills/kit-update/SKILL.md +13 -0
  11. package/.agents/skills/orchestrate-wave/SKILL.md +1 -1
  12. package/.agents/skills/orchestrate-wave/references/dispatch-subagents.md +23 -11
  13. package/.agents/skills/orchestrate-wave/references/dispatch-workflow.md +8 -0
  14. package/.agents/skills/research/SKILL.md +6 -0
  15. package/.agents/skills/scale-check/SKILL.md +9 -7
  16. package/.agents/skills/setup-workflow/SKILL.md +47 -1
  17. package/.agents/skills/setup-workflow/board-sync.md +7 -2
  18. package/.agents/skills/setup-workflow/workflow-overview.md +1 -2
  19. package/.agents/skills/to-issues/SKILL.md +66 -8
  20. package/.agents/skills/to-waves/SKILL.md +24 -12
  21. package/.claude/skills/ask-matt/SKILL.md +4 -3
  22. package/.claude/skills/audit-skills/SKILL.md +6 -0
  23. package/.claude/skills/board-to-waves/SKILL.md +6 -2
  24. package/.claude/skills/code-review/SKILL.md +6 -0
  25. package/.claude/skills/codebase-design/DESIGN-IT-TWICE.md +8 -0
  26. package/.claude/skills/improve-codebase-architecture/INTERFACE-DESIGN.md +6 -0
  27. package/.claude/skills/improve-codebase-architecture/SKILL.md +6 -0
  28. package/.claude/skills/kit-release/SKILL.md +29 -4
  29. package/.claude/skills/kit-update/SKILL.md +13 -0
  30. package/.claude/skills/orchestrate-wave/SKILL.md +1 -1
  31. package/.claude/skills/orchestrate-wave/references/dispatch-subagents.md +23 -11
  32. package/.claude/skills/orchestrate-wave/references/dispatch-workflow.md +8 -0
  33. package/.claude/skills/research/SKILL.md +6 -0
  34. package/.claude/skills/scale-check/SKILL.md +9 -7
  35. package/.claude/skills/setup-workflow/SKILL.md +47 -1
  36. package/.claude/skills/setup-workflow/board-sync.md +7 -2
  37. package/.claude/skills/setup-workflow/workflow-overview.md +1 -2
  38. package/.claude/skills/to-issues/SKILL.md +66 -8
  39. package/.claude/skills/to-waves/SKILL.md +24 -12
  40. package/README.md +89 -13
  41. package/agent-workflow-kit.package.json +204 -44
  42. package/docs/adr/0004-release-intent-is-a-version-tag.md +42 -0
  43. package/docs/adr/0005-to-issues-is-the-planning-facade.md +42 -0
  44. package/docs/adr/0006-routing-knowledge-access-and-policy-are-separate.md +91 -0
  45. package/docs/agents/skills/local-ci.md +89 -0
  46. package/docs/agents/wave-anchor-template.md +2 -2
  47. package/docs/methodology.html +1 -1
  48. package/docs/methodology.svg +1 -1
  49. package/docs/workflow.html +2 -2
  50. package/docs/workflow.png +0 -0
  51. package/package.json +1 -1
  52. package/scripts/codex-exec.sh +47 -8
  53. package/scripts/codex-exec.test.mjs +56 -0
  54. package/scripts/kit-release.test.mjs +178 -0
  55. package/scripts/release-state.mjs +35 -5
  56. package/scripts/release-state.test.mjs +122 -5
  57. package/scripts/test_codex_adapter_sync_contract.py +30 -15
  58. package/scripts/test_orchestrate_wave_contract.py +73 -0
  59. package/scripts/test_program_planning_contract.py +70 -0
  60. package/scripts/test_skill_portability_lint.py +54 -0
  61. package/src/cli.mjs +109 -2
  62. package/src/commands/init.mjs +17 -1
  63. package/src/commands/routing-policy-update.mjs +204 -0
  64. package/src/commands/update.mjs +22 -0
  65. package/src/lib/agentSurfaceRegistry.mjs +60 -0
  66. package/src/lib/bundle.mjs +24 -0
  67. package/src/lib/capabilityMatrix.mjs +85 -0
  68. package/src/lib/dispatchReceipt.mjs +162 -0
  69. package/src/lib/frontendWorkloads.mjs +170 -0
  70. package/src/lib/routeDispatcher.mjs +158 -0
  71. package/src/lib/routingAccessGraph.mjs +105 -0
  72. package/src/lib/routingAdapters/claude.mjs +62 -0
  73. package/src/lib/routingAdapters/codex.mjs +136 -0
  74. package/src/lib/routingCatalog.mjs +123 -0
  75. package/src/lib/routingEvidenceCache.mjs +222 -0
  76. package/src/lib/routingIntent.mjs +93 -0
  77. package/src/lib/routingPolicy.mjs +67 -0
  78. package/src/lib/routingProfile.mjs +334 -0
  79. package/src/lib/routingResolver.mjs +176 -0
  80. package/src/lib/routingSources/artificialAnalysis.mjs +129 -0
  81. package/src/lib/routingSources/benchlm.mjs +151 -0
  82. package/src/lib/routingSources/codeArena.mjs +162 -0
  83. package/src/lib/routingSources/deepswe.mjs +106 -0
  84. package/src/lib/routingSources/openhands.mjs +102 -0
  85. package/src/lib/routingSources/openhandsFrontend.mjs +135 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "kitVersion": "0.33.0",
2
+ "kitVersion": "0.34.1",
3
3
  "files": [
4
4
  {
5
5
  "path": ".agents/skills/ask-matt/SKILL.md",
@@ -7,7 +7,7 @@
7
7
  "ownerSkill": "ask-matt",
8
8
  "surface": "codex",
9
9
  "installRole": "consumer",
10
- "sha256": "0e17025bf5f0c8363cc36031697b544d97978b3d3bbe4ebf39770fa878802a5e",
10
+ "sha256": "0581a5d3a784b33108ab159fc1732b11aa3a5ac145791a8551c93dd6bc83007c",
11
11
  "mode": 420,
12
12
  "origin": "kit"
13
13
  },
@@ -27,7 +27,7 @@
27
27
  "ownerSkill": "audit-skills",
28
28
  "surface": "codex",
29
29
  "installRole": "consumer",
30
- "sha256": "662c4dec0c03716c468f202f73f52140ceba84e092873e6619692dde6d7ed0f2",
30
+ "sha256": "99884fdb3370c5ba82167633c8cbdcf60b980a5f23e196d05695c6c416fe6ab9",
31
31
  "mode": 420,
32
32
  "origin": "kit"
33
33
  },
@@ -37,7 +37,7 @@
37
37
  "ownerSkill": "board-to-waves",
38
38
  "surface": "codex",
39
39
  "installRole": "consumer",
40
- "sha256": "203211bc1bd149918783de4ead312d94c4faf1e4ba25d2625ce34f99a0806282",
40
+ "sha256": "f51112a6eccb40b7029d5a94bfa0d1406e94abe51017f7a8b50d3b2bb74cf376",
41
41
  "mode": 420,
42
42
  "origin": "kit"
43
43
  },
@@ -57,7 +57,7 @@
57
57
  "ownerSkill": "code-review",
58
58
  "surface": "codex",
59
59
  "installRole": "consumer",
60
- "sha256": "9d0e54bd73bd4cdd810e714f1a5af07a4cd00b7cc07fe360e587abbf3005f2aa",
60
+ "sha256": "ca372c944ff134e2dc280b9841da29ba2a51cbfe6ef664fbf28258bdc110a774",
61
61
  "mode": 420,
62
62
  "origin": "kit"
63
63
  },
@@ -77,7 +77,7 @@
77
77
  "ownerSkill": "codebase-design",
78
78
  "surface": "codex",
79
79
  "installRole": "consumer",
80
- "sha256": "21c3264953bd30ee87b181a3ccaf0e70649f461e5ffd7dc654acee4ba1788b31",
80
+ "sha256": "c3ede6a6dddc2e3913a824e77b4e26bd11608c904702f4991ce8cc9cae30da1c",
81
81
  "mode": 420,
82
82
  "origin": "kit"
83
83
  },
@@ -107,7 +107,7 @@
107
107
  "ownerSkill": "codex-adapter-sync",
108
108
  "surface": "codex",
109
109
  "installRole": "consumer",
110
- "sha256": "ae398e40308e6ad8d6091c418435e2dca8a4f67e526ab85efa88e8e57c0354c2",
110
+ "sha256": "5c1822faf8f9c043d37e2f879c5c824ca9c421bb4c7be2cbdb627a33b3ac7b65",
111
111
  "mode": 420,
112
112
  "origin": "kit"
113
113
  },
@@ -327,7 +327,7 @@
327
327
  "ownerSkill": "improve-codebase-architecture",
328
328
  "surface": "codex",
329
329
  "installRole": "consumer",
330
- "sha256": "16214837a810306d358315e433d7abc174f64d8f0558b643678d887c876852d3",
330
+ "sha256": "a61a0b4b3bfd78826b87a75bcf73783f8e496e5625f18e8ed59bddb24e2cce40",
331
331
  "mode": 420,
332
332
  "origin": "kit"
333
333
  },
@@ -347,7 +347,7 @@
347
347
  "ownerSkill": "improve-codebase-architecture",
348
348
  "surface": "codex",
349
349
  "installRole": "consumer",
350
- "sha256": "594ef87762120abab778e454c27d240bf5b2c3411f7fe6c5f6ff028a6cdfeb4b",
350
+ "sha256": "dbe584d6afcae38072ecd8b86ff427f3d0cb5b90e7c8dcec55eef871e15b5f68",
351
351
  "mode": 420,
352
352
  "origin": "kit"
353
353
  },
@@ -367,7 +367,7 @@
367
367
  "ownerSkill": "kit-release",
368
368
  "surface": "codex",
369
369
  "installRole": "maintainer",
370
- "sha256": "d05a4059a19816ff302c119f797f1ea2b71554ecffac7a8f0b919cfe5517d940",
370
+ "sha256": "168879858199f19f124e8bc3722f430f65b44b1fb6409d9c2112e6ec02d9b561",
371
371
  "mode": 420,
372
372
  "origin": "kit"
373
373
  },
@@ -377,7 +377,7 @@
377
377
  "ownerSkill": "kit-update",
378
378
  "surface": "codex",
379
379
  "installRole": "consumer",
380
- "sha256": "249a45761bcb95148b1567d1bc4d1b622b9b8c41519de4e67b1ef4e33c9ee9fd",
380
+ "sha256": "c3487295864d1d8d765e1c453c80daf77d3f08a2b0017f614e44e85170913624",
381
381
  "mode": 420,
382
382
  "origin": "kit"
383
383
  },
@@ -417,7 +417,7 @@
417
417
  "ownerSkill": "orchestrate-wave",
418
418
  "surface": "codex",
419
419
  "installRole": "consumer",
420
- "sha256": "38247cadf15179e6f916674118fed6f0a19eb1097f123183a91bb18802113943",
420
+ "sha256": "849454b9e0af6df72bf611d1c3f00c475f132c728be22654a9794c8622fbce52",
421
421
  "mode": 420,
422
422
  "origin": "kit"
423
423
  },
@@ -427,7 +427,7 @@
427
427
  "ownerSkill": "orchestrate-wave",
428
428
  "surface": "codex",
429
429
  "installRole": "consumer",
430
- "sha256": "2e2be2fb931147cf232b33c9c23379bcce47558a25756d54f89c6ef2e8a365c3",
430
+ "sha256": "ba8d7a3064f8241ae7be03259e219ba751c28dfa325d3e48a9344fdf2d589c1e",
431
431
  "mode": 420,
432
432
  "origin": "kit"
433
433
  },
@@ -447,7 +447,7 @@
447
447
  "ownerSkill": "orchestrate-wave",
448
448
  "surface": "codex",
449
449
  "installRole": "consumer",
450
- "sha256": "bfb547225c6950d4566f87a0da42e85c4c5803236d5adc0787aba265d5c91a53",
450
+ "sha256": "3a281805aee83a771675f8f80b9bd9dee3c1b2f2b2ca58001b37d8565a7d9d7d",
451
451
  "mode": 420,
452
452
  "origin": "kit"
453
453
  },
@@ -507,7 +507,7 @@
507
507
  "ownerSkill": "research",
508
508
  "surface": "codex",
509
509
  "installRole": "consumer",
510
- "sha256": "b0f80dd6ce09d17ae65e081f117da28fa988869fe72a0db72cb7d9a269f45f1d",
510
+ "sha256": "cc5bade9d420c572a00d19c6a26ca4f40cc01d16a5d17b4d698f10bbc25f2680",
511
511
  "mode": 420,
512
512
  "origin": "kit"
513
513
  },
@@ -557,7 +557,7 @@
557
557
  "ownerSkill": "scale-check",
558
558
  "surface": "codex",
559
559
  "installRole": "consumer",
560
- "sha256": "314c9b5c2ae701e670e9826432131cb597394e4e72aa2f24ec100d1c169b8134",
560
+ "sha256": "c0055c9d1f7e48d712d85f587a60b9a7d69ee6ae3084a2af3e906c508aa77231",
561
561
  "mode": 420,
562
562
  "origin": "kit"
563
563
  },
@@ -587,7 +587,7 @@
587
587
  "ownerSkill": "setup-workflow",
588
588
  "surface": "codex",
589
589
  "installRole": "consumer",
590
- "sha256": "032c9654baf6f5e60007e7d0767a96ab823a442ed86cb52e801836130c9b5ba2",
590
+ "sha256": "928a771ecadd4b199169f20deb79647894fe3c0675973b0b97050cad0b675cc4",
591
591
  "mode": 420,
592
592
  "origin": "kit"
593
593
  },
@@ -677,7 +677,7 @@
677
677
  "ownerSkill": "setup-workflow",
678
678
  "surface": "codex",
679
679
  "installRole": "consumer",
680
- "sha256": "f0d6809b86eec77cf54bccc30e6a7603d831678fcc8b5f52b4e073f9f56a72a8",
680
+ "sha256": "7281bb67588328aa4a788cbefe69f396c4617569335ce47cfb45bb5607d3205e",
681
681
  "mode": 420,
682
682
  "origin": "kit"
683
683
  },
@@ -737,7 +737,7 @@
737
737
  "ownerSkill": "setup-workflow",
738
738
  "surface": "codex",
739
739
  "installRole": "consumer",
740
- "sha256": "e690b4901867163ba1853036ae935324e8790cbb7090833027d477e1a6eb2412",
740
+ "sha256": "80f686464ed1faf663acb5bb0b40a8847f4e22d806be04368354e60701cc356d",
741
741
  "mode": 420,
742
742
  "origin": "kit"
743
743
  },
@@ -847,7 +847,7 @@
847
847
  "ownerSkill": "to-issues",
848
848
  "surface": "codex",
849
849
  "installRole": "consumer",
850
- "sha256": "cae01235d1647e30bf60df93d32cb2f9be1b5dc908429514287aaf648f8094e1",
850
+ "sha256": "13fe336c736adc290a4f3a2cd8a796336e402d3622fa0f03480d59480295fbc8",
851
851
  "mode": 420,
852
852
  "origin": "kit"
853
853
  },
@@ -897,7 +897,7 @@
897
897
  "ownerSkill": "to-waves",
898
898
  "surface": "codex",
899
899
  "installRole": "consumer",
900
- "sha256": "0229b717783054c87c42e088d1323990b6a30ffc80b337b6c14caf5e8f7964d1",
900
+ "sha256": "fedf58030c901568dc64801d273f73b5adbb400feb6b624e648dd21ab31ff23e",
901
901
  "mode": 420,
902
902
  "origin": "kit"
903
903
  },
@@ -1199,7 +1199,7 @@
1199
1199
  "ownerSkill": "ask-matt",
1200
1200
  "surface": "claude",
1201
1201
  "installRole": "consumer",
1202
- "sha256": "acee6d16c4f77ba121eafc697706bceb9910fbf7d688683a1c3bfce8ab25bc11",
1202
+ "sha256": "94507e052d8fcb2f0a3beb355ff930aa34863d84b3ebc827bfc61a4a582ba597",
1203
1203
  "mode": 420,
1204
1204
  "origin": "kit"
1205
1205
  },
@@ -1219,7 +1219,7 @@
1219
1219
  "ownerSkill": "audit-skills",
1220
1220
  "surface": "claude",
1221
1221
  "installRole": "consumer",
1222
- "sha256": "dce7c13e9b9c2eb6fe9028f69fe2fe2d48ad50546327c9d9c1232191425f1b7c",
1222
+ "sha256": "e56c26c4595bf0ba0f9788917c696e626bfe66896547ff4b6ff282f1c247476e",
1223
1223
  "mode": 420,
1224
1224
  "origin": "kit"
1225
1225
  },
@@ -1229,7 +1229,7 @@
1229
1229
  "ownerSkill": "board-to-waves",
1230
1230
  "surface": "claude",
1231
1231
  "installRole": "consumer",
1232
- "sha256": "33c897cf670e57b41bf231be7cf1ce3e35634907c94f6b0e037a2eae19adf582",
1232
+ "sha256": "efcee45fb2979da7c992e280ba72df9330a6cffdb848bf5f26b4a49b3e2f24cc",
1233
1233
  "mode": 420,
1234
1234
  "origin": "kit"
1235
1235
  },
@@ -1249,7 +1249,7 @@
1249
1249
  "ownerSkill": "code-review",
1250
1250
  "surface": "claude",
1251
1251
  "installRole": "consumer",
1252
- "sha256": "9d0e54bd73bd4cdd810e714f1a5af07a4cd00b7cc07fe360e587abbf3005f2aa",
1252
+ "sha256": "ca372c944ff134e2dc280b9841da29ba2a51cbfe6ef664fbf28258bdc110a774",
1253
1253
  "mode": 420,
1254
1254
  "origin": "kit"
1255
1255
  },
@@ -1269,7 +1269,7 @@
1269
1269
  "ownerSkill": "codebase-design",
1270
1270
  "surface": "claude",
1271
1271
  "installRole": "consumer",
1272
- "sha256": "21c3264953bd30ee87b181a3ccaf0e70649f461e5ffd7dc654acee4ba1788b31",
1272
+ "sha256": "ea8b97f3609d581ba6980a9bc0b9724081d879487652342fbb2dc2af3c74d937",
1273
1273
  "mode": 420,
1274
1274
  "origin": "kit"
1275
1275
  },
@@ -1639,7 +1639,7 @@
1639
1639
  "ownerSkill": "improve-codebase-architecture",
1640
1640
  "surface": "claude",
1641
1641
  "installRole": "consumer",
1642
- "sha256": "8fffb7036b266d1a2e479911db75af8cda62a4ae08d74420dce9eb70aa14489e",
1642
+ "sha256": "0ddd7ba6f6ab014518c519d6767d0141ebc3ee0d09d3931dceedcab6948e6191",
1643
1643
  "mode": 420,
1644
1644
  "origin": "kit"
1645
1645
  },
@@ -1659,7 +1659,7 @@
1659
1659
  "ownerSkill": "improve-codebase-architecture",
1660
1660
  "surface": "claude",
1661
1661
  "installRole": "consumer",
1662
- "sha256": "bf96773f4ba75a53c8b916052e36a6c0f4bcae8b46b94bb72beb446048ca6d8a",
1662
+ "sha256": "d2077e2e539bad27e3118b17810a97da35841a530e5f7b8dfc1ff88ab49f9d50",
1663
1663
  "mode": 420,
1664
1664
  "origin": "kit"
1665
1665
  },
@@ -1679,7 +1679,7 @@
1679
1679
  "ownerSkill": "kit-release",
1680
1680
  "surface": "claude",
1681
1681
  "installRole": "maintainer",
1682
- "sha256": "d05a4059a19816ff302c119f797f1ea2b71554ecffac7a8f0b919cfe5517d940",
1682
+ "sha256": "168879858199f19f124e8bc3722f430f65b44b1fb6409d9c2112e6ec02d9b561",
1683
1683
  "mode": 420,
1684
1684
  "origin": "kit"
1685
1685
  },
@@ -1689,7 +1689,7 @@
1689
1689
  "ownerSkill": "kit-update",
1690
1690
  "surface": "claude",
1691
1691
  "installRole": "consumer",
1692
- "sha256": "249a45761bcb95148b1567d1bc4d1b622b9b8c41519de4e67b1ef4e33c9ee9fd",
1692
+ "sha256": "c3487295864d1d8d765e1c453c80daf77d3f08a2b0017f614e44e85170913624",
1693
1693
  "mode": 420,
1694
1694
  "origin": "kit"
1695
1695
  },
@@ -1729,7 +1729,7 @@
1729
1729
  "ownerSkill": "orchestrate-wave",
1730
1730
  "surface": "claude",
1731
1731
  "installRole": "consumer",
1732
- "sha256": "38247cadf15179e6f916674118fed6f0a19eb1097f123183a91bb18802113943",
1732
+ "sha256": "849454b9e0af6df72bf611d1c3f00c475f132c728be22654a9794c8622fbce52",
1733
1733
  "mode": 420,
1734
1734
  "origin": "kit"
1735
1735
  },
@@ -1739,7 +1739,7 @@
1739
1739
  "ownerSkill": "orchestrate-wave",
1740
1740
  "surface": "claude",
1741
1741
  "installRole": "consumer",
1742
- "sha256": "2e2be2fb931147cf232b33c9c23379bcce47558a25756d54f89c6ef2e8a365c3",
1742
+ "sha256": "ba8d7a3064f8241ae7be03259e219ba751c28dfa325d3e48a9344fdf2d589c1e",
1743
1743
  "mode": 420,
1744
1744
  "origin": "kit"
1745
1745
  },
@@ -1759,7 +1759,7 @@
1759
1759
  "ownerSkill": "orchestrate-wave",
1760
1760
  "surface": "claude",
1761
1761
  "installRole": "consumer",
1762
- "sha256": "c9b4308875d59415b074de8b98130d0c2378fda6a4d1e6ac9c332c74b9a9ea97",
1762
+ "sha256": "fb244997866b4ad01db7c7de8a22467d4c8399f030d236a517b6b9cc958d9177",
1763
1763
  "mode": 420,
1764
1764
  "origin": "kit"
1765
1765
  },
@@ -1819,7 +1819,7 @@
1819
1819
  "ownerSkill": "research",
1820
1820
  "surface": "claude",
1821
1821
  "installRole": "consumer",
1822
- "sha256": "af378829f015775a3bcd65ff466826722e99359017ae6bae227ca4c9bd14049c",
1822
+ "sha256": "8c8230cdabb1355d9fd1feeefc1ae14707f8b42aab999fb2577126310f4a5fa4",
1823
1823
  "mode": 420,
1824
1824
  "origin": "kit"
1825
1825
  },
@@ -1869,7 +1869,7 @@
1869
1869
  "ownerSkill": "scale-check",
1870
1870
  "surface": "claude",
1871
1871
  "installRole": "consumer",
1872
- "sha256": "314c9b5c2ae701e670e9826432131cb597394e4e72aa2f24ec100d1c169b8134",
1872
+ "sha256": "c0055c9d1f7e48d712d85f587a60b9a7d69ee6ae3084a2af3e906c508aa77231",
1873
1873
  "mode": 420,
1874
1874
  "origin": "kit"
1875
1875
  },
@@ -1919,7 +1919,7 @@
1919
1919
  "ownerSkill": "setup-workflow",
1920
1920
  "surface": "claude",
1921
1921
  "installRole": "consumer",
1922
- "sha256": "032c9654baf6f5e60007e7d0767a96ab823a442ed86cb52e801836130c9b5ba2",
1922
+ "sha256": "928a771ecadd4b199169f20deb79647894fe3c0675973b0b97050cad0b675cc4",
1923
1923
  "mode": 420,
1924
1924
  "origin": "kit"
1925
1925
  },
@@ -2009,7 +2009,7 @@
2009
2009
  "ownerSkill": "setup-workflow",
2010
2010
  "surface": "claude",
2011
2011
  "installRole": "consumer",
2012
- "sha256": "f0d6809b86eec77cf54bccc30e6a7603d831678fcc8b5f52b4e073f9f56a72a8",
2012
+ "sha256": "7281bb67588328aa4a788cbefe69f396c4617569335ce47cfb45bb5607d3205e",
2013
2013
  "mode": 420,
2014
2014
  "origin": "kit"
2015
2015
  },
@@ -2069,7 +2069,7 @@
2069
2069
  "ownerSkill": "setup-workflow",
2070
2070
  "surface": "claude",
2071
2071
  "installRole": "consumer",
2072
- "sha256": "e690b4901867163ba1853036ae935324e8790cbb7090833027d477e1a6eb2412",
2072
+ "sha256": "80f686464ed1faf663acb5bb0b40a8847f4e22d806be04368354e60701cc356d",
2073
2073
  "mode": 420,
2074
2074
  "origin": "kit"
2075
2075
  },
@@ -2187,7 +2187,7 @@
2187
2187
  "ownerSkill": "to-issues",
2188
2188
  "surface": "claude",
2189
2189
  "installRole": "consumer",
2190
- "sha256": "874a636bde53180dab4d69b801c7d3a5c5cbdaf74e1969af56c8d7805163ef24",
2190
+ "sha256": "60a41f58bbf0d1507c3116aeef7b8bb6ba62747866fd3bf8dff298c899341d93",
2191
2191
  "mode": 420,
2192
2192
  "origin": "kit"
2193
2193
  },
@@ -2237,7 +2237,7 @@
2237
2237
  "ownerSkill": "to-waves",
2238
2238
  "surface": "claude",
2239
2239
  "installRole": "consumer",
2240
- "sha256": "0229b717783054c87c42e088d1323990b6a30ffc80b337b6c14caf5e8f7964d1",
2240
+ "sha256": "fedf58030c901568dc64801d273f73b5adbb400feb6b624e648dd21ab31ff23e",
2241
2241
  "mode": 420,
2242
2242
  "origin": "kit"
2243
2243
  },
@@ -2399,7 +2399,7 @@
2399
2399
  "path": "docs/agents/wave-anchor-template.md",
2400
2400
  "kind": "template",
2401
2401
  "installRole": "consumer",
2402
- "sha256": "09a7c9378c5cba4d5c4d9f7e1e39041e60bbcaa3fea38731a2841bf0c5f0ceda",
2402
+ "sha256": "92e52c6d1db28f37c012646de6d0b073bcdffde30d84f84499b55a7fd1240ab1",
2403
2403
  "mode": 420,
2404
2404
  "origin": "kit"
2405
2405
  },
@@ -2495,7 +2495,7 @@
2495
2495
  "path": "scripts/codex-exec.sh",
2496
2496
  "kind": "script",
2497
2497
  "installRole": "consumer",
2498
- "sha256": "c5d60648cb09343996efc98614dbd0c78b18672891bf466e5a8c5aba359d5df8",
2498
+ "sha256": "a9a971a5a07f455739d2d8a7de3620fc601126af7e5a6eb83e8277a06b69aae6",
2499
2499
  "mode": 493,
2500
2500
  "origin": "kit"
2501
2501
  },
@@ -2671,7 +2671,7 @@
2671
2671
  "path": "scripts/release-state.mjs",
2672
2672
  "kind": "script",
2673
2673
  "installRole": "consumer",
2674
- "sha256": "2aae056a8e0e945dbf68298236719c78e22f13dbd8f0c3466b969355d3809058",
2674
+ "sha256": "23b4ffc77e9b499587fa563d067b1df9ae81b87a654d636281c7d139e5842687",
2675
2675
  "mode": 420,
2676
2676
  "origin": "kit"
2677
2677
  },
@@ -2803,6 +2803,22 @@
2803
2803
  "mode": 493,
2804
2804
  "origin": "kit"
2805
2805
  },
2806
+ {
2807
+ "path": "src/commands/routing-policy-update.mjs",
2808
+ "kind": "script",
2809
+ "installRole": "consumer",
2810
+ "sha256": "1dfb532c26cea8ad4adefc3f0beb6a47774bb34f120e611d5a0dbab12b1d53bd",
2811
+ "mode": 420,
2812
+ "origin": "kit"
2813
+ },
2814
+ {
2815
+ "path": "src/lib/agentSurfaceRegistry.mjs",
2816
+ "kind": "script",
2817
+ "installRole": "consumer",
2818
+ "sha256": "655f276b41f7cb2a7a8c4404c1bca11e36964c1137507755f5d3ea1f71c5e5a1",
2819
+ "mode": 420,
2820
+ "origin": "kit"
2821
+ },
2806
2822
  {
2807
2823
  "path": "src/lib/atomicWrite.mjs",
2808
2824
  "kind": "script",
@@ -2815,7 +2831,23 @@
2815
2831
  "path": "src/lib/capabilityMatrix.mjs",
2816
2832
  "kind": "script",
2817
2833
  "installRole": "consumer",
2818
- "sha256": "9ea051edad14972281e8d19664eeec7dbd91d57b21e5d97e4eeea7323c5241e1",
2834
+ "sha256": "183938e9580c6f17f52a2188e113eab615384291ff59b8ead7427ee751b88833",
2835
+ "mode": 420,
2836
+ "origin": "kit"
2837
+ },
2838
+ {
2839
+ "path": "src/lib/dispatchReceipt.mjs",
2840
+ "kind": "script",
2841
+ "installRole": "consumer",
2842
+ "sha256": "fa995be02e1325c9e98f0ab0677ee5cb82b15cf4b696f44d056407cb72906081",
2843
+ "mode": 420,
2844
+ "origin": "kit"
2845
+ },
2846
+ {
2847
+ "path": "src/lib/frontendWorkloads.mjs",
2848
+ "kind": "script",
2849
+ "installRole": "consumer",
2850
+ "sha256": "695cb784564ddfe24f42cd92463ad7fbc4baeb555a6a36a7e180830a5a917146",
2819
2851
  "mode": 420,
2820
2852
  "origin": "kit"
2821
2853
  },
@@ -2859,6 +2891,134 @@
2859
2891
  "mode": 420,
2860
2892
  "origin": "kit"
2861
2893
  },
2894
+ {
2895
+ "path": "src/lib/routeDispatcher.mjs",
2896
+ "kind": "script",
2897
+ "installRole": "consumer",
2898
+ "sha256": "937274005959b1d96ef08a69af2fc4632571376787fa79a25b2109ab762a585c",
2899
+ "mode": 420,
2900
+ "origin": "kit"
2901
+ },
2902
+ {
2903
+ "path": "src/lib/routingAccessGraph.mjs",
2904
+ "kind": "script",
2905
+ "installRole": "consumer",
2906
+ "sha256": "21fd08ddb8715a7fbb8bdf09307c9cb6fe9c9dd032732e56ed681780cc9b49ae",
2907
+ "mode": 420,
2908
+ "origin": "kit"
2909
+ },
2910
+ {
2911
+ "path": "src/lib/routingAdapters/claude.mjs",
2912
+ "kind": "script",
2913
+ "installRole": "consumer",
2914
+ "sha256": "ad7a0670c697ceb3d8a845c24ae456296b46f17325d62b9c53f1128aaa48a26d",
2915
+ "mode": 420,
2916
+ "origin": "kit"
2917
+ },
2918
+ {
2919
+ "path": "src/lib/routingAdapters/codex.mjs",
2920
+ "kind": "script",
2921
+ "installRole": "consumer",
2922
+ "sha256": "70c0843505cdf69318d45c58d21c8eb81bfd74910bd8544e4194fba736e0e1ca",
2923
+ "mode": 420,
2924
+ "origin": "kit"
2925
+ },
2926
+ {
2927
+ "path": "src/lib/routingCatalog.mjs",
2928
+ "kind": "script",
2929
+ "installRole": "consumer",
2930
+ "sha256": "3d683dfdf31496503b40746645629c116111cda8be1dcb87575afaf8ac8aca28",
2931
+ "mode": 420,
2932
+ "origin": "kit"
2933
+ },
2934
+ {
2935
+ "path": "src/lib/routingEvidenceCache.mjs",
2936
+ "kind": "script",
2937
+ "installRole": "consumer",
2938
+ "sha256": "3515f35815be245959f509c4c8defdf640b58a854d7f450c74b17fd14819ee04",
2939
+ "mode": 420,
2940
+ "origin": "kit"
2941
+ },
2942
+ {
2943
+ "path": "src/lib/routingIntent.mjs",
2944
+ "kind": "script",
2945
+ "installRole": "consumer",
2946
+ "sha256": "1b6f599dc5f9fa3a5af41c48d7993cc05f2c2dd26ab60a23fc4a3026d0cc341a",
2947
+ "mode": 420,
2948
+ "origin": "kit"
2949
+ },
2950
+ {
2951
+ "path": "src/lib/routingPolicy.mjs",
2952
+ "kind": "script",
2953
+ "installRole": "consumer",
2954
+ "sha256": "e5e23ff59ffa2147ed8c799f925c8b8f3f480ab7d370e52663fea005623861c1",
2955
+ "mode": 420,
2956
+ "origin": "kit"
2957
+ },
2958
+ {
2959
+ "path": "src/lib/routingProfile.mjs",
2960
+ "kind": "script",
2961
+ "installRole": "consumer",
2962
+ "sha256": "3f28b39352fe517ab44dd7e896505ac0047a3a2f4f63ce7a55ce47feac7351a7",
2963
+ "mode": 420,
2964
+ "origin": "kit"
2965
+ },
2966
+ {
2967
+ "path": "src/lib/routingResolver.mjs",
2968
+ "kind": "script",
2969
+ "installRole": "consumer",
2970
+ "sha256": "da8bbdc924a172ca9cfb3e24b35efd9cbf2d3157e2d29e65032600b840ad01d3",
2971
+ "mode": 420,
2972
+ "origin": "kit"
2973
+ },
2974
+ {
2975
+ "path": "src/lib/routingSources/artificialAnalysis.mjs",
2976
+ "kind": "script",
2977
+ "installRole": "consumer",
2978
+ "sha256": "1b02382957e68e6dc46b58fbff0d69a5a28088be27d42daeb5b426d20eb29baf",
2979
+ "mode": 420,
2980
+ "origin": "kit"
2981
+ },
2982
+ {
2983
+ "path": "src/lib/routingSources/benchlm.mjs",
2984
+ "kind": "script",
2985
+ "installRole": "consumer",
2986
+ "sha256": "f3a08be4fa870137b41c630400fb939491e9c7c29881d384e6d5df6fe7dff231",
2987
+ "mode": 420,
2988
+ "origin": "kit"
2989
+ },
2990
+ {
2991
+ "path": "src/lib/routingSources/codeArena.mjs",
2992
+ "kind": "script",
2993
+ "installRole": "consumer",
2994
+ "sha256": "c90b1c7894704ace96e85f5c430cd61077e802dc21d591d51da84d027159b491",
2995
+ "mode": 420,
2996
+ "origin": "kit"
2997
+ },
2998
+ {
2999
+ "path": "src/lib/routingSources/deepswe.mjs",
3000
+ "kind": "script",
3001
+ "installRole": "consumer",
3002
+ "sha256": "e5e4e69ca3aaec207e1b351003f67b4541543baf4b7be321a7659f9a9f57752b",
3003
+ "mode": 420,
3004
+ "origin": "kit"
3005
+ },
3006
+ {
3007
+ "path": "src/lib/routingSources/openhands.mjs",
3008
+ "kind": "script",
3009
+ "installRole": "consumer",
3010
+ "sha256": "fc347c17277dc601f5206d47269268839a7ade5eba6a7a538521213f996ac89b",
3011
+ "mode": 420,
3012
+ "origin": "kit"
3013
+ },
3014
+ {
3015
+ "path": "src/lib/routingSources/openhandsFrontend.mjs",
3016
+ "kind": "script",
3017
+ "installRole": "consumer",
3018
+ "sha256": "698b7f265ce95dfe000233dbb6ed0eb3bb655bb9581f64264e4f5d8a2d75e169",
3019
+ "mode": 420,
3020
+ "origin": "kit"
3021
+ },
2862
3022
  {
2863
3023
  "path": "src/lib/semver.mjs",
2864
3024
  "kind": "script",
@@ -0,0 +1,42 @@
1
+ # Release intent is an explicit version tag
2
+
3
+ Status: accepted (2026-07-22, issue #204)
4
+
5
+ The release workflow currently publishes whenever a merge to `main` changes
6
+ `package.json`. That keeps the canonical branch and npm close together, but it
7
+ also makes an ordinary merge an irreversible public action whose consequence is
8
+ not visible in the merge affordance. A failed post-publish readback can further
9
+ make the run red after npm has already accepted the version.
10
+
11
+ We decided that integration and publication are separate transitions:
12
+
13
+ 1. Merging a prepared version into `main` integrates it but does not publish it.
14
+ 2. A matching annotated `v<version>` tag on that `main` commit records Release
15
+ intent and starts the normal publish workflow.
16
+ 3. The workflow validates tag, package version, canonical-branch ancestry,
17
+ artifact integrity, and tests before publishing.
18
+ 4. A manual dispatch is a recovery/reconciliation route for one explicit tag,
19
+ never the ordinary release trigger.
20
+ 5. Publication completes only when npm and the GitHub release are both visible
21
+ and match the local version, manifest, and tarball. Eventual-consistency
22
+ readbacks use bounded retry and preserve an externally reconstructable state.
23
+
24
+ ## Considered options
25
+
26
+ - **Merge-triggered publishing:** rejected because merge acceptance and
27
+ irreversible publication remain one implicit action.
28
+ - **Manual dispatch as the normal route:** rejected because the release identity
29
+ is easier to forget and less durable than a version tag.
30
+ - **PR label or commit marker:** rejected because it introduces hidden release
31
+ semantics without giving the publication a first-class Git identity.
32
+ - **Environment approval on the merge-triggered workflow:** rejected as the
33
+ primary contract because it adds a UI gate but still does not represent the
34
+ approved version as a durable release object.
35
+
36
+ ## Consequences
37
+
38
+ - A prepared version may temporarily exist on `main` in an `awaiting-tag` state.
39
+ - An AFK wave may create its own tag after all pre-authorized landing gates pass;
40
+ the next program wave still requires separate authorization.
41
+ - Reruns reconcile the same tag and never infer that a red workflow means
42
+ nothing was published.
@@ -0,0 +1,42 @@
1
+ # to-issues is the single planning facade
2
+
3
+ Status: accepted (2026-07-22, issue #197)
4
+
5
+ The planning workflow exposes two mechanisms after `to-prd`: Feature PRDs are
6
+ decomposed by `to-issues`, while Program PRDs are unfolded by a separately
7
+ invoked `to-waves` skill which later calls `to-issues` for each wave. This makes
8
+ the user identify an internal planning altitude even though the PRD already
9
+ carries an explicit, durable identity that can select the correct mechanism.
10
+
11
+ We decided that `to-issues` is the single user-facing Planning facade:
12
+
13
+ 1. A Feature PRD selects the existing atomic/promote mechanism.
14
+ 2. A Program PRD selects the existing program-graph engine currently owned by
15
+ `to-waves`, including its complete preview, validation, publication,
16
+ per-wave maturation, and execute-ready audits.
17
+ 3. Dispatch uses only explicit PRD identity (`prd: program` or its canonical
18
+ program type), never size heuristics or model judgment.
19
+ 4. The selected mode is reported visibly before mutation. Program mode retains
20
+ its full preview approval gate.
21
+ 5. `to-waves` remains an independently testable internal mechanism and may keep
22
+ a compatibility entrypoint, but routers and normal documentation always send
23
+ the user from `to-prd` to `to-issues`.
24
+
25
+ ## Considered options
26
+
27
+ - **Keep two public next commands:** rejected because it leaks internal
28
+ decomposition mechanics and makes users repeat an altitude decision already
29
+ encoded in the PRD.
30
+ - **Infer the mode from plan size or prose:** rejected because hidden heuristics
31
+ make the same command unpredictable and can publish the wrong board shape.
32
+ - **Merge all program code physically into `to-issues`:** rejected because the
33
+ program graph is a coherent deep module with valuable separate tests; only
34
+ its public routing belongs behind the facade.
35
+
36
+ ## Consequences
37
+
38
+ - The normal user path is always `grill → to-prd → to-issues`.
39
+ - Feature and Program behavior remain distinguishable in audit output without
40
+ requiring the user to select their implementation skill.
41
+ - Router, overview, skill prose, mirrors, and contract tests must agree on the
42
+ one-entry contract.