strikethroo 3.21.2 → 3.22.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.
- package/README.md +10 -0
- package/dist/cli.js +19 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -15
- package/dist/index.js.map +1 -1
- package/dist/resolve-init-harnesses.d.ts +30 -0
- package/dist/resolve-init-harnesses.d.ts.map +1 -0
- package/dist/resolve-init-harnesses.js +44 -0
- package/dist/resolve-init-harnesses.js.map +1 -0
- package/dist/types.d.ts +32 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/update.d.ts +28 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +198 -0
- package/dist/update.js.map +1 -0
- package/dist-web/assets/{arc-Dnj8t_Cg.js → arc-CguPlWfb.js} +1 -1
- package/dist-web/assets/{architectureDiagram-3BPJPVTR-7x3i_pmi.js → architectureDiagram-3BPJPVTR-D65RMVqJ.js} +1 -1
- package/dist-web/assets/{blockDiagram-GPEHLZMM-Cg2a93ny.js → blockDiagram-GPEHLZMM-CNIwP_yH.js} +1 -1
- package/dist-web/assets/{c4Diagram-AAUBKEIU-DMmHyu1B.js → c4Diagram-AAUBKEIU-CuZ4SoKV.js} +1 -1
- package/dist-web/assets/channel-BL14r_5w.js +1 -0
- package/dist-web/assets/{chunk-2J33WTMH-BarACI5V.js → chunk-2J33WTMH-DM4ZcjVq.js} +1 -1
- package/dist-web/assets/{chunk-4BX2VUAB-D1jdtJjC.js → chunk-4BX2VUAB-DI3-zGiF.js} +1 -1
- package/dist-web/assets/{chunk-55IACEB6-D3ecVMrb.js → chunk-55IACEB6-DBdh-eer.js} +1 -1
- package/dist-web/assets/{chunk-727SXJPM-DXNd005W.js → chunk-727SXJPM-B0HDPh0I.js} +1 -1
- package/dist-web/assets/{chunk-AQP2D5EJ-C0VOl8ox.js → chunk-AQP2D5EJ-C0MnLmRm.js} +1 -1
- package/dist-web/assets/{chunk-FMBD7UC4-DcTxd98r.js → chunk-FMBD7UC4-CmggDcp1.js} +1 -1
- package/dist-web/assets/{chunk-ND2GUHAM-CAMtgZHg.js → chunk-ND2GUHAM-BSIdB1y0.js} +1 -1
- package/dist-web/assets/{chunk-QZHKN3VN-DWfV0bq5.js → chunk-QZHKN3VN-BTHsXhgb.js} +1 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-DBkbEi_3.js +1 -0
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-DBkbEi_3.js +1 -0
- package/dist-web/assets/{cose-bilkent-S5V4N54A-Csc9VNPk.js → cose-bilkent-S5V4N54A-IXUMXU5h.js} +1 -1
- package/dist-web/assets/{dagre-BM42HDAG-BnwRiOXb.js → dagre-BM42HDAG-CtwBET_X.js} +1 -1
- package/dist-web/assets/{diagram-2AECGRRQ-wPIOyrHK.js → diagram-2AECGRRQ-DRe1AFa_.js} +1 -1
- package/dist-web/assets/{diagram-5GNKFQAL-TccsDwtZ.js → diagram-5GNKFQAL-D9IRdgWX.js} +1 -1
- package/dist-web/assets/{diagram-KO2AKTUF-DtAJCwJt.js → diagram-KO2AKTUF-CQi7gmRS.js} +1 -1
- package/dist-web/assets/{diagram-LMA3HP47-BvMQVWoO.js → diagram-LMA3HP47-B0fp5jh8.js} +1 -1
- package/dist-web/assets/{diagram-OG6HWLK6-BPxOm_5c.js → diagram-OG6HWLK6-B2ujFhv2.js} +1 -1
- package/dist-web/assets/{erDiagram-TEJ5UH35-CRPnIDwq.js → erDiagram-TEJ5UH35-DcxHh3A8.js} +1 -1
- package/dist-web/assets/{flowDiagram-I6XJVG4X-DBLbHpW_.js → flowDiagram-I6XJVG4X-Btsglt1O.js} +1 -1
- package/dist-web/assets/{ganttDiagram-6RSMTGT7-gZhN1gnI.js → ganttDiagram-6RSMTGT7-BRaGl6R4.js} +1 -1
- package/dist-web/assets/{gitGraphDiagram-PVQCEYII-Dssi43fY.js → gitGraphDiagram-PVQCEYII-Cl1DR87j.js} +1 -1
- package/dist-web/assets/{index-CEGCvBkm.js → index-CxXoZ0_J.js} +1 -1
- package/dist-web/assets/{index-Nz3QPmKb.js → index-DXt7jz3h.js} +4 -4
- package/dist-web/assets/{index-BdDnJAsd.js → index-DZ4QtqqW.js} +1 -1
- package/dist-web/assets/{infoDiagram-5YYISTIA-sXzUxho2.js → infoDiagram-5YYISTIA-GMZDkbDI.js} +1 -1
- package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-BPHTll-A.js → ishikawaDiagram-YF4QCWOH-DC8HBMwN.js} +1 -1
- package/dist-web/assets/{journeyDiagram-JHISSGLW-h2TzQwJC.js → journeyDiagram-JHISSGLW-4KT1uAXJ.js} +1 -1
- package/dist-web/assets/{kanban-definition-UN3LZRKU-1xkUO8WZ.js → kanban-definition-UN3LZRKU-bBpM_7W0.js} +1 -1
- package/dist-web/assets/{linear-D_7aXIXs.js → linear-BzW5Mi4V.js} +1 -1
- package/dist-web/assets/{mermaid.core-Bwdbg8D0.js → mermaid.core-BZXehlCp.js} +4 -4
- package/dist-web/assets/{mindmap-definition-RKZ34NQL-eAYjLKqV.js → mindmap-definition-RKZ34NQL-B8RhYsaN.js} +1 -1
- package/dist-web/assets/{pieDiagram-4H26LBE5-CWfU-OAg.js → pieDiagram-4H26LBE5-DV749i9Y.js} +1 -1
- package/dist-web/assets/{quadrantDiagram-W4KKPZXB-CgKKzr9p.js → quadrantDiagram-W4KKPZXB-Cduffe8j.js} +1 -1
- package/dist-web/assets/{requirementDiagram-4Y6WPE33-Dx-cDqCB.js → requirementDiagram-4Y6WPE33-C7KngwZn.js} +1 -1
- package/dist-web/assets/{sankeyDiagram-5OEKKPKP-B_yYv0Dy.js → sankeyDiagram-5OEKKPKP-CJjwUGG3.js} +1 -1
- package/dist-web/assets/{sequenceDiagram-3UESZ5HK--QLtZ1Rs.js → sequenceDiagram-3UESZ5HK-BARiZOtJ.js} +1 -1
- package/dist-web/assets/{stateDiagram-AJRCARHV-DVmFu5R7.js → stateDiagram-AJRCARHV-DA1dHBGx.js} +1 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-D4ioaqC3.js +1 -0
- package/dist-web/assets/{timeline-definition-PNZ67QCA-BUtZCLUr.js → timeline-definition-PNZ67QCA-ClE6cvJF.js} +1 -1
- package/dist-web/assets/{vennDiagram-CIIHVFJN-CiAEMMvF.js → vennDiagram-CIIHVFJN-BLR57Itf.js} +1 -1
- package/dist-web/assets/{wardley-L42UT6IY-CzeU7tOS.js → wardley-L42UT6IY-EA8x1UUF.js} +1 -1
- package/dist-web/assets/{wardleyDiagram-YWT4CUSO-vvP_uZTz.js → wardleyDiagram-YWT4CUSO-DHktlei-.js} +1 -1
- package/dist-web/assets/{xychartDiagram-2RQKCTM6-vSFbOWXi.js → xychartDiagram-2RQKCTM6-DOxQD_Ha.js} +1 -1
- package/dist-web/index.html +1 -1
- package/package.json +4 -1
- package/templates/harness/skills/st-code-review/SKILL.md +3 -7
- package/templates/harness/skills/st-create-plan/SKILL.md +33 -44
- package/templates/harness/skills/st-create-plan/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-execute-blueprint/SKILL.md +37 -63
- package/templates/harness/skills/st-execute-blueprint/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-execute-blueprint/scripts/dispatch-task-execution.cjs +1 -0
- package/templates/harness/skills/st-execute-task/SKILL.md +36 -79
- package/templates/harness/skills/st-execute-task/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-execute-task/scripts/dispatch-task-execution.cjs +1 -0
- package/templates/harness/skills/st-full-workflow/SKILL.md +139 -270
- package/templates/harness/skills/st-full-workflow/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-full-workflow/scripts/dispatch-task-execution.cjs +1 -0
- package/templates/harness/skills/st-generate-tasks/SKILL.md +91 -155
- package/templates/harness/skills/st-generate-tasks/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-refine-plan/SKILL.md +63 -109
- package/templates/harness/skills/st-refine-plan/scripts/check-for-updates.cjs +2502 -0
- package/templates/strikethroo/config/templates/UPDATE_NOTICE_TEMPLATE.md +1 -0
- package/dist-web/assets/channel-Bb0_vDD8.js +0 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-R25Yhm3n.js +0 -1
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-R25Yhm3n.js +0 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-DBs8K0hr.js +0 -1
- package/templates/harness/skills/st-full-workflow/references/task-frontmatter.md +0 -23
- package/templates/harness/skills/st-full-workflow/references/test-philosophy.md +0 -17
- package/templates/harness/skills/st-generate-tasks/references/task-frontmatter.md +0 -23
- package/templates/harness/skills/st-generate-tasks/references/test-philosophy.md +0 -17
|
@@ -3642,6 +3642,7 @@ var import_child_process2 = require("child_process");
|
|
|
3642
3642
|
var taskPrompt = (request) => `Strikethroo external task dispatch \u2014 Plan ${request.planId}, Task ${request.taskId}.
|
|
3643
3643
|
Workspace: ${request.workspace}
|
|
3644
3644
|
Task file: ${request.taskFile}
|
|
3645
|
+
You are a delegated execution worker. Do not run check-for-updates.cjs or emit update notices.
|
|
3645
3646
|
Before implementation, read and execute ${path2.join(
|
|
3646
3647
|
request.workspace,
|
|
3647
3648
|
".ai/strikethroo/config/hooks/PRE_TASK_EXECUTION.md"
|
|
@@ -5,46 +5,35 @@ description: Use when the user asks to run, execute, or implement one specific t
|
|
|
5
5
|
|
|
6
6
|
# st-execute-task
|
|
7
7
|
|
|
8
|
-
Drive the execution of a single task within an existing Strikethroo plan.
|
|
9
|
-
|
|
10
8
|
## Critical Rules
|
|
11
9
|
|
|
12
|
-
1. **
|
|
13
|
-
2. **
|
|
14
|
-
3. **Maintain status integrity** — update task status throughout the execution lifecycle.
|
|
15
|
-
4. **Document execution** — record all outcomes and issues encountered.
|
|
16
|
-
5. **Provide structured output** — always emit the structured result block for orchestrator parsing.
|
|
10
|
+
1. **Maintain status integrity** — update task status throughout the execution lifecycle.
|
|
11
|
+
2. **Document execution** — record all outcomes and issues encountered.
|
|
17
12
|
|
|
18
13
|
## Inputs
|
|
19
14
|
|
|
20
15
|
The user supplies the numeric plan ID and task ID conversationally.
|
|
21
16
|
|
|
22
|
-
## Failure Modes
|
|
23
|
-
|
|
24
|
-
- **Execution or hook failure.** If `PRE_TASK_EXECUTION.md`,
|
|
25
|
-
`PRE_TASK_ASSIGNMENT.md`, or `POST_ERROR_DETECTION.md` fails, or the
|
|
26
|
-
implementing agent encounters an unrecoverable error, set the task status
|
|
27
|
-
to `failed`, document the error in Noteworthy Events, and emit the
|
|
28
|
-
structured result with `Exit Code: 1`.
|
|
29
|
-
|
|
30
17
|
## Operating Procedure
|
|
31
18
|
|
|
32
19
|
### 1. Locate the strikethroo root
|
|
33
20
|
|
|
34
|
-
Run `scripts/find-strikethroo-root.cjs` from the user's working directory.
|
|
21
|
+
Run `scripts/find-strikethroo-root.cjs` from the user's working directory. If
|
|
22
|
+
it exits non-zero, stop and ask the user to run `npx strikethroo init`.
|
|
35
23
|
|
|
36
|
-
|
|
37
|
-
initialized strikethroo workspace. Stop and ask the user to run the project
|
|
38
|
-
initializer (e.g. `npx strikethroo init`) before continuing. Do
|
|
39
|
-
not attempt to execute a task outside of a valid root.
|
|
24
|
+
Treat the path it prints as `<root>` for every subsequent step.
|
|
40
25
|
|
|
41
|
-
|
|
26
|
+
Delegated execution workers skip this step and do not emit update notices.
|
|
27
|
+
|
|
28
|
+
Run `scripts/check-for-updates.cjs "<root>"` as a separate command using this
|
|
29
|
+
skill's script path. Keep the user's working directory. Read the one JSON line
|
|
30
|
+
on stdout. When `notice` is present, retain its exact text for the final
|
|
31
|
+
user-facing response. Never pause for permission and never run an update.
|
|
42
32
|
|
|
43
33
|
### 2. Resolve the plan
|
|
44
34
|
|
|
45
|
-
Run `scripts/validate-plan-blueprint.cjs <plan-id> planFile`
|
|
46
|
-
absolute path
|
|
47
|
-
field alone.
|
|
35
|
+
Run `scripts/validate-plan-blueprint.cjs <plan-id> planFile` for the plan
|
|
36
|
+
file's absolute path. Another field name prints that field instead.
|
|
48
37
|
|
|
49
38
|
If the script exits non-zero, stop and ask the user to confirm the plan ID.
|
|
50
39
|
Do not guess a different ID.
|
|
@@ -54,40 +43,25 @@ printed path as `<plan-dir>`.
|
|
|
54
43
|
|
|
55
44
|
### 3. Validate the task file
|
|
56
45
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
- First, look for `<plan-dir>/tasks/<task-id>--*.md`
|
|
61
|
-
- If not found, look for `<plan-dir>/tasks/0<task-id>--*.md`
|
|
62
|
-
|
|
63
|
-
If no file matches, stop and report that the task ID was not found in the
|
|
64
|
-
plan. List the available task files in `<plan-dir>/tasks/` to help the user
|
|
65
|
-
identify the correct ID.
|
|
66
|
-
|
|
67
|
-
Treat the resolved file path as `<task-file>`.
|
|
46
|
+
Look for `<plan-dir>/tasks/<task-id>--*.md`, then for the zero-padded
|
|
47
|
+
`<plan-dir>/tasks/0<task-id>--*.md`. If neither matches, list the files in
|
|
48
|
+
`<plan-dir>/tasks/` and stop. Treat the match as `<task-file>`.
|
|
68
49
|
|
|
69
50
|
### 4. Check task status
|
|
70
51
|
|
|
71
|
-
Read
|
|
52
|
+
Read `status` from the `<task-file>` frontmatter.
|
|
72
53
|
|
|
73
|
-
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
If execution is blocked, stop and explain why, including guidance on how
|
|
80
|
-
to resolve the blocker (e.g., use execute-blueprint to re-execute a completed
|
|
81
|
-
task, or resolve clarification questions first).
|
|
54
|
+
- `completed`, `in-progress`, or `needs-clarification`: stop, and name the way
|
|
55
|
+
out (re-execute a completed task through execute-blueprint, answer the open
|
|
56
|
+
clarification questions first).
|
|
57
|
+
- `pending` or `failed`: execute.
|
|
58
|
+
- Missing or unrecognized: proceed with caution and note the ambiguity.
|
|
82
59
|
|
|
83
60
|
### 5. Validate dependencies
|
|
84
61
|
|
|
85
|
-
Run `scripts/check-task-dependencies.cjs <plan-id> <task-id>`.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
If the script exits 1, stop and report that the task is blocked by unresolved
|
|
90
|
-
dependencies. Do not proceed until dependencies are satisfied.
|
|
62
|
+
Run `scripts/check-task-dependencies.cjs <plan-id> <task-id>`. If it exits 1,
|
|
63
|
+
stop and report that unresolved dependencies block the task. Do not proceed
|
|
64
|
+
until they are satisfied.
|
|
91
65
|
|
|
92
66
|
### 6. Agent selection
|
|
93
67
|
|
|
@@ -124,33 +98,22 @@ Interpret the one-line JSON result and act on its `kind` exactly once:
|
|
|
124
98
|
| `native-default` | Dispatch natively with no execution-setting prose. |
|
|
125
99
|
| `native-override` | Dispatch natively, explicitly requiring the exact returned `model`. Require the returned `reasoningEffort` only when that property is present. |
|
|
126
100
|
| `external-override` | Run the `execute` command with the returned `handoff`, then read its result against this same table. |
|
|
127
|
-
| `fallback` | Nothing launched. Record the returned `reason` and `detail` visibly, then dispatch natively with no execution-setting prose.
|
|
101
|
+
| `fallback` | Nothing launched. Record the returned `reason` and `detail` visibly, then dispatch natively with no execution-setting prose. |
|
|
128
102
|
| `launched-success` | The external process exited zero. Do not dispatch natively; review status and evidence as you would for a native agent. |
|
|
129
103
|
| `launched-failure` | A failed task. Set its status to `failed` and run `<root>/config/hooks/POST_ERROR_DETECTION.md`. Never retry it natively. |
|
|
130
|
-
| `infrastructure-failure` |
|
|
104
|
+
| `infrastructure-failure` | Handle exactly as the preceding row. |
|
|
131
105
|
|
|
132
|
-
Handoff
|
|
106
|
+
Handoff rules:
|
|
133
107
|
|
|
134
108
|
- Pass the exact opaque `handoff` string the resolver returned for that task. Never reconstruct one.
|
|
135
109
|
- Never reuse a handoff for another task, and never rerun resolution after launches begin.
|
|
136
|
-
- `execute` validates the handoff and does not reread routing configuration.
|
|
137
|
-
- The command emits exactly one JSON line. Exit code `2` is an infrastructure failure; exit code `1` is a launched task failure.
|
|
138
110
|
|
|
139
111
|
Steps 9–11 are this skill's failed-status and error-hook path.
|
|
140
112
|
|
|
141
113
|
For a native dispatch, deploy an agent using your internal Task tool. The agent
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
`<root>/config/hooks/PRE_TASK_EXECUTION.md` before starting any
|
|
146
|
-
implementation work.
|
|
147
|
-
2. **Execute the task**: Read the complete `<task-file>` and implement
|
|
148
|
-
according to its requirements, including:
|
|
149
|
-
- Objective and acceptance criteria
|
|
150
|
-
- Technical requirements and implementation notes
|
|
151
|
-
- Input dependencies and expected output artifacts
|
|
152
|
-
3. **Monitor progress**: Capture outputs, artifacts, and any issues
|
|
153
|
-
encountered during implementation.
|
|
114
|
+
must read and execute `<root>/config/hooks/PRE_TASK_EXECUTION.md` before any
|
|
115
|
+
implementation work, then read the complete `<task-file>` and implement it.
|
|
116
|
+
Do not run `scripts/check-for-updates.cjs`; delegated workers do not consume update notices.
|
|
154
117
|
|
|
155
118
|
### 9. Update status to completed or failed
|
|
156
119
|
|
|
@@ -175,8 +138,6 @@ append a "Noteworthy Events" section to the end of `<task-file>`:
|
|
|
175
138
|
- [YYYY-MM-DD] [Event description with sufficient context for the orchestrator]
|
|
176
139
|
```
|
|
177
140
|
|
|
178
|
-
If no noteworthy events occurred, do not add the section.
|
|
179
|
-
|
|
180
141
|
### 11. Error handling
|
|
181
142
|
|
|
182
143
|
If any error occurred during execution, read
|
|
@@ -184,14 +145,10 @@ If any error occurred during execution, read
|
|
|
184
145
|
Document the error in Noteworthy Events and ensure the task status is set to
|
|
185
146
|
`failed` if it is not already.
|
|
186
147
|
|
|
187
|
-
|
|
148
|
+
When the retained update `notice` is present, append that exact sentence after
|
|
149
|
+
the structured summary block, or after your final response when this skill emits
|
|
150
|
+
no summary block. Nothing may follow the notice.
|
|
188
151
|
|
|
189
|
-
|
|
152
|
+
## Failure Modes
|
|
190
153
|
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
Task Execution Result:
|
|
194
|
-
- Plan ID: [numeric-id]
|
|
195
|
-
- Task ID: [numeric-id]
|
|
196
|
-
- Exit Code: [0 for success, 1 for failure]
|
|
197
|
-
```
|
|
154
|
+
- **Execution errors.** If a task fails, read `<root>/config/hooks/POST_ERROR_DETECTION.md`, document the error in Noteworthy Events, and ensure the task status is set to `failed`.
|