strikethroo 3.11.0 → 3.13.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 (97) hide show
  1. package/dist/metadata.d.ts +1 -1
  2. package/dist/metadata.js +1 -1
  3. package/dist/serve/config-write.d.ts +15 -12
  4. package/dist/serve/config-write.d.ts.map +1 -1
  5. package/dist/serve/config-write.js +40 -26
  6. package/dist/serve/config-write.js.map +1 -1
  7. package/dist/serve/workspace-model.d.ts +4 -2
  8. package/dist/serve/workspace-model.d.ts.map +1 -1
  9. package/dist/serve/workspace-model.js +14 -1
  10. package/dist/serve/workspace-model.js.map +1 -1
  11. package/dist/skill-scripts/shared/root.js +1 -1
  12. package/dist-web/assets/{arc-CBaeBlTE.js → arc-BgbdqiWZ.js} +1 -1
  13. package/dist-web/assets/{architectureDiagram-3BPJPVTR-Bwk6TYrL.js → architectureDiagram-3BPJPVTR-C11ra1og.js} +1 -1
  14. package/dist-web/assets/{blockDiagram-GPEHLZMM-pwKL2jeu.js → blockDiagram-GPEHLZMM-sneTcKTc.js} +1 -1
  15. package/dist-web/assets/{c4Diagram-AAUBKEIU-CawEdYlw.js → c4Diagram-AAUBKEIU-rcZrBkXz.js} +1 -1
  16. package/dist-web/assets/channel-DhL4ovjN.js +1 -0
  17. package/dist-web/assets/{chunk-2J33WTMH-BHfiG9yq.js → chunk-2J33WTMH-BMATkNbT.js} +1 -1
  18. package/dist-web/assets/{chunk-4BX2VUAB-B-0m0Ow-.js → chunk-4BX2VUAB-BSz2O6Ft.js} +1 -1
  19. package/dist-web/assets/{chunk-55IACEB6-qzVN1QTX.js → chunk-55IACEB6-MumFzZkZ.js} +1 -1
  20. package/dist-web/assets/{chunk-727SXJPM-CyPamzvq.js → chunk-727SXJPM-4dQkVcIM.js} +1 -1
  21. package/dist-web/assets/{chunk-AQP2D5EJ-_b9DSvYH.js → chunk-AQP2D5EJ-v5TVK_fa.js} +1 -1
  22. package/dist-web/assets/{chunk-FMBD7UC4-CXBpEyeM.js → chunk-FMBD7UC4-BArw-yD6.js} +1 -1
  23. package/dist-web/assets/{chunk-ND2GUHAM-PE_EiT_2.js → chunk-ND2GUHAM-jmMu7-6G.js} +1 -1
  24. package/dist-web/assets/{chunk-QZHKN3VN-Dff5pQVs.js → chunk-QZHKN3VN-CoFZRE9S.js} +1 -1
  25. package/dist-web/assets/classDiagram-4FO5ZUOK-DNoS6CPC.js +1 -0
  26. package/dist-web/assets/classDiagram-v2-Q7XG4LA2-DNoS6CPC.js +1 -0
  27. package/dist-web/assets/{cose-bilkent-S5V4N54A-CC2lVtJy.js → cose-bilkent-S5V4N54A-DfE6Yc6V.js} +1 -1
  28. package/dist-web/assets/{dagre-BM42HDAG-Ba3wwaEk.js → dagre-BM42HDAG-GLQxrEea.js} +1 -1
  29. package/dist-web/assets/{diagram-2AECGRRQ-D-eNzKxw.js → diagram-2AECGRRQ-CPF-j3jI.js} +1 -1
  30. package/dist-web/assets/{diagram-5GNKFQAL-B1LKlghw.js → diagram-5GNKFQAL-DX8N0bhf.js} +1 -1
  31. package/dist-web/assets/{diagram-KO2AKTUF-D8-5tjnC.js → diagram-KO2AKTUF-D4wM_Xrg.js} +1 -1
  32. package/dist-web/assets/{diagram-LMA3HP47-bS2_7Udo.js → diagram-LMA3HP47-uVt4DExc.js} +1 -1
  33. package/dist-web/assets/{diagram-OG6HWLK6-B4YtdIcD.js → diagram-OG6HWLK6-DzfLImY-.js} +1 -1
  34. package/dist-web/assets/{erDiagram-TEJ5UH35-PitIEuaM.js → erDiagram-TEJ5UH35-BDOB8bJk.js} +1 -1
  35. package/dist-web/assets/{flowDiagram-I6XJVG4X-DKmhqOBa.js → flowDiagram-I6XJVG4X-DsofFC7H.js} +1 -1
  36. package/dist-web/assets/{ganttDiagram-6RSMTGT7-HCsmsP2b.js → ganttDiagram-6RSMTGT7-DYCTEBUe.js} +1 -1
  37. package/dist-web/assets/{gitGraphDiagram-PVQCEYII-QbqTXLSl.js → gitGraphDiagram-PVQCEYII-B373xEyt.js} +1 -1
  38. package/dist-web/assets/{index-DFmqrXlR.js → index-BrXKePvp.js} +1 -1
  39. package/dist-web/assets/{index-CVX3hi3z.js → index-BxjDhqax.js} +1 -1
  40. package/dist-web/assets/index-CvZkEGgs.js +169 -0
  41. package/dist-web/assets/index-DROsk748.css +1 -0
  42. package/dist-web/assets/{infoDiagram-5YYISTIA-3To2TWNT.js → infoDiagram-5YYISTIA-BTdfbRG3.js} +1 -1
  43. package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-BetXO7yZ.js → ishikawaDiagram-YF4QCWOH-By0jpBpG.js} +1 -1
  44. package/dist-web/assets/{journeyDiagram-JHISSGLW-CoulYVgQ.js → journeyDiagram-JHISSGLW-CN4ddpRF.js} +1 -1
  45. package/dist-web/assets/{kanban-definition-UN3LZRKU-D9B13k6u.js → kanban-definition-UN3LZRKU-CSzp97xY.js} +1 -1
  46. package/dist-web/assets/{linear-D6zkWX3u.js → linear-Bo45a3LX.js} +1 -1
  47. package/dist-web/assets/{mermaid.core-DFcjGU0T.js → mermaid.core-fEMv_ThD.js} +4 -4
  48. package/dist-web/assets/{mindmap-definition-RKZ34NQL-B-twMs7e.js → mindmap-definition-RKZ34NQL-lcelYnaU.js} +1 -1
  49. package/dist-web/assets/{pieDiagram-4H26LBE5-DKX-iOJJ.js → pieDiagram-4H26LBE5-DqrHeOSK.js} +1 -1
  50. package/dist-web/assets/{quadrantDiagram-W4KKPZXB-DQpSSQxM.js → quadrantDiagram-W4KKPZXB-lKQsolLl.js} +1 -1
  51. package/dist-web/assets/{requirementDiagram-4Y6WPE33-DnIoIO9f.js → requirementDiagram-4Y6WPE33-D3GerVWN.js} +1 -1
  52. package/dist-web/assets/{sankeyDiagram-5OEKKPKP-BZwTjcsB.js → sankeyDiagram-5OEKKPKP-Dn0Rn4jy.js} +1 -1
  53. package/dist-web/assets/{sequenceDiagram-3UESZ5HK-ClRdeH1n.js → sequenceDiagram-3UESZ5HK-BMZb9HkP.js} +1 -1
  54. package/dist-web/assets/{stateDiagram-AJRCARHV-DyGtF4aB.js → stateDiagram-AJRCARHV-mHX_sHdp.js} +1 -1
  55. package/dist-web/assets/stateDiagram-v2-BHNVJYJU-BwuUXdDR.js +1 -0
  56. package/dist-web/assets/{timeline-definition-PNZ67QCA-CAhtHKbz.js → timeline-definition-PNZ67QCA-CrVF3pNw.js} +1 -1
  57. package/dist-web/assets/{vennDiagram-CIIHVFJN-D8cuqu1b.js → vennDiagram-CIIHVFJN-Dfw6e8s7.js} +1 -1
  58. package/dist-web/assets/{wardley-L42UT6IY-BevJmKqU.js → wardley-L42UT6IY-HlLGXiR6.js} +1 -1
  59. package/dist-web/assets/{wardleyDiagram-YWT4CUSO-DZrGhjB4.js → wardleyDiagram-YWT4CUSO-DPL-Ch-8.js} +1 -1
  60. package/dist-web/assets/{xychartDiagram-2RQKCTM6-DczsJUEl.js → xychartDiagram-2RQKCTM6-Cd6IimVj.js} +1 -1
  61. package/dist-web/index.html +2 -2
  62. package/package.json +3 -1
  63. package/templates/harness/skills/st-create-plan/scripts/find-strikethroo-root.cjs +1 -1
  64. package/templates/harness/skills/st-create-plan/scripts/get-next-plan-id.cjs +1 -1
  65. package/templates/harness/skills/st-execute-blueprint/scripts/check-phase-readiness.cjs +1 -1
  66. package/templates/harness/skills/st-execute-blueprint/scripts/create-feature-branch.cjs +1 -1
  67. package/templates/harness/skills/st-execute-blueprint/scripts/dispatch-task-execution.cjs +66 -61
  68. package/templates/harness/skills/st-execute-blueprint/scripts/find-strikethroo-root.cjs +1 -1
  69. package/templates/harness/skills/st-execute-blueprint/scripts/validate-plan-blueprint.cjs +1 -1
  70. package/templates/harness/skills/st-execute-task/scripts/check-task-dependencies.cjs +1 -1
  71. package/templates/harness/skills/st-execute-task/scripts/dispatch-task-execution.cjs +66 -61
  72. package/templates/harness/skills/st-execute-task/scripts/find-strikethroo-root.cjs +1 -1
  73. package/templates/harness/skills/st-execute-task/scripts/validate-plan-blueprint.cjs +1 -1
  74. package/templates/harness/skills/st-full-workflow/SKILL.md +41 -4
  75. package/templates/harness/skills/st-full-workflow/scripts/check-phase-readiness.cjs +1 -1
  76. package/templates/harness/skills/st-full-workflow/scripts/create-feature-branch.cjs +1 -1
  77. package/templates/harness/skills/st-full-workflow/scripts/dispatch-task-execution.cjs +66 -61
  78. package/templates/harness/skills/st-full-workflow/scripts/find-strikethroo-root.cjs +1 -1
  79. package/templates/harness/skills/st-full-workflow/scripts/get-next-plan-id.cjs +1 -1
  80. package/templates/harness/skills/st-full-workflow/scripts/get-next-task-id.cjs +1 -1
  81. package/templates/harness/skills/st-full-workflow/scripts/route-task-execution.cjs +6682 -0
  82. package/templates/harness/skills/st-full-workflow/scripts/validate-plan-blueprint.cjs +1 -1
  83. package/templates/harness/skills/st-generate-tasks/SKILL.md +44 -3
  84. package/templates/harness/skills/st-generate-tasks/scripts/find-strikethroo-root.cjs +1 -1
  85. package/templates/harness/skills/st-generate-tasks/scripts/get-next-task-id.cjs +1 -1
  86. package/templates/harness/skills/st-generate-tasks/scripts/route-task-execution.cjs +6682 -0
  87. package/templates/harness/skills/st-generate-tasks/scripts/validate-plan-blueprint.cjs +1 -1
  88. package/templates/harness/skills/st-refine-plan/scripts/find-strikethroo-root.cjs +1 -1
  89. package/templates/harness/skills/st-refine-plan/scripts/validate-plan-blueprint.cjs +1 -1
  90. package/templates/strikethroo/config/config.yaml +25 -0
  91. package/templates/strikethroo/config/hooks/TASK_EXECUTION_ROUTING.md +29 -0
  92. package/dist-web/assets/channel-Bvh1akBB.js +0 -1
  93. package/dist-web/assets/classDiagram-4FO5ZUOK-0GgRFVnx.js +0 -1
  94. package/dist-web/assets/classDiagram-v2-Q7XG4LA2-0GgRFVnx.js +0 -1
  95. package/dist-web/assets/index-BJUf2P-C.css +0 -1
  96. package/dist-web/assets/index-PrbhbiSQ.js +0 -125
  97. package/dist-web/assets/stateDiagram-v2-BHNVJYJU-e00NXaxu.js +0 -1
