@hecer/yoke 1.10.0 → 1.11.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/.claude-plugin/plugin.json +13 -13
- package/.codex-plugin/plugin.json +7 -7
- package/CHANGELOG.md +398 -379
- package/README.md +915 -915
- package/TODOS.md +5 -5
- package/agents/docs.toml +6 -6
- package/agents/implementer.toml +6 -6
- package/agents/reviewer.toml +6 -6
- package/agents/security.toml +6 -6
- package/bench/README.md +86 -86
- package/bench/RESULTS.md +35 -35
- package/bench/output-compaction.mjs +65 -65
- package/bench/result-schema.mjs +12 -12
- package/bench/results/claude-2026-07-27T18-03-26.json +50 -50
- package/bench/results/codex-unavailable-1785175418318.json +15 -15
- package/bench/results/gemini-2026-07-27T18-03-44.json +46 -46
- package/bench/run-matrix.mjs +26 -26
- package/bench/run.mjs +106 -106
- package/canon/AGENTS.md +30 -30
- package/canon/context/DECISIONS.md +4 -4
- package/canon/context/GLOSSARY.md +11 -11
- package/canon/context/KNOWLEDGE.md +4 -4
- package/canon/context/PROJECT.md +15 -15
- package/canon/loop/loop-spec.md +65 -65
- package/canon/loop/prd.schema.md +41 -41
- package/canon/manifest.yaml +59 -59
- package/canon/policy/gates.md +7 -7
- package/canon/policy/roles.md +9 -9
- package/canon/skills/ATTRIBUTION.md +99 -99
- package/canon/skills/authoring-prd/SKILL.md +56 -56
- package/canon/skills/brainstorming/SKILL.md +164 -164
- package/canon/skills/codebase-design/DEEPENING.md +15 -15
- package/canon/skills/codebase-design/DESIGN-IT-TWICE.md +12 -12
- package/canon/skills/codebase-design/SKILL.md +39 -39
- package/canon/skills/dispatching-parallel-agents/SKILL.md +182 -182
- package/canon/skills/document-release/SKILL.md +302 -302
- package/canon/skills/domain-modeling/ADR-FORMAT.md +19 -19
- package/canon/skills/domain-modeling/CONTEXT-FORMAT.md +39 -39
- package/canon/skills/domain-modeling/SKILL.md +35 -35
- package/canon/skills/executing-plans/SKILL.md +70 -70
- package/canon/skills/finishing-a-development-branch/SKILL.md +200 -200
- package/canon/skills/health/SKILL.md +177 -177
- package/canon/skills/maintaining-context/SKILL.md +34 -34
- package/canon/skills/minimal-code/SKILL.md +21 -21
- package/canon/skills/no-ai-slop/SKILL.md +103 -103
- package/canon/skills/no-ai-slop/eval.md +43 -43
- package/canon/skills/plan-ceo-review/SKILL.md +541 -541
- package/canon/skills/plan-eng-review/SKILL.md +362 -362
- package/canon/skills/receiving-code-review/SKILL.md +213 -213
- package/canon/skills/requesting-code-review/SKILL.md +105 -105
- package/canon/skills/resolving-merge-conflicts/SKILL.md +18 -18
- package/canon/skills/retro/SKILL.md +397 -397
- package/canon/skills/review/SKILL.md +246 -246
- package/canon/skills/ship/SKILL.md +691 -691
- package/canon/skills/subagent-driven-development/SKILL.md +277 -277
- package/canon/skills/systematic-debugging/SKILL.md +296 -296
- package/canon/skills/tdd/SKILL.md +371 -371
- package/canon/skills/unslop-ui/SKILL.md +34 -34
- package/canon/skills/using-git-worktrees/SKILL.md +218 -218
- package/canon/skills/verification-before-completion/SKILL.md +139 -139
- package/canon/skills/visual-verification/SKILL.md +54 -54
- package/canon/skills/workflow/SKILL.md +22 -22
- package/canon/skills/writing-for-agents/SKILL-MECHANICS.md +27 -27
- package/canon/skills/writing-for-agents/SKILL.md +42 -42
- package/canon/skills/writing-plans/SKILL.md +152 -152
- package/canon/skills/writing-skills/SKILL.md +655 -655
- package/canon/skills/yoke-retrofit/SKILL.md +26 -26
- package/canon/skills/yoke-workflow/SKILL.md +20 -20
- package/canon/tools/codex-rtk-hook.mjs +35 -35
- package/canon/tools/gemini-rtk-hook.mjs +25 -25
- package/canon/tools/graphify.md +3 -3
- package/canon/tools/playwright-mcp.md +3 -3
- package/canon/tools/rtk.md +7 -7
- package/canon/tools/serena.md +6 -6
- package/dist/agents/contracts.js +1 -1
- package/dist/agents/host.js +4 -0
- package/dist/agents/providers.js +13 -0
- package/dist/agents/telemetry.js +33 -0
- package/dist/canon/manifest.js +1 -1
- package/dist/cli.js +9 -9
- package/dist/dashboard/discovery.js +73 -0
- package/dist/dashboard/page.js +122 -122
- package/dist/dashboard/panels.js +91 -91
- package/dist/goals/command.js +2 -2
- package/dist/loop/claims.js +1 -1
- package/dist/loop/decision.js +2 -2
- package/dist/loop/prd.js +1 -1
- package/dist/prd/command.js +17 -17
- package/dist/quality/types.js +1 -1
- package/dist/retrofit/plan.js +2 -0
- package/dist/retrofit/planners/claude.js +14 -14
- package/dist/retrofit/planners/qwen.js +73 -0
- package/dist/retrofit/preserve.js +2 -2
- package/dist/retrofit/skill-actions.js +1 -0
- package/dist/review/command.js +1 -1
- package/dist/routing/capability.js +1 -1
- package/dist/routing/router.js +1 -1
- package/dist/setup/command.js +9 -3
- package/docs/CAPABILITY-ROUTING.md +51 -51
- package/docs/DASHBOARD-EVOLUTION.md +33 -33
- package/docs/MIGRATING-TO-1.0.md +33 -33
- package/docs/MIGRATING-TO-1.1.md +27 -27
- package/docs/MIGRATING-TO-1.4.md +70 -70
- package/docs/PRODUCT-DIRECTION-2026-09-05.md +210 -210
- package/docs/PUBLISHING.md +114 -114
- package/docs/VERIFIED-PROJECTS-VALIDATION.md +29 -29
- package/docs/VERIFIED-PROJECTS.md +167 -167
- package/docs/community-outreach-2026-08-20.md +85 -0
- package/docs/launch-copy-2026-08-21.md +193 -0
- package/docs/superpowers/plans/2026-06-28-baustein-e-context-layer.md +981 -981
- package/docs/superpowers/plans/2026-06-29-baustein-f-routing.md +258 -258
- package/docs/superpowers/plans/2026-06-29-baustein-g-loop-observability.md +1006 -1006
- package/docs/superpowers/plans/2026-06-29-baustein-h-loop-robustness.md +374 -374
- package/docs/superpowers/plans/2026-06-30-baustein-i-visual-design-verification.md +450 -450
- package/docs/superpowers/plans/2026-07-02-baustein-k-zero-to-100-bootstrap.md +1024 -1024
- package/docs/superpowers/plans/2026-07-02-baustein-m-flow-smoke-proofs.md +574 -574
- package/docs/superpowers/plans/2026-08-13-gauntlet-quality-loop.md +537 -537
- package/docs/superpowers/plans/2026-08-16-artifact-backed-output-compaction.md +329 -329
- package/docs/superpowers/plans/2026-09-05-verified-projects.md +83 -83
- package/docs/superpowers/specs/2026-06-28-baustein-e-context-layer-design.md +146 -146
- package/docs/superpowers/specs/2026-06-29-baustein-f-routing-design.md +106 -106
- package/docs/superpowers/specs/2026-06-29-baustein-g-loop-observability-design.md +186 -186
- package/docs/superpowers/specs/2026-06-29-baustein-h-loop-robustness-design.md +113 -113
- package/docs/superpowers/specs/2026-06-30-baustein-i-visual-design-verification-design.md +98 -98
- package/docs/superpowers/specs/2026-07-02-baustein-k-zero-to-100-bootstrap-design.md +200 -200
- package/docs/superpowers/specs/2026-07-02-baustein-m-flow-smoke-proofs-design.md +155 -155
- package/docs/superpowers/specs/2026-08-13-gauntlet-quality-loop-design.md +422 -422
- package/docs/superpowers/specs/2026-08-16-artifact-backed-output-compaction-design.md +166 -166
- package/gemini-extension.json +6 -6
- package/hooks/hooks.json +19 -19
- package/package.json +87 -87
package/CHANGELOG.md
CHANGED
|
@@ -1,379 +1,398 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## 1.
|
|
4
|
-
|
|
5
|
-
### Added
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
- Add
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
###
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
### Fixed
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
## 1.
|
|
81
|
-
|
|
82
|
-
### Added
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
-
|
|
162
|
-
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
-
|
|
173
|
-
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
-
|
|
203
|
-
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
-
|
|
207
|
-
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
-
|
|
220
|
-
-
|
|
221
|
-
- PRD
|
|
222
|
-
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
## 0.
|
|
253
|
-
|
|
254
|
-
### Added
|
|
255
|
-
- **
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
the
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
`yoke
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
`
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
-
|
|
367
|
-
|
|
368
|
-
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 1.11.0 — 2026-09-07
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- Add Qwen Code (Alibaba) as fourth supported provider alongside Claude, Codex and Gemini.
|
|
7
|
+
- Detect Qwen host environment via `QWEN_CLI` and `QWEN_CLI_HOME` environment variables.
|
|
8
|
+
- Add Qwen routing workers with four capability tiers: `qwen-turbo-latest` (light), `qwen3-coder-plus` (standard/strong), `qwen3-235b-a22b` (frontier).
|
|
9
|
+
- Parse Qwen streaming telemetry for token usage and model reporting.
|
|
10
|
+
- Support Qwen in all CLI commands: `setup`, `loop`, `review`, `prd draft`, `prd assess`, `goal run`.
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- Update project description from "three agents" to "four agents" to reflect Qwen support.
|
|
14
|
+
- Extend review resolution order to include Qwen for cross-model reviews.
|
|
15
|
+
- Update setup prompts to offer Qwen as agent and runner option.
|
|
16
|
+
|
|
17
|
+
### Migration and validation limits
|
|
18
|
+
- Existing configurations remain compatible. New setups can select Qwen as agent/runner.
|
|
19
|
+
- Qwen CLI uses Gemini-style arguments (`--approval-mode`, `--output-format stream-json`). `bare`, `reasoningEffort` and `nativeMultiAgent` selections are not supported (like Gemini).
|
|
20
|
+
- Qwen routing profiles are configurable hypotheses, not authenticated benchmarks. Update installed packages and restart the dashboard/runner.
|
|
21
|
+
|
|
22
|
+
## 1.10.0 — 2026-09-06
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- Adopt the Yoke wordmark in the GitHub and npm README.
|
|
26
|
+
- Prepare task assessments in one bounded planning call with `yoke prd assess`; draft and inbox planning bind assessments to requirements, upstream dependencies and the approved brief.
|
|
27
|
+
- Separate `planning.agent`/`model`/`reasoningEffort` from execution settings. New setups require prepared assessments and block missing worker profiles; existing configurations retain on-demand planning and parent fallback.
|
|
28
|
+
- Add selective reassessment, planning input limits and `routing.maxTier` to bound automatic model selection and escalation.
|
|
29
|
+
- Add attention-first project search and status filters, with separate goal/loop states and explicit stale activity warnings.
|
|
30
|
+
- Restore dashboard views and UTC period controls through URL links, browser history and refresh; cancel obsolete requests and bound project comparison concurrency.
|
|
31
|
+
- Compare recorded tokens, accepted tasks and reported costs against the preceding equal-duration period without inventing missing measurements or percentages from zero baselines.
|
|
32
|
+
|
|
33
|
+
### Fixed
|
|
34
|
+
- Fix Windows safe-mode Codex execution by screening Store PowerShell/aliases and probing a native shell under the same sandbox before model work; keep permissions intact.
|
|
35
|
+
- Launch Windows provider executables/npm entry points with literal argv; bound preflight and provider lifetime, recognize streamed infrastructure failures, retain failed-worktree/process evidence, and guard against unconfirmed termination before another worker starts.
|
|
36
|
+
- Separate provider liveness, supervisor heartbeat, output and successful-tool progress in status/dashboard; label backlog percentages and preserve explicit bare startup through capability routing. See [Windows runner validation](docs/WINDOWS-RUNNER-VALIDATION.md).
|
|
37
|
+
- Keep local loop locks and dashboard status out of implementation commits and clean-worktree checks.
|
|
38
|
+
- Stage implementation files safely when runtime history directories are already ignored, including literal filenames and tracked deletions, for serial commits and parallel candidate snapshots.
|
|
39
|
+
|
|
40
|
+
### Migration and validation limits
|
|
41
|
+
- Existing routing configurations retain on-demand assessment and parent fallback. Use `yoke prd assess` to prepare task packages; configure `planning.agent`, `planning.model`, `planning.reasoningEffort` and `routing.maxTier` to separate planning from bounded execution. New setups require prepared assessments and block missing profiles.
|
|
42
|
+
- Update installed packages and restart the dashboard/runner to use the new code. Existing running processes are not upgraded or instrumented retroactively. Windows preflight preserves sandbox permissions and changes only the provider environment.
|
|
43
|
+
- Dashboard comparisons report recorded measurements, not reconstructed history or calibrated savings. Tokens per minute are consumption rates, not generation speed. Live routed Windows validation covered Codex on the documented machine; cross-provider performance and universal Windows compatibility are not established. See the linked dashboard, batch-planning and runner validation records.
|
|
44
|
+
|
|
45
|
+
## 1.9.0 — 2026-09-06
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
- Add capability-based routing with persisted task assessments, explicit model/effort tiers, role eligibility and conservative use of independent task-class outcomes.
|
|
49
|
+
- Keep planning on the start model; reuse assessments across attempts/worktrees and invalidate them when task requirements change.
|
|
50
|
+
- Add bounded repair and tier escalation after mechanical gate failures, retaining the patch and forwarding failure evidence. Infrastructure failures do not trigger capability escalation.
|
|
51
|
+
- Apply task-based profiles to reviews, quality critics/repairs and goal execution; display implementation selection reasons and next escalation in the dashboard.
|
|
52
|
+
- Add setup options `--routing-strategy=capability` and `--routing-preset` for explicit migration. Preserve existing strategies and custom profiles by default.
|
|
53
|
+
|
|
54
|
+
### Validation limits
|
|
55
|
+
- Initial profile tiers are configurable hypotheses, not authenticated model benchmarks, price estimates or calibrated success probabilities. See [capability routing](docs/CAPABILITY-ROUTING.md) for defaults and bounds.
|
|
56
|
+
|
|
57
|
+
## 1.8.0 — 2026-09-06
|
|
58
|
+
|
|
59
|
+
### Added
|
|
60
|
+
- Add persistent local measurement history and dashboard views for current work, usage/time and results, including UTC day/week/month filters, model history, project comparisons and consumption charts.
|
|
61
|
+
- Display current tasks, worker phases, integration progress and status age, with automatic refresh of the current-work view.
|
|
62
|
+
- Record explicit acceptances and show measured tokens and time per acceptance. Attribute available reviewer, critic and repair usage; distinguish actual reported models, unknown calls and partial costs.
|
|
63
|
+
|
|
64
|
+
### Changed
|
|
65
|
+
- Enable routing in new setups and automatically select up to three parallel workers when all pending tasks declare write scopes. Dependencies and overlapping scopes still constrain dispatch. Preserve explicit opt-outs and use isolated worktrees by default.
|
|
66
|
+
- Share routing decisions between synchronous and asynchronous runners; support routed parallel workers, stable recovery history and explicit provider affinity.
|
|
67
|
+
- Reserve execution capacity through integration and disable native delegation for loop providers; preserve Gemini system policy in a temporary bounded-execution configuration.
|
|
68
|
+
- Require a dated changelog entry, synchronized version metadata and verified release checks for every new version in the project instructions.
|
|
69
|
+
|
|
70
|
+
### Fixed
|
|
71
|
+
- Avoid conflicting Codex sandbox arguments and prevent Codex-only options from leaking into Gemini workers.
|
|
72
|
+
- Keep compact measurement history after recent activity expires, deduplicate archived events, and report incomplete history instead of treating missing usage as zero.
|
|
73
|
+
- Preserve reviewer telemetry and worker/model attribution across parallel execution and recovery.
|
|
74
|
+
|
|
75
|
+
### Migration and validation limits
|
|
76
|
+
- Use `--parallel=N` to choose a worker limit, `--parallel=auto` for automatic selection, `--no-routing` to opt out of routing, and `--no-isolate` to opt out of default isolation. Explicit existing configuration remains authoritative. Unknown write scopes, tool actions and worktree recovery select serial execution in auto mode.
|
|
77
|
+
- Automatic routing needs configured profiles; otherwise it keeps the selected parent provider. Explicit `--routing` without profiles reports a configuration error.
|
|
78
|
+
- Missing historical usage cannot be reconstructed. Tokens per minute describe interval or summed call consumption, not measured generation speed. Live authenticated provider benchmarks, resource-adaptive concurrency and calibrated time/cost predictions are not established by this release.
|
|
79
|
+
|
|
80
|
+
## 1.7.0 — 2026-09-05
|
|
81
|
+
|
|
82
|
+
### Added
|
|
83
|
+
- Independent `yoke check` with executable acceptance mapping, protected test infrastructure and content-bound evidence.
|
|
84
|
+
- Durable project goals, provider handoff, checkpoint budgets, interruption accounting and project-scoped recovery.
|
|
85
|
+
- Local project registry and loopback dashboard with goals, task estimates, evidence, consumption and pause controls.
|
|
86
|
+
- Explicit routing rules with persisted gate-driven escalation; bounded tool actions without model calls.
|
|
87
|
+
- Task-aware context packets, advisory write scopes, dependency-depth scheduling and empirical time ranges with prediction error records.
|
|
88
|
+
|
|
89
|
+
### Fixed
|
|
90
|
+
- Failed serial isolated worktrees are retained and can be explicitly resumed against their original target and PRD.
|
|
91
|
+
- Reviewer fingerprints include untracked contents and acceptance inputs; unsupported nested repository identity fails closed.
|
|
92
|
+
- Gemini always emits streaming telemetry, preserves model identity, honors aggregate token aliases and rejects unsupported selections. Its RTK hook merges native settings without a shell dependency.
|
|
93
|
+
- Runtime evidence is excluded from Git gates and commits in existing projects. Partial usage and costs remain visibly incomplete.
|
|
94
|
+
- Protected acceptance is checked after verification and repair, and linked goal state cannot overwrite unrelated files through pause.
|
|
95
|
+
|
|
96
|
+
### Validation limits
|
|
97
|
+
- Live authenticated provider comparisons and calibrated development-time/cost estimates are not established by the automated tests. Browser proof and independent model review still require explicit configuration.
|
|
98
|
+
|
|
99
|
+
## 1.6.2 — 2026-09-02
|
|
100
|
+
|
|
101
|
+
### Added
|
|
102
|
+
- GitHub Releases can now publish `@hecer/yoke` through npm trusted publishing with short-lived OIDC credentials and automatic provenance, without a long-lived npm token.
|
|
103
|
+
|
|
104
|
+
### Fixed
|
|
105
|
+
- Codex safe-mode invocations now use the supported `workspace-write` sandbox with `--approve-for-me`; the removed `--full-auto` flag no longer blocks current Codex CLI releases.
|
|
106
|
+
- Windows provider cleanup rechecks termination after process close and accepts an already-absent process as successfully cleaned up, avoiding stale ownership records and unnecessary watchdog waits.
|
|
107
|
+
- Successful stale-loop cleanup removes obsolete runtime status, so `yoke loop status` no longer reports a dead run as `RUNNING`.
|
|
108
|
+
|
|
109
|
+
## 1.6.1 — 2026-08-21
|
|
110
|
+
|
|
111
|
+
### Fixed
|
|
112
|
+
- Release metadata counts platform-conditional tests consistently on Windows and Ubuntu.
|
|
113
|
+
- Provider cleanup confirms termination after child close, preventing stale ownership records when Windows reports process exit asynchronously.
|
|
114
|
+
|
|
115
|
+
## 1.6.0 — 2026-08-20
|
|
116
|
+
|
|
117
|
+
### Added
|
|
118
|
+
- The canon now includes `no-ai-slop`, `domain-modeling`, `codebase-design`, `resolving-merge-conflicts`, and `writing-for-agents`, with their supporting templates and evaluation material. Source adaptations are credited in `canon/skills/ATTRIBUTION.md`.
|
|
119
|
+
- UI projects receive an automatic design-quality gate with configurable `design.mode` (`off`, `auto`, or `on`) and score budget. Detection uses package dependencies, UI source files, and configured smoke flows.
|
|
120
|
+
- Durable context now includes a project glossary and can expose an optional bounded-context map.
|
|
121
|
+
|
|
122
|
+
### Changed
|
|
123
|
+
- Retrofit installs complete skill packages for Claude, Codex, and Gemini instead of copying only `SKILL.md`. Local resources, binary files, and executable bits are preserved where supported.
|
|
124
|
+
- Every canon skill declares `invocation: auto|manual`; retrofit maps that policy to Claude frontmatter, Codex `agents/openai.yaml`, and Gemini's generated automatic-skill index.
|
|
125
|
+
- Canon validation rejects missing local Markdown resources, unsafe package entries, symlinks, and provider metadata that conflicts with the manifest.
|
|
126
|
+
|
|
127
|
+
### Fixed
|
|
128
|
+
- Windows provider cleanup now treats a successful `taskkill` as a request and confirms that the recorded PID has stopped before deleting its ownership record.
|
|
129
|
+
|
|
130
|
+
## 1.5.1 — 2026-08-17
|
|
131
|
+
|
|
132
|
+
### Fixed
|
|
133
|
+
- Serena MCP configurations generated by Yoke no longer open the local web dashboard automatically on every startup.
|
|
134
|
+
|
|
135
|
+
## 1.5.0 — 2026-08-16
|
|
136
|
+
|
|
137
|
+
### Added
|
|
138
|
+
- Failed verify, executable-criterion, performance, configured custom-audit, and completion gates now produce deterministic byte-bounded previews and preserve large complete stdout/stderr in content-addressed `.yoke/artifacts/` files with SHA-256 references.
|
|
139
|
+
- Projects can tune `output.previewBytes` and `output.artifactThresholdBytes`; existing projects use backward-compatible 2 KiB/8 KiB defaults.
|
|
140
|
+
- A deterministic local benchmark verifies signal retention, preview bounds, compression measurement, and artifact digest round-trips without making provider-token claims.
|
|
141
|
+
|
|
142
|
+
### Security
|
|
143
|
+
- Output artifact paths sanitize story identifiers, stay below a project-local root, use user-only file modes where supported, and are excluded from Yoke's clean-tree and story-commit operations even in upgraded projects. Raw artifacts are never injected automatically and documentation warns that project commands may emit secrets or personal data.
|
|
144
|
+
- Gate command capture is capped at 16 MiB per stdout/stderr stream. Quota overflow fails closed and labels retained evidence as truncated instead of risking unbounded memory or claiming partial output is complete.
|
|
145
|
+
|
|
146
|
+
## 1.4.0 — 2026-08-15
|
|
147
|
+
|
|
148
|
+
### Added
|
|
149
|
+
- `yoke loop run --parallel=N` now executes dependency-ready, non-colliding stories through real provider subprocess workers, isolated worktrees, leased claims, and a FIFO integration queue with fresh integrated-system gates.
|
|
150
|
+
- Reference-driven quality declarations can collect screenshots, files, command output, or benchmark results and run a schema-validated blind critic with bounded repair rounds, elapsed-time limits, blocking or advisory policy, and retained proof.
|
|
151
|
+
- `--candidates=N` can fan out up to five isolated implementations, discard mechanically red candidates, select one green candidate through identity-blind pairwise comparison, and preserve selected/loser evidence before cleanup.
|
|
152
|
+
- Loop status now exposes dispatcher, worker, integrator, candidate lifecycle, worktree, queue, integration, reopen, quality-round, repair-budget, and trusted provider/model provenance data.
|
|
153
|
+
|
|
154
|
+
### Changed
|
|
155
|
+
- Provider subprocesses use explicit lifecycle contracts and incarnation-aware process records so worker cancellation and cleanup target only the process tree Yoke actually started.
|
|
156
|
+
- Parallel and candidate runs disable adaptive routing, honor story-level provider affinity, latch pause requests across the whole dispatcher, and rerun quality plus review after integration.
|
|
157
|
+
- `yoke loop cleanup` retains Yoke worktrees unless `--remove-worktrees` is explicit, while still reaping recorded orphan runners and stale locks safely.
|
|
158
|
+
|
|
159
|
+
### Fixed
|
|
160
|
+
- Expired claims, worker crashes, merge conflicts, pause races, and integration failures now release ownership deterministically, retain terminal proof, and reopen stories without leaking worktrees or marking false completion.
|
|
161
|
+
- Quality repair fails closed on malformed critic output, reference drift, provider/model provenance mismatch, candidate identity leakage, unavailable critics, exhausted limits, and mechanically red repairs.
|
|
162
|
+
- The watchdog resolves its TypeScript loader from both source and built npm layouts on Node 20+, and read-only Codex comparisons can run in disposable candidate worktrees without weakening normal repository checks.
|
|
163
|
+
|
|
164
|
+
### Security
|
|
165
|
+
- Blind comparison requests expose only opaque labels and digests while binding every verdict to the trusted judge provider, model, prompt, rubric, reference, and candidate provenance.
|
|
166
|
+
- Cleanup and cancellation use project-scoped leases, owner tokens, PID birth/incarnation checks, and recorded process handles rather than machine-wide process-name matching.
|
|
167
|
+
|
|
168
|
+
## 1.3.0 — 2026-08-09
|
|
169
|
+
|
|
170
|
+
### Added
|
|
171
|
+
- Teams can submit change requests at any time with `yoke change add` and inspect the append-only inbox with `yoke change status`; queued requests are planned at safe loop boundaries by Claude, Codex, or Gemini without interrupting active story work.
|
|
172
|
+
- Acceptance criteria can carry stable IDs and executable verification commands, and Yoke records per-criterion evidence before a story can be marked complete.
|
|
173
|
+
- Projects can configure an integrated completion command that proves the final system flow after all story-level gates pass.
|
|
174
|
+
|
|
175
|
+
### Changed
|
|
176
|
+
- New projects use strict criterion-proof requirements by default, while existing boolean-only criteria remain readable for compatibility.
|
|
177
|
+
- PRD authoring, schemas, loop guidance, generated configuration, and provider instructions now treat completion as an ephemeral readiness state: new requests create more stories instead of prematurely forcing a release boundary.
|
|
178
|
+
|
|
179
|
+
### Fixed
|
|
180
|
+
- Broad green test suites can no longer satisfy unrelated structured acceptance criteria: proof commands must use an approved test runner, contain the criterion ID, and avoid shell operators.
|
|
181
|
+
- Change-intake failures block safely; an independent coverage pass rejects omitted requested outcomes, crash recovery retains uncommitted requests, and concurrent PRD edits are detected instead of silently overwriting user work.
|
|
182
|
+
- Integrated completion checks prevent locally finished stories from masking broken cross-component flows such as authentication callbacks or purchase-to-entitlement activation.
|
|
183
|
+
|
|
184
|
+
### Security
|
|
185
|
+
- Updated the transitive development dependency `nanoid` to a non-vulnerable release so the complete CI dependency audit is clean.
|
|
186
|
+
- Restricted model-authored criterion proof to criterion-targeted test commands and blocked shell control operators and runner-prefix spoofing before host execution.
|
|
187
|
+
|
|
188
|
+
## 1.2.1 — 2026-08-02
|
|
189
|
+
|
|
190
|
+
### Fixed
|
|
191
|
+
- `yoke loop run` now executes every remaining planned story by default instead of stopping after an implicit 25-iteration batch. Use `--max=N` only when an intentional bounded batch is wanted.
|
|
192
|
+
- Unlimited runs remain unlimited after a critical-decision answer/resume cycle, while explicit caps remain preserved and accept positive integers only.
|
|
193
|
+
|
|
194
|
+
## 1.2.0 — 2026-08-02
|
|
195
|
+
|
|
196
|
+
### Added
|
|
197
|
+
- Opt-in adaptive model routing lets a strong parent orchestrate each bounded story while Yoke selects an available Claude, Codex, or Gemini worker by quality, speed, cost, or balanced strategy.
|
|
198
|
+
- A concurrency-safe local evidence registry learns from independent verification results without sharing mutable state between simultaneous Yoke processes.
|
|
199
|
+
- Routing telemetry, reproducible benchmark fixtures, and analysis tooling make worker selection, token use, timing, and gate outcomes auditable.
|
|
200
|
+
|
|
201
|
+
### Changed
|
|
202
|
+
- Setup keeps routing disabled unless explicitly enabled and validates provider/model worker pools before execution.
|
|
203
|
+
- Internal provider contract tests cover Claude Code, Codex CLI, and Gemini CLI through the shared adapter. Codex-only authenticated trials completed all 12 stories and 36 hidden checks; median routed runs used 11.0% fewer fresh input tokens, 49.5% fewer output tokens, 78.2% fewer reasoning tokens, and 33.8% less wall time than routing off.
|
|
204
|
+
|
|
205
|
+
### Fixed
|
|
206
|
+
- Reviewer prompts now permit their required verdict file while continuing to forbid project changes.
|
|
207
|
+
- Failed reviewer subprocesses retain bounded provider stderr in loop status, exposing authentication, quota, sandbox, and startup failures instead of a generic command error.
|
|
208
|
+
|
|
209
|
+
## 1.1.0 — 2026-07-30
|
|
210
|
+
|
|
211
|
+
### Added
|
|
212
|
+
- Shared five-question `yoke setup` wizard with provider-aware defaults for Claude, Codex, and Gemini.
|
|
213
|
+
- Persisted default runner selection and `auto|critical` loop decision policies.
|
|
214
|
+
- Provider-neutral `yoke-workflow` skill for planning questions, approved-plan PRD handoff, autonomous story execution, and critical-decision resume.
|
|
215
|
+
- Structured critical-decision requests with `yoke loop decision` and `yoke loop answer`; answers are validated, committed under the configured human identity, and resume the same story.
|
|
216
|
+
- Approved `.yoke/plan.md` context in PRD drafting and a lint gate for unresolved planning placeholders.
|
|
217
|
+
|
|
218
|
+
### Fixed
|
|
219
|
+
- Retrofit and loop on/off now preserve timeout, decision, runner, and permission settings.
|
|
220
|
+
- Empty projects prefer the active agent host instead of silently installing Claude artifacts in Codex.
|
|
221
|
+
- Loop and PRD runner selection now prefer an explicit flag, then the configured runner, then the active host.
|
|
222
|
+
- Retrofit reports no longer label every provider as Claude Code.
|
|
223
|
+
- Critical-decision resumes retain isolation, review, runner, permissions, timeout, JSON, policy, and iteration settings instead of falling back to an unreviewed default run.
|
|
224
|
+
- Decision answers use an atomic owner-token lock and recoverable request journal, are checked against the active PRD story, bounded as untrusted data, and committed path-by-path so unrelated edits cannot enter the human-owned commit.
|
|
225
|
+
- Decision recovery now binds the exact selected answer to its commit, rolls back only its own interrupted context append, namespaces resume state per project/worktree, and serializes cleanup with loop startup.
|
|
226
|
+
- Active agent session markers now outrank globally configured provider home directories, and setup rejects partially invalid agent lists.
|
|
227
|
+
|
|
228
|
+
### Changed
|
|
229
|
+
- New setups enable the loop by default and choose `decisionPolicy: auto`; the wizard can select `critical` or disable the loop.
|
|
230
|
+
- Legacy `loop.onAmbiguity` and `--on-ambiguity` remain compatibility aliases.
|
|
231
|
+
|
|
232
|
+
## 1.0.0 — 2026-07-27
|
|
233
|
+
|
|
234
|
+
### Added
|
|
235
|
+
- Native Codex skills, project config, hooks, reusable agents, and plugin metadata.
|
|
236
|
+
- Safe provider permission profiles and structured cross-provider telemetry.
|
|
237
|
+
- Schema-validated independent review verdicts with explicit self-review opt-in.
|
|
238
|
+
- Human-owned commit identity enforcement; AI co-author trailers default off.
|
|
239
|
+
- `yoke audit` dependency, secret, and sensitive-diff gate with versioned suppressions.
|
|
240
|
+
- PRD dependency graphs, collision areas, agent affinity, claims, FIFO merge queue, and bounded async dispatcher APIs.
|
|
241
|
+
- Reproducible cross-runner benchmark schema and matrix launcher.
|
|
242
|
+
|
|
243
|
+
### Changed
|
|
244
|
+
- Dangerous permission bypass is opt-in via `--unsafe`.
|
|
245
|
+
- Worktree cleanup is non-destructive unless `--remove-worktrees` is passed.
|
|
246
|
+
- Reviews no longer trust process exit code alone.
|
|
247
|
+
|
|
248
|
+
### Security
|
|
249
|
+
- Vitest upgraded to 4.1.10; the dependency tree reports zero known vulnerabilities.
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
## 0.9.0 — 2026-07-22
|
|
253
|
+
|
|
254
|
+
### Added
|
|
255
|
+
- **Performance budget gate** (`perf.command` in `.yoke/config.yaml`, optional `perf.retries`).
|
|
256
|
+
A benchmark command with the same contract as verify (exit 0 = within budget) runs **after
|
|
257
|
+
verify** on every story — new loop phase `perf`, `YOKE_STORY` exposed, worktree-aware in
|
|
258
|
+
`--isolate` mode. A red benchmark blocks the story
|
|
259
|
+
(`story S6 exceeded its performance budget: …`) no matter how clean the diff is. When the
|
|
260
|
+
gate is configured, the implementer prompt names the budget command so agents keep hot
|
|
261
|
+
paths efficient and never "simplify away" an optimization without re-running the benchmark.
|
|
262
|
+
- **`performance` canon skill** (28 skills now): efficiency as a measured requirement —
|
|
263
|
+
clean-by-default with the decision ladder (minimal-code → measurable acceptance criterion →
|
|
264
|
+
project perf gate), profile-first, optimize leaves not boundaries, benchmarks committed as
|
|
265
|
+
tests, the *why* of every optimization versioned so future agents don't clean fast code
|
|
266
|
+
back to slow.
|
|
267
|
+
- **`authoring-prd` guidance**: performance requirements belong in acceptance criteria as
|
|
268
|
+
numbers ("imports 1M rows in < 2s"), and every clarifying question belongs in the planning
|
|
269
|
+
round — a criterion still needing a decision is not loop-ready.
|
|
270
|
+
|
|
271
|
+
## 0.8.0 — 2026-07-20
|
|
272
|
+
|
|
273
|
+
### Added
|
|
274
|
+
- **Live progress + ETA.** Story completions are now first-class events: the console shows
|
|
275
|
+
`✓ S6 done in 4m28s — 20/45 (44%) · ~1h40m left`, every status (file, NDJSON stream,
|
|
276
|
+
`yoke loop status`) carries `percent` and an `eta` block. The estimate averages the
|
|
277
|
+
durations of stories completed **in this run** (current velocity) and falls back to the
|
|
278
|
+
persisted history of previous runs (`.yoke/story-durations.json`, last 50, gitignored).
|
|
279
|
+
No data → no estimate, never an invented one.
|
|
280
|
+
- **Ambiguity policy** (`loop.onAmbiguity` / `--on-ambiguity=<resolve|abort>`). The runner
|
|
281
|
+
prompt now always forbids asking questions (a loop run has nobody to answer). Default
|
|
282
|
+
`resolve`: the agent settles ambiguous criteria itself, states the interpretation, and the
|
|
283
|
+
loop never stops. Opt-in `abort`: the agent writes its open questions to
|
|
284
|
+
`.yoke/ambiguity.md` and stops; the loop consumes the file, skips verify (an unimplemented
|
|
285
|
+
story would otherwise pass on pre-existing green tests), and blocks with the question as
|
|
286
|
+
the reason. Companion principle: clarifying questions belong in the planning round, before
|
|
287
|
+
the loop starts.
|
|
288
|
+
|
|
289
|
+
## 0.7.0 — 2026-07-17
|
|
290
|
+
|
|
291
|
+
### Added
|
|
292
|
+
- **Update check + `yoke upgrade`.** Every CLI invocation ends with a non-blocking
|
|
293
|
+
version hint (npm/gh-style): a detached background refresher caches the registry's
|
|
294
|
+
latest at most once a day; when it is newer, a one-line stderr hint suggests
|
|
295
|
+
`yoke upgrade` (which runs `npm install -g @hecer/yoke@latest`). Silent in CI,
|
|
296
|
+
`--json` runs, non-TTY pipes, and under `YOKE_NO_UPDATE_CHECK=1`.
|
|
297
|
+
- **Opt-in auto-upgrade** (`update.auto: true` in `.yoke/config.yaml`): evaluated at
|
|
298
|
+
loop START only — never mid-run; the running process finishes on its version and
|
|
299
|
+
the upgrade applies from the next invocation. Deliberately NOT the default:
|
|
300
|
+
a gate harness must not change itself mid-project (determinism), and unreviewed
|
|
301
|
+
auto-installs are a supply-chain hazard.
|
|
302
|
+
|
|
303
|
+
## 0.6.0 — 2026-07-17
|
|
304
|
+
|
|
305
|
+
### Added
|
|
306
|
+
- **Project-scoped orphan reaping.** The watchdog now records its pids in the project's
|
|
307
|
+
`.yoke/runner.pid` (main dir and per-story worktrees; removed on clean exit), and
|
|
308
|
+
`yoke loop cleanup` kills exactly those recorded process trees — and only while no
|
|
309
|
+
live loop holds the lock. Background: without a scoped mechanism, users and agents
|
|
310
|
+
resorted to machine-wide pattern kills (every process matching
|
|
311
|
+
`dangerously-skip-permissions`), which took down *healthy* runners of other projects
|
|
312
|
+
mid-story and stalled their loops. Never kill by pattern; `yoke loop cleanup` is the
|
|
313
|
+
safe path. `.yoke/runner.pid` is gitignored by retrofit.
|
|
314
|
+
|
|
315
|
+
## 0.5.0 — 2026-07-17
|
|
316
|
+
|
|
317
|
+
Root-cause fixes for the two "yoke keeps hanging" failure modes observed in the field
|
|
318
|
+
(orphaned `claude.exe` runners piling up, healthy long stories dying at exactly the
|
|
319
|
+
idle window):
|
|
320
|
+
|
|
321
|
+
### Fixed
|
|
322
|
+
- **Watchdog now kills the whole process tree on Windows** (`taskkill /T /F`).
|
|
323
|
+
Previously it killed only the spawned shell (`shell: true`), orphaning the actual
|
|
324
|
+
agent process — which kept writing to the worktree (dirty-tree blocks, failing
|
|
325
|
+
worktree removal) and kept burning API tokens. Observed in the field as ~10
|
|
326
|
+
zombie `claude.exe` per machine plus surviving dev servers.
|
|
327
|
+
- **Claude runner always runs in stream-json mode.** Plain `-p` prints nothing until
|
|
328
|
+
the run finishes, so the idle watchdog mistook healthy >20-minute stories for dead
|
|
329
|
+
processes and killed them at exactly the idle timeout — while the user saw dead air.
|
|
330
|
+
The stream doubles as liveness; token usage is now reported on every run (not just
|
|
331
|
+
`--json` mode).
|
|
332
|
+
|
|
333
|
+
### Changed
|
|
334
|
+
- README: operating notes for driving the loop from inside an agent session
|
|
335
|
+
(background execution, small `--max` batches, `yoke loop cleanup` after interrupts) —
|
|
336
|
+
outer shell-tool timeouts killing a foreground `yoke loop run` were the third
|
|
337
|
+
observed "hang" pattern.
|
|
338
|
+
|
|
339
|
+
## 0.4.0 — 2026-07-17
|
|
340
|
+
|
|
341
|
+
### Added
|
|
342
|
+
- **Hardened runner prompts** — distilled agent-harness patterns for headless runs:
|
|
343
|
+
scope discipline (nothing beyond the story), no unsolicited summary/plan/analysis
|
|
344
|
+
documents, root-cause fixes instead of gate bypasses, faithful outcome reporting,
|
|
345
|
+
bounded final messages (cuts output-token waste). Review prompts now ground verdicts
|
|
346
|
+
in observed evidence only and keep them brief.
|
|
347
|
+
|
|
348
|
+
### Fixed
|
|
349
|
+
- `.yoke/loop.pause` is now gitignored by retrofit. Previously the loop's own
|
|
350
|
+
`git add -A` story commit swept the pause control file into history in
|
|
351
|
+
un-retrofitted targets; removing it dirtied the tree and the clean-tree gate
|
|
352
|
+
blocked the resume run — the loop locked itself out.
|
|
353
|
+
|
|
354
|
+
> Note: 0.3.0 was tagged and released on GitHub but never reached npm (2FA re-login
|
|
355
|
+
> was pending), so for npm users 0.4.0 is the first release with the 0.3.0 changes below.
|
|
356
|
+
|
|
357
|
+
## 0.3.0 — 2026-07-10
|
|
358
|
+
|
|
359
|
+
### Added
|
|
360
|
+
- **Claude Code plugin packaging** — the repo is now its own plugin marketplace
|
|
361
|
+
(`.claude-plugin/plugin.json` + `marketplace.json`): `/plugin marketplace add HECer/yoke`,
|
|
362
|
+
then `/plugin install yoke@yoke` installs the full canon under the `yoke:` skill namespace.
|
|
363
|
+
- **Gemini CLI extension manifest** (`gemini-extension.json` + `GEMINI-EXTENSION.md`) —
|
|
364
|
+
installable via `gemini extensions install https://github.com/HECer/yoke`, listed in the
|
|
365
|
+
daily-crawled extensions gallery.
|
|
366
|
+
- **Benchmark harness** (`bench/`) — reproducible cross-runner benchmark (tokens · speed ·
|
|
367
|
+
quality) with a fixed fixture, pre-written objective tests, and committed result data.
|
|
368
|
+
- **Companion tool docs** — `canon/tools/claude-mem.md` (persistent memory; interactive
|
|
369
|
+
sessions only, explicitly kept out of loop runs) and `canon/tools/ui-ux-pro-max.md`
|
|
370
|
+
(design generation paired with Yoke's design verification gates).
|
|
371
|
+
- **Multi-agent parallel loop design** — evaluation + phased design for distributing PRD
|
|
372
|
+
stories across parallel workers (`needs` dependency field, claim files, merge queue,
|
|
373
|
+
heterogeneous cross-agent dispatch): `docs/superpowers/specs/2026-07-10-multi-agent-parallel-loop-design.md`.
|
|
374
|
+
|
|
375
|
+
### Fixed
|
|
376
|
+
- Agent-availability probe timeout raised 5s → 20s: Gemini CLI cold-starts in ~6s on
|
|
377
|
+
Windows, so the loop misreported an installed `gemini` as "not found on PATH"
|
|
378
|
+
(found by the new benchmark harness).
|
|
379
|
+
- Gemini runner invocation: dropped the bare `-p` flag — current Gemini CLI (0.33+)
|
|
380
|
+
requires a value after `-p` and errored with "Not enough arguments following: p".
|
|
381
|
+
Piped stdin selects headless mode by itself, so the runner now passes only `--yolo`
|
|
382
|
+
(also found by the benchmark harness).
|
|
383
|
+
|
|
384
|
+
### Changed
|
|
385
|
+
- README: npm install is now the primary quickstart path; documented plugin/extension
|
|
386
|
+
installs and optional companions.
|
|
387
|
+
- npm package now ships `CHANGELOG.md`, `bench/` (harness + result data), and
|
|
388
|
+
`docs/superpowers/` (all specs and plans, including the multi-agent parallel loop design).
|
|
389
|
+
|
|
390
|
+
## 0.2.0 — 2026-07-09
|
|
391
|
+
|
|
392
|
+
- First npm release as `@hecer/yoke`.
|
|
393
|
+
- Hyperflow integration surface: `yoke loop run --json` NDJSON stream, pause signal,
|
|
394
|
+
token-usage + model-id reporting for the claude runner.
|
|
395
|
+
- `yoke new` greenfield bootstrap, `yoke prd draft`, cross-model `yoke review`,
|
|
396
|
+
`yoke flow-smoke` browser gate with proof artifacts, `yoke design-scan`.
|
|
397
|
+
- Retrofit planners for Claude Code, Codex CLI, Gemini CLI; canon of 26 skills;
|
|
398
|
+
loop with worktree isolation, watchdog, single-flight lock, commit integrity.
|