@@ -37,7 +37,7 @@ module.exports = __toCommonJS(validate_plan_blueprint_exports);
37
37
  // src/skill-scripts/shared/root.ts
38
38
  var fs = __toESM(require("fs"));
39
39
  var path = __toESM(require("path"));
40
- var EXPECTED_SCHEMA = true ? 3 : 3;
40
+ var EXPECTED_SCHEMA = true ? 4 : 4;
41
41
  var isValidStrikethrooRoot = (strikethrooPath) => {
42
42
  try {
43
43
  if (!fs.existsSync(strikethrooPath)) return false;
@@ -270,10 +270,47 @@ Before declaring task generation complete, verify:
270
270
  - Add `complexity_notes` only when a score needs explanation (typically atomic
271
271
  tasks scoring greater than 4).
272
272
 
273
- ### 12. Run the POST_TASK_GENERATION_ALL hook
273
+ ### 12. Route task execution
274
+
275
+ Read `<root>/config/hooks/TASK_EXECUTION_ROUTING.md` and follow its
276
+ instructions together with this procedure:
277
+
278
+ 1. Run `scripts/route-task-execution.cjs profiles <plan-id>` and interpret
279
+ its JSON result. On `no-config` or `disabled`, routing is off: skip the
280
+ remaining routing steps and continue. On `invalid-config`, stop and
281
+ surface the errors to the user — do not generate the blueprint.
282
+ 2. Classify every task in the plan's `tasks/` directory against the
283
+ configured profile descriptions. For tasks generated in this run, use the
284
+ task content already in your context — objective, acceptance criteria,
285
+ technical requirements, `skills`, and `complexity_score`; do not reread
286
+ the emitted task files to reconstruct information you already hold. If
287
+ the plan carried task files from an earlier generation run, read those
288
+ files (and only those) to classify them — the mapping must cover every
289
+ task in the plan. Assign each task ID exactly one configured profile
290
+ name. Never invent a profile name, model, or harness.
291
+ 3. Write the complete task-ID-to-profile mapping as a JSON object to a
292
+ temporary file, for example `{"1": "routine", "2": "demanding"}`.
293
+ 4. Run
294
+ `scripts/route-task-execution.cjs apply <plan-id> <mapping-file> <current-harness>`,
295
+ where `<current-harness>` is the exact supported harness identifier
296
+ running this skill. The helper validates the mapping (every task exactly
297
+ once, only configured profiles), deterministically selects each task's
298
+ execution target, writes the exact `execution` frontmatter, and verifies
299
+ the written files.
300
+ 5. On `routed`, delete the temporary mapping file and continue. On any
301
+ failure result (`invalid-assignments`, `invalid-tasks`,
302
+ `resolver-failure`, `routing-failure`, `infrastructure-failure`), stop
303
+ and surface the JSON errors to the user. Never proceed to blueprint
304
+ generation with partially routed tasks.
305
+
306
+ Profile names are transient routing labels: never write them into task
307
+ frontmatter or task bodies.
308
+
309
+ ### 13. Run the POST_TASK_GENERATION_ALL hook
274
310
 
275
311
  Read `<root>/config/hooks/POST_TASK_GENERATION_ALL.md` and follow its
276
- instructions. This typically requires:
312
+ instructions. Run it only after routing succeeded or reported routing off.
313
+ This typically requires:
277
314
 
278
315
  - Appending an Execution Blueprint section to the plan document, including a
279
316
  Mermaid dependency diagram and explicit phase groupings (Phase 1 contains
@@ -281,7 +318,7 @@ instructions. This typically requires:
281
318
  dependencies all live in earlier phases). Use
282
319
  `<root>/config/templates/BLUEPRINT_TEMPLATE.md` for structure.
283
320
 
284
- ### 13. Emit the structured summary
321
+ ### 14. Emit the structured summary
285
322
 
286
323
  Conclude with exactly this block as the final output:
287
324
 
@@ -306,3 +343,7 @@ The summary is consumed by downstream automation; keep the format exact.
306
343
  task's "Implementation Notes". Do not invent answers.
307
344
  - **A helper script fails unexpectedly.** Surface stderr to the user and
308
345
  stop — do not fall back to manual ID allocation or path discovery.
346
+ - **Execution routing fails.** Surface the routing helper's JSON errors and
347
+ stop before blueprint generation. Do not guess profile assignments, do not
348
+ hand-write `execution` frontmatter, and do not continue with partially
349
+ routed tasks.
@@ -37,7 +37,7 @@ module.exports = __toCommonJS(find_strikethroo_root_exports);
37
37
  // src/skill-scripts/shared/root.ts
38
38
  var fs = __toESM(require("fs"));
39
39
  var path = __toESM(require("path"));
40
- var EXPECTED_SCHEMA = true ? 3 : 3;
40
+ var EXPECTED_SCHEMA = true ? 4 : 4;
41
41
  var isValidStrikethrooRoot = (strikethrooPath) => {
42
42
  try {
43
43
  if (!fs.existsSync(strikethrooPath)) return false;
@@ -41,7 +41,7 @@ var path3 = __toESM(require("path"));
41
41
  // src/skill-scripts/shared/root.ts
42
42
  var fs = __toESM(require("fs"));
43
43
  var path = __toESM(require("path"));
44
- var EXPECTED_SCHEMA = true ? 3 : 3;
44
+ var EXPECTED_SCHEMA = true ? 4 : 4;
45
45
  var isValidStrikethrooRoot = (strikethrooPath) => {
46
46
  try {
47
47
  if (!fs.existsSync(strikethrooPath)) return false;