create-harness-vibe-coding 0.8.16 → 0.8.18

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 (70) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README-CN.md +100 -127
  3. package/README.md +63 -42
  4. package/package.json +1 -1
  5. package/src/generator.js +628 -121
  6. package/src/index.js +174 -43
  7. package/src/prompts.js +18 -0
  8. package/templates/common/.claude/commands/wf-auto-spark.md +16 -0
  9. package/templates/common/.claude/commands/wf-auto.md +16 -0
  10. package/templates/{optional/skills/browser-e2e/.opencode → common/.claude}/commands/wf-browser.md +1 -1
  11. package/templates/common/.claude/commands/wf-command-create.md +58 -0
  12. package/templates/common/.claude/commands/wf-help.md +13 -6
  13. package/templates/common/.claude/commands/wf-learn.md +16 -0
  14. package/templates/common/.claude/commands/wf-max.md +20 -0
  15. package/templates/common/.claude/commands/wf-readme.md +16 -0
  16. package/templates/common/.claude/commands/wf-remove.md +16 -0
  17. package/templates/common/.claude/commands/wf-review.md +16 -0
  18. package/templates/common/.claude/commands/wf-task-archive.md +26 -0
  19. package/templates/common/.claude/commands/wf-task-list.md +24 -0
  20. package/templates/common/.claude/commands/wf-task-record.md +24 -0
  21. package/templates/common/.claude/commands/wf.md +16 -0
  22. package/templates/common/.claude/rules/ecc/common.md +1 -1
  23. package/templates/common/.claude/skills/wf-agents-docs/SKILL.md +15 -30
  24. package/templates/common/.claude/skills/wf-browser/SKILL.md +176 -0
  25. package/templates/common/.claude/skills/wf-command-create/SKILL.md +37 -0
  26. package/templates/common/.claude/skills/wf-help/SKILL.md +30 -0
  27. package/templates/common/.claude/skills/wf-max/SKILL.md +22 -8
  28. package/templates/common/.claude/skills/wf-review/SKILL.md +29 -2
  29. package/templates/common/.claude/skills/wf-task-archive/SKILL.md +28 -0
  30. package/templates/common/.claude/skills/wf-task-list/SKILL.md +28 -0
  31. package/templates/common/.claude/skills/wf-task-record/SKILL.md +28 -0
  32. package/templates/common/.codex/config.toml +3 -5
  33. package/templates/common/.harness-version +108 -41
  34. package/templates/common/.opencode/agents/architect-manager.md +7 -1
  35. package/templates/common/.opencode/agents/explore-manager.md +10 -1
  36. package/templates/common/.opencode/agents/implement-manager.md +5 -3
  37. package/templates/common/.opencode/agents/review-manager.md +5 -2
  38. package/templates/common/.opencode/commands/wf-browser.md +16 -0
  39. package/templates/common/.opencode/commands/wf-command-create.md +61 -0
  40. package/templates/common/.opencode/commands/wf-help.md +13 -6
  41. package/templates/common/.opencode/commands/wf-max.md +12 -7
  42. package/templates/common/.opencode/commands/wf-task-archive.md +29 -0
  43. package/templates/common/.opencode/commands/wf-task-list.md +27 -0
  44. package/templates/common/.opencode/commands/wf-task-record.md +27 -0
  45. package/templates/common/CLAUDE.md +9 -7
  46. package/templates/common/Harness/MEMORY.md +12 -3
  47. package/templates/common/Harness/README.md +23 -41
  48. package/templates/common/Harness/ownership.manifest.json +162 -14
  49. package/templates/common/Harness/scripts/archive-tasks.mjs +12 -220
  50. package/templates/common/Harness/scripts/scan-clean.mjs +3 -9
  51. package/templates/common/Harness/scripts/task-state.mjs +1279 -0
  52. package/templates/common/Harness/scripts/validate-harness.mjs +635 -65
  53. package/templates/common/Harness/scripts/wf-remove.mjs +37 -5
  54. package/templates/common/Harness/scripts/wf-update-check.mjs +3 -0
  55. package/templates/common/Harness/specs/guides/SETUP.md +10 -2
  56. package/templates/common/Harness/specs/protocols/MEMORY_PROTOCOL.md +15 -0
  57. package/templates/common/Harness/specs/protocols/TASK_ARCHIVE.md +49 -23
  58. package/templates/common/Harness/specs/runtime/command-surface.json +215 -0
  59. package/templates/common/Harness/specs/runtime/dispatch.md +2 -2
  60. package/templates/common/Harness/specs/runtime/subagents.md +15 -5
  61. package/templates/common/Harness/specs/workflows/WF-AUTO.md +6 -6
  62. package/templates/common/Harness/specs/workflows/WF-KERNEL.md +1 -1
  63. package/templates/common/Harness/specs/workflows/WF-MAX.md +35 -2
  64. package/templates/common/Harness/specs/workflows/WF-STATE.md +155 -36
  65. package/templates/common/Harness/tasks/_template/STATE.json +6 -0
  66. package/templates/common/opencode.json +1 -0
  67. package/templates/optional/catalog.json +2 -9
  68. package/templates/optional/skills/browser-e2e/.claude/skills/browser-e2e/SKILL.md +0 -42
  69. package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +0 -201
  70. package/templates/optional/skills/browser-e2e/Harness/workflows/browser-e2e.md +0 -119
@@ -1,16 +1,19 @@
1
1
  {
2
- "generator": "0.8.16",
3
- "generated": "2026-07-23T11:33:41.125Z",
2
+ "generator": "0.8.18",
3
+ "generated": "2026-07-29T06:33:44.000Z",
4
4
  "options": [],
5
5
  "autoCheck": true,
6
6
  "source": "https://raw.githubusercontent.com/LiWeny16/create-harness-vibe-coding/main/templates/common/",
7
7
  "releaseNotes": {
8
- "version": "0.8.16",
9
- "date": "2026-07-23",
8
+ "version": "0.8.18",
9
+ "date": "2026-07-29",
10
10
  "highlights": [
11
- "Fix `scan-clean` default source selection so it honors the installed `Harness/.harness-version.source` before falling back to npm/GitHub, preventing false dead-file reports before npm publish catches up.",
12
- "Register `/wf-update` in `Harness/MEMORY.md` as a direct command and add validator coverage for the route.",
13
- "Clean `wf-remove.mjs` human-readable output to remove replacement characters and add a validator guard against future encoding pollution."
11
+ "Add explicit task capsule management with list, archive, record/open state recovery, create-or-resume matching, task dependency metadata, and validator coverage.",
12
+ "Add `wf-command-create` as the atomic command/skill creation workflow so new Harness commands update command files, skills, templates, mirrors, validators, and tests together.",
13
+ "Add global install metadata for Claude, Codex, and OpenCode while keeping Harness tasks and progress project-local.",
14
+ "Separate project/global memory and settings policy, with project settings taking precedence and task capsules remaining project-scoped.",
15
+ "Harden host-global ownership and validation rules so framework-owned global command/skill files can update safely while user-authored files remain protected.",
16
+ "Strengthen `wf-review`, `wf-agents-docs`, and WF-MAX guidance around explicit WF triggers, bounded peer output, and task capsule recording."
14
17
  ]
15
18
  },
16
19
  "moves": [
@@ -156,14 +159,20 @@
156
159
  "checksums": {
157
160
  ".agents/skills/subagent-orchestrator/SKILL.md": "sha256-6354018aaafd3d9f546eeecc90f943ef9a94d05747673369586a4a2f45a9464d",
158
161
  ".agents/skills/tdd/SKILL.md": "sha256-d6738eca127e0632474db67c25708c9db3feab3b55499c489518502ec8951e3a",
159
- ".agents/skills/wf-agents-docs/SKILL.md": "sha256-e0fe333aebae12a3e2cc6355e69237186a410f5d7a650ff5948ec132d9c630c4",
162
+ ".agents/skills/wf-agents-docs/SKILL.md": "sha256-20cd0d52d600ba9a61cbeb7fefea3beed213f77a87f23a1b534e6229949d5b01",
160
163
  ".agents/skills/wf-auto-spark/SKILL.md": "sha256-0afd699c52a45a4071bcecf09ee487adb6002be6c608fdf653fba1c0a00e4ec4",
161
164
  ".agents/skills/wf-auto/SKILL.md": "sha256-e62077d3c54d946f549c781fdf3f765c9a0ced41d0bedc96915b7167c3332987",
165
+ ".agents/skills/wf-browser/SKILL.md": "sha256-0914538f7ae624b66cede82593f8063716c96c0f7b36adebbcf413c9e2a1d836",
166
+ ".agents/skills/wf-command-create/SKILL.md": "sha256-b8df91106d4ea161d659d1099a2ae509b8c81e9954946c2f53629ccbc5ffe70a",
167
+ ".agents/skills/wf-help/SKILL.md": "sha256-418564cbe5e2df1e63fccdc9cd1cc12b05df9589836c6ff39ff43610eddf4e56",
162
168
  ".agents/skills/wf-learn/SKILL.md": "sha256-39e4bbe2da1261c02e37aa03ade0f9faaf6bc1f89568af1bb70f1af45d5f5bda",
163
- ".agents/skills/wf-max/SKILL.md": "sha256-c32bd4b139bafb0cab78e90d86c2b89508a8265b244f471a146bac665fc4544a",
169
+ ".agents/skills/wf-max/SKILL.md": "sha256-b3e2fe922c7d7d5effee6a2d51324ff54049e2d419dba2f74dda025ed529c561",
164
170
  ".agents/skills/wf-readme/SKILL.md": "sha256-32256ab8e87fc1c2606fd102d85b59fa0b406d88d5639c2f9ff2f02e83f7d81f",
165
171
  ".agents/skills/wf-remove/SKILL.md": "sha256-2de3d7b5cba2456a83aaa86487492a627d836526dbd2da1225cec9d7634b625c",
166
- ".agents/skills/wf-review/SKILL.md": "sha256-513ac34d7c6025f40f5457ffacf24df95ec248158660f1cd21225e00eda1800c",
172
+ ".agents/skills/wf-review/SKILL.md": "sha256-11117d7de4cd3cfd1616538233487420fff5a5d2a91754a68dc3a3134d06d29e",
173
+ ".agents/skills/wf-task-archive/SKILL.md": "sha256-f1637ee8c56b1385aed5db9c93f74889c2542a85273fdc68c6a4975a906f1cd5",
174
+ ".agents/skills/wf-task-list/SKILL.md": "sha256-04bcae617ef70e6b46c267ed726f6e8352d2f0b72aaaa8a486e3a760a8144b48",
175
+ ".agents/skills/wf-task-record/SKILL.md": "sha256-7afb4a9f04da96e45b9159f596d00c563184a27aff538385519187f2868811f8",
167
176
  ".agents/skills/wf-update/SKILL.md": "sha256-98a762d8d13b2ad36331b97c94b0b28b3103ee091814cc2c3710861895611e14",
168
177
  ".agents/skills/wf/SKILL.md": "sha256-78cc8b5be329649508b9fa6856b50c709ae74fbc31a4c7b77a69c6552723e29b",
169
178
  ".claude/agents/architect-manager.md": "sha256-21f16d8d5e9d0a88d9663dbe798421501e0de89ccad5f8f3c1ef9db5b79edaf7",
@@ -185,38 +194,57 @@
185
194
  ".claude/agents/tdd-guide.md": "sha256-5d97c223b20d8c076839c0c5812e3a188a4ff703dcbcd0d13627e335827d8768",
186
195
  ".claude/agents/test-writer.md": "sha256-a1b8b8dd6bf804391e68940265a989864d47fe78fb4c42eb3eaa37f7fbf5c67e",
187
196
  ".claude/agents/verifier.md": "sha256-30f3e49fae9464d58de50196089316d913aa545bd5c97cc84e05725ca49bdd24",
188
- ".claude/commands/wf-help.md": "sha256-3176b33c6c8de6a4b8322f21a1dca8448894b1d57c11dd94f45056f95c0a3db2",
197
+ ".claude/commands/wf-auto-spark.md": "sha256-503c88eba452f20ca04c32db734eed1c666a381bd6948c3ffe18f5c4a4255729",
198
+ ".claude/commands/wf-auto.md": "sha256-06196a633eb0464ff152e7bfffabd76c09ab32a2aef9d84b82bbb4c204503226",
199
+ ".claude/commands/wf-browser.md": "sha256-1cd46b259cb509af2d0bb1d105912889068611875c008e002598d0e7ed42cf52",
200
+ ".claude/commands/wf-command-create.md": "sha256-b6027172e5d98c44f1ac22747a9ad52b27de15271018a60b10ac5b7c3d96f4a0",
201
+ ".claude/commands/wf-help.md": "sha256-db9dc794255eb865b947c1a00020d9a1511d4f90a590cab480730e9576949aa9",
202
+ ".claude/commands/wf-learn.md": "sha256-02606f2a91e03056676aa022a060cd4a05a4d3123f8cb6f5e27bc50d90c6448a",
203
+ ".claude/commands/wf-max.md": "sha256-88cdfb4ef8a205483045302b56dec268bdf010debd9c4473b665f5720e4c5697",
204
+ ".claude/commands/wf-readme.md": "sha256-3eee1a6b3f62c22ed46440ed38ecb02999c9a3128d7660e91e7f0a94c59fa463",
205
+ ".claude/commands/wf-remove.md": "sha256-80fe1849412028c9a91120143eeb10e153e6d7c32ec502c0d7ef3599d13fa337",
206
+ ".claude/commands/wf-review.md": "sha256-bb031ffc8e392af2c1b2bb97b2f7605af1dcfa70514c6068312eca01f170e6d9",
207
+ ".claude/commands/wf-task-archive.md": "sha256-95b7c0a7bb2946b8c6c57506726358e7cc57cc2d9b1b48bd43b102a9a77ca3da",
208
+ ".claude/commands/wf-task-list.md": "sha256-daf36faca4ffa9904f4229d30c38c2cb3f986f2223cc80624f09b36e2f240266",
209
+ ".claude/commands/wf-task-record.md": "sha256-e9fa479274bdece66afa631642a87c7e2500f1dc1e58b930660cebeef4eae748",
189
210
  ".claude/commands/wf-update.md": "sha256-f6aa497209ad6c430771b5621720bca50bb06cf5ae3f40dfe1086f0372c232d7",
190
- ".claude/rules/ecc/common.md": "sha256-138c7237c7ae9448a72dd70a0cbb7c27b4471dec9372e16975d0f580b260f755",
211
+ ".claude/commands/wf.md": "sha256-bef81f0404230ff0de64727d46aa947d7434d06fde8ad03c55db9ccf54870cca",
212
+ ".claude/rules/ecc/common.md": "sha256-e31150aec333867e688d36fbf26a9508d560bc51557c7ebb5717fa3484bf47f4",
191
213
  ".claude/settings.json": "sha256-99e8552584b8e71e3e11b4b760c3bfbf8c1b18dadda7ec3f6e3c46f88d9ea513",
192
214
  ".claude/skills/subagent-orchestrator/SKILL.md": "sha256-6354018aaafd3d9f546eeecc90f943ef9a94d05747673369586a4a2f45a9464d",
193
215
  ".claude/skills/tdd/SKILL.md": "sha256-d6738eca127e0632474db67c25708c9db3feab3b55499c489518502ec8951e3a",
194
- ".claude/skills/wf-agents-docs/SKILL.md": "sha256-e0fe333aebae12a3e2cc6355e69237186a410f5d7a650ff5948ec132d9c630c4",
216
+ ".claude/skills/wf-agents-docs/SKILL.md": "sha256-20cd0d52d600ba9a61cbeb7fefea3beed213f77a87f23a1b534e6229949d5b01",
195
217
  ".claude/skills/wf-auto-spark/SKILL.md": "sha256-0afd699c52a45a4071bcecf09ee487adb6002be6c608fdf653fba1c0a00e4ec4",
196
218
  ".claude/skills/wf-auto/SKILL.md": "sha256-e62077d3c54d946f549c781fdf3f765c9a0ced41d0bedc96915b7167c3332987",
219
+ ".claude/skills/wf-browser/SKILL.md": "sha256-0914538f7ae624b66cede82593f8063716c96c0f7b36adebbcf413c9e2a1d836",
220
+ ".claude/skills/wf-command-create/SKILL.md": "sha256-b8df91106d4ea161d659d1099a2ae509b8c81e9954946c2f53629ccbc5ffe70a",
221
+ ".claude/skills/wf-help/SKILL.md": "sha256-418564cbe5e2df1e63fccdc9cd1cc12b05df9589836c6ff39ff43610eddf4e56",
197
222
  ".claude/skills/wf-learn/SKILL.md": "sha256-39e4bbe2da1261c02e37aa03ade0f9faaf6bc1f89568af1bb70f1af45d5f5bda",
198
- ".claude/skills/wf-max/SKILL.md": "sha256-c32bd4b139bafb0cab78e90d86c2b89508a8265b244f471a146bac665fc4544a",
223
+ ".claude/skills/wf-max/SKILL.md": "sha256-b3e2fe922c7d7d5effee6a2d51324ff54049e2d419dba2f74dda025ed529c561",
199
224
  ".claude/skills/wf-readme/SKILL.md": "sha256-32256ab8e87fc1c2606fd102d85b59fa0b406d88d5639c2f9ff2f02e83f7d81f",
200
225
  ".claude/skills/wf-remove/SKILL.md": "sha256-2de3d7b5cba2456a83aaa86487492a627d836526dbd2da1225cec9d7634b625c",
201
- ".claude/skills/wf-review/SKILL.md": "sha256-513ac34d7c6025f40f5457ffacf24df95ec248158660f1cd21225e00eda1800c",
226
+ ".claude/skills/wf-review/SKILL.md": "sha256-11117d7de4cd3cfd1616538233487420fff5a5d2a91754a68dc3a3134d06d29e",
227
+ ".claude/skills/wf-task-archive/SKILL.md": "sha256-f1637ee8c56b1385aed5db9c93f74889c2542a85273fdc68c6a4975a906f1cd5",
228
+ ".claude/skills/wf-task-list/SKILL.md": "sha256-04bcae617ef70e6b46c267ed726f6e8352d2f0b72aaaa8a486e3a760a8144b48",
229
+ ".claude/skills/wf-task-record/SKILL.md": "sha256-7afb4a9f04da96e45b9159f596d00c563184a27aff538385519187f2868811f8",
202
230
  ".claude/skills/wf-update/SKILL.md": "sha256-98a762d8d13b2ad36331b97c94b0b28b3103ee091814cc2c3710861895611e14",
203
231
  ".claude/skills/wf/SKILL.md": "sha256-78cc8b5be329649508b9fa6856b50c709ae74fbc31a4c7b77a69c6552723e29b",
204
- ".codex/config.toml": "sha256-e0af046982c6dbc535c52b19610d16ce9aba08a17dd29f11b74cc8dad8371145",
232
+ ".codex/config.toml": "sha256-b561d07aaba9bb32df0c48713f6a00be95462af9fa9383efb7cee89f9b24f9ba",
205
233
  ".codex/hooks.json": "sha256-3200c42c2da434c07cd6ab1ce86f8845ab46a1ed9a25b65117b2b2b42056c725",
206
- ".opencode/agents/architect-manager.md": "sha256-504c5f26f92a0d747f6862887aa935e6d3652b52deb556a5b70714a59ec7433b",
234
+ ".opencode/agents/architect-manager.md": "sha256-66851f79d5e6ce2ddd5975c03312f6867933279a236ee1c9d4277ae568e65048",
207
235
  ".opencode/agents/architect.md": "sha256-62af1e1e63c059ea76b4bdd5c3ef997dfc0b505e6597b1f606bb932f11a73c8d",
208
236
  ".opencode/agents/codebase-explorer.md": "sha256-48623b12b6a1d8d2880861a6e202cea93be8263f625ab8ec85b7ae402d3131fe",
209
237
  ".opencode/agents/context-master.md": "sha256-5dd5f000f68f5a91f7e3c30c7c09767cf5ec61c63c78fea0b922e0f83adbc36d",
210
238
  ".opencode/agents/debugger.md": "sha256-7488bb356a21aa83195475aec246efb38c515c24d46a3cec8d4d11a705b94e1b",
211
239
  ".opencode/agents/docs-researcher.md": "sha256-dbb8fdfd0e6f8ff473df7d4c50183d4c8ec36a952bbd7d87eeb3bbbd106d346e",
212
- ".opencode/agents/explore-manager.md": "sha256-9106300e6df99e586738e02234e5bb788b7b93607cc0f380631b69012ab94d63",
213
- ".opencode/agents/implement-manager.md": "sha256-95b887d3c179d4fae4d63fc9b10f229ed28f0cca9bc760c403d28cdd49138ffa",
240
+ ".opencode/agents/explore-manager.md": "sha256-ea489eca9e973c5fe44568ccff9965eb2c63b2e08c29c395290353607a77de82",
241
+ ".opencode/agents/implement-manager.md": "sha256-5f72067efc2936edddf4274fc4ff40a07222677a65fdd6bc7cd484f27562eaf3",
214
242
  ".opencode/agents/implementer.md": "sha256-57cfdd84dee2bec3156aeb612458e46198e1fcfc62f4372d95a2a4b7e4064932",
215
243
  ".opencode/agents/memory-master.md": "sha256-6656f91ee42a7d20441820f8fc92196b7f53df56172521fd04079cf9a1b2d196",
216
244
  ".opencode/agents/planner.md": "sha256-91dca932af07670d5d96056cd69415955d5c28ef6bbbeeebd9562477e5e1a153",
217
245
  ".opencode/agents/reflector.md": "sha256-4dc51c64c8fbaf462265b9438f614e793165d39cf92b9d0838a4860a3b6d70a1",
218
246
  ".opencode/agents/researcher.md": "sha256-1a2bca8a7d115585dba300edc49beda9e3be297d9c6ff8351a6532f3a2685d13",
219
- ".opencode/agents/review-manager.md": "sha256-b0d45b0b673075fa550968be721f2b95da18cc24e095498e8ba041cddfa76305",
247
+ ".opencode/agents/review-manager.md": "sha256-70b213b213078b418fa981727b3881a80d207d86e36744965a46dc65fd37e1e3",
220
248
  ".opencode/agents/reviewer.md": "sha256-688a412ce9e63dcbfeaefb30a55c91ea53c78b38f86ba85ce4d9a19d02d917eb",
221
249
  ".opencode/agents/task-scribe.md": "sha256-d0dc8a6df15bd0ba89363ba1ee110aabd914d0e3c6d7fbfc3acf98d6f25f00e4",
222
250
  ".opencode/agents/tdd-guide.md": "sha256-bd6154b0c1be7de0e386565b46fab9028def46136fc72a9fba673f0ddde3baaa",
@@ -224,52 +252,59 @@
224
252
  ".opencode/agents/verifier.md": "sha256-1e5b12cfe62bf85470b90671cca0407d6469f02cc1cced6a57d05550fa21e8fe",
225
253
  ".opencode/commands/wf-auto-spark.md": "sha256-503c88eba452f20ca04c32db734eed1c666a381bd6948c3ffe18f5c4a4255729",
226
254
  ".opencode/commands/wf-auto.md": "sha256-06196a633eb0464ff152e7bfffabd76c09ab32a2aef9d84b82bbb4c204503226",
227
- ".opencode/commands/wf-help.md": "sha256-aece97e06d75cf5b811935d5e9d11b3a0c2f4e06746d9751d14b291d6c3774d2",
255
+ ".opencode/commands/wf-browser.md": "sha256-1cd46b259cb509af2d0bb1d105912889068611875c008e002598d0e7ed42cf52",
256
+ ".opencode/commands/wf-command-create.md": "sha256-29b597b7c2c3b8a7e131365e1704855bbd2774511ed30cf99e398f77123e2981",
257
+ ".opencode/commands/wf-help.md": "sha256-d1ff937d1d10a76270a23785e280bcd6f9d6dde05fa6d592da6094a8a819740b",
228
258
  ".opencode/commands/wf-learn.md": "sha256-02606f2a91e03056676aa022a060cd4a05a4d3123f8cb6f5e27bc50d90c6448a",
229
- ".opencode/commands/wf-max.md": "sha256-976ea9e0f4f16849cd21e242062ecaa1222a6229b9ed8605a252386d20b58f8b",
259
+ ".opencode/commands/wf-max.md": "sha256-21ddf8d4eff7ce91948a41eb68cbc9d184349ca3a422c72950fc83a5039eb663",
230
260
  ".opencode/commands/wf-readme.md": "sha256-3eee1a6b3f62c22ed46440ed38ecb02999c9a3128d7660e91e7f0a94c59fa463",
231
261
  ".opencode/commands/wf-remove.md": "sha256-80fe1849412028c9a91120143eeb10e153e6d7c32ec502c0d7ef3599d13fa337",
232
262
  ".opencode/commands/wf-review.md": "sha256-bb031ffc8e392af2c1b2bb97b2f7605af1dcfa70514c6068312eca01f170e6d9",
263
+ ".opencode/commands/wf-task-archive.md": "sha256-eed9b41bd4fc9c4ca6d0b4aa2cc0492e7695173b6b5487a7a07683dec66de162",
264
+ ".opencode/commands/wf-task-list.md": "sha256-66ba8af605aa83408b5a5c8621af52da98c5a9ed6bbad5be53290903a0a329fc",
265
+ ".opencode/commands/wf-task-record.md": "sha256-c71c49e54f568eff816f5eea505d34a139e91f4f18aed504391ab6fa6afd539e",
233
266
  ".opencode/commands/wf-update.md": "sha256-f6aa497209ad6c430771b5621720bca50bb06cf5ae3f40dfe1086f0372c232d7",
234
267
  ".opencode/commands/wf.md": "sha256-bef81f0404230ff0de64727d46aa947d7434d06fde8ad03c55db9ccf54870cca",
235
268
  ".opencode/plugins/harness-wf-status.mjs": "sha256-ee0987cec5530c34784c619a803562d7085ae26fe5d199fde7ce42c2bed4724e",
236
269
  "AGENTS.md": "sha256-fad176931742a5080e073d1ddba99a3eabb67e8c42bebb132df99a51ca6a184d",
237
- "CLAUDE.md": "sha256-a9aa5bb63dfc19ad22a7d6bdc0c81d06a15bba15f8d44b6f97a98b3267702266",
238
- "Harness/MEMORY.md": "sha256-70c90ded7c9bf7ed6432b639121271aa3cd109fa6177a263e28d93a082192856",
239
- "Harness/README.md": "sha256-06507439c0170531a25ba9a191cbfff84498f3b59bf4e343ef0c7c3cd2b81575",
240
- "Harness/ownership.manifest.json": "sha256-8b7cb309bb370df2a44428ed79c9b274a6a98611c8ef27cb3d0010749c564f1c",
270
+ "CLAUDE.md": "sha256-7c1cd41ebbd6a87b2b59606aff70b7aab0bdce737bca013e8f55efd63292bfae",
271
+ "Harness/MEMORY.md": "sha256-896a7b09e96aa0f3041c577eab70160381856cf63a26a7daf74a0eb48dc3e898",
272
+ "Harness/README.md": "sha256-9bfe3caa4b28db129da66aba36d32bddc450b8399e5e14b03f66d3f1a8bcea47",
273
+ "Harness/ownership.manifest.json": "sha256-3948ecdaa8f9f05f46a6df4e5b7df1949b6ab268c850b9677bbc0ed77e579630",
241
274
  "Harness/project/architecture.md": "sha256-27462306667539d71aecc4a90a778222f61585ef99e8131fb38f866913cac1c4",
242
275
  "Harness/research/README.md": "sha256-b7a542c0d919cabc185b6e7a1e6ef265dc5160978d0c1dd804f2c6547d0202a4",
243
- "Harness/scripts/archive-tasks.mjs": "sha256-07bba20c2f4b3baae737b8b9a951125a48e37dd482a1f1ca122b9cf88e90e956",
276
+ "Harness/scripts/archive-tasks.mjs": "sha256-c5891c32d23f0b1bc863753d11116ab593928aa9ebedf2768b68b77e88c9909c",
244
277
  "Harness/scripts/context-budget.mjs": "sha256-079228fa11046c5e4ca7323ac09091b05a78efae03ce655fee0c608c6833c33f",
245
278
  "Harness/scripts/l2-cache-telemetry.mjs": "sha256-139b5317eb3917f2ca0acd3cb1164170cc8c1dd60e0dee35f8d1596aed28c22c",
246
- "Harness/scripts/scan-clean.mjs": "sha256-f93518802d94fec14fa0047eeb9525b1b18d7e07c7f99b126b02357c62adcfcb",
247
- "Harness/scripts/validate-harness.mjs": "sha256-4c6953f1cda8d03cee3f833a7d062a3bd4b30f0cc349c4206e7ae0f122a5877c",
279
+ "Harness/scripts/scan-clean.mjs": "sha256-6c4b2a4d15a8cd758214a360f8d3be11a835368d409c95719242c75ccf466c8a",
280
+ "Harness/scripts/task-state.mjs": "sha256-826fbdb6221011dd8b5b068dcb481ad133d4f05fc886e407a373e808e3c04b31",
281
+ "Harness/scripts/validate-harness.mjs": "sha256-9fdc0299a5af5f57a74a3f98eec25c102b3d9a855ecfa42fbcb62d6752f4024e",
248
282
  "Harness/scripts/wf-auto-update-prompt.mjs": "sha256-14210304dbd8e648b8939fc4c5d3664f943052153e689264c16b05b7b81bd39e",
249
- "Harness/scripts/wf-remove.mjs": "sha256-a5375d7d5fcea51f01545f9b61f0e80f9bbe89258367fe1788e967f45e67afe9",
250
- "Harness/scripts/wf-update-check.mjs": "sha256-3c8452b191446b8ed3d32bb73481ed21ed616186531d25bc689d70d9784b426f",
283
+ "Harness/scripts/wf-remove.mjs": "sha256-1adc68b20f4f44cc44a6b52de2f3fc06a58edede6a73fff1f7bcd631a165a3fd",
284
+ "Harness/scripts/wf-update-check.mjs": "sha256-32e9ed19046ac9b4910a661dae8fc13c03a605912430009cc8f830c1fdab3984",
251
285
  "Harness/settings.json": "sha256-db6a14fcaaba3d2ac9c0c11bd11273bd016bcc16c154895d4c0b2a03ef51786e",
252
286
  "Harness/specs/guides/ECC-GUIDE.md": "sha256-eba123cad02dde928317b9347efac45daf33698221d2d91768559a1f0456cc97",
253
- "Harness/specs/guides/SETUP.md": "sha256-4c6fd343f4c0b4912197f7989f90b3e3c03c436f54cd56e50cf3e1206edb0679",
287
+ "Harness/specs/guides/SETUP.md": "sha256-2f33b14eec035c9603ad6355cecc109879e9320a7a29aa9e9be6bbc743362b38",
254
288
  "Harness/specs/guides/extension.md": "sha256-5bf5895f849b972e5bdd1afd1a6914cd743b88b05668bb72dca7cd835262e8c9",
255
289
  "Harness/specs/guides/lifecycle.md": "sha256-3bb2107af2ee569c905ca615d662ba9adfd606a595e45880cfc292779c5f1844",
256
290
  "Harness/specs/protocols/ACCEPTANCE_PROTOCOL.md": "sha256-0f7a21a1fbfdca6e5f28f3297b61c3446e3bdd552a2143c7032d6271a4e26103",
257
291
  "Harness/specs/protocols/AGENT_ISOLATION.md": "sha256-54abcd4fdaf8810ab42da8a7f2ab5b5f5305f105f93e8764081b10edce053506",
258
292
  "Harness/specs/protocols/DEBUG_PROTOCOL.md": "sha256-ed80de0e3e1a40dbb9fd0bdead9174f1650e1833027f3d7fb4bb5884142e03f7",
259
293
  "Harness/specs/protocols/HARNESS_BRIDGE.md": "sha256-681dbeca9a590bbeb3a0c01b044e40e642e6d640632d8611064eb897ada8a48d",
260
- "Harness/specs/protocols/MEMORY_PROTOCOL.md": "sha256-c8cda68bf25fbf7152c6049959a8bd6d39453976a651a1c4a9d3f7e349f823c4",
261
- "Harness/specs/protocols/TASK_ARCHIVE.md": "sha256-d815f2c99a7dc98b9956bb876e9ee07dfb66a283c758124d7b4eb8965dea1f6a",
294
+ "Harness/specs/protocols/MEMORY_PROTOCOL.md": "sha256-5542c5007f278e0d83627d831beff4eaa58e2bc256f7962f562050de124e24d9",
295
+ "Harness/specs/protocols/TASK_ARCHIVE.md": "sha256-f526745f6dda7bb04b3540ca58c921b27aeca845b0cf65b9a0f7cdb0c1ed0f20",
262
296
  "Harness/specs/protocols/TDD-GUIDE.md": "sha256-602084530fd0dea7499a023ce75738351e5d97a0c222b64d405f36da6b59a162",
263
297
  "Harness/specs/runtime/agent-workflow.md": "sha256-9e6390715a9c2e404923d17e12369fe5af22c9a615ab14a010a8d6da0974c987",
298
+ "Harness/specs/runtime/command-surface.json": "sha256-9c74976ff14315f13bb6e02e19d200d295a287d236071e8b03570229d3719732",
264
299
  "Harness/specs/runtime/context-loading.md": "sha256-323e9476486ebf60cfd9fd78834701817f882648749cd548dd7a47670fce0bd6",
265
- "Harness/specs/runtime/dispatch.md": "sha256-b9a1ec29045b26f2e12dc981770ed665f5af4c9234a54a0bce2b69add83fa28f",
266
- "Harness/specs/runtime/subagents.md": "sha256-71b7e159f57ba82d001cfc2fcd5bdfc5a3774e85aface2db8018e89778b5d6a1",
300
+ "Harness/specs/runtime/dispatch.md": "sha256-1b1c2681c2722b8d708f8cca48ec1991ee922602c4c7333704f0156f6ffa498f",
301
+ "Harness/specs/runtime/subagents.md": "sha256-bb71ae927dd5f4656f97a78797b1d776618a39b26a7364a256cbcf38db427e71",
267
302
  "Harness/specs/workflows/WF-AUTO-ANGLES.md": "sha256-b9641d871f728e8112ad0d8c7f87bcbec0a06aa572c5f3060efdd26496abdf9b",
268
303
  "Harness/specs/workflows/WF-AUTO-SPARK.md": "sha256-dfe7e31373ccc9dea2d552649ec21dff91bca723316655788e82ab37cf0d33e5",
269
- "Harness/specs/workflows/WF-AUTO.md": "sha256-10ffe555b65ae1f845dc2f7629663b071746e6df4898f5523701f19e57652815",
270
- "Harness/specs/workflows/WF-KERNEL.md": "sha256-8bbe4a19617455a4048dd433d8fcc65a5e53faf013c7ad82a0ae58747fd97f50",
271
- "Harness/specs/workflows/WF-MAX.md": "sha256-348f372544359f7cba23a59a51d3436292057f012b51ecc089c164acbc899a6a",
272
- "Harness/specs/workflows/WF-STATE.md": "sha256-3160363ee9b677a092ef3fd0492a211528bca12f096125b3d1903d8d233db0e6",
304
+ "Harness/specs/workflows/WF-AUTO.md": "sha256-742e949bf77259997d662447f5b7c5627d8459f0b7aed96748cdb2de9c3bcfa9",
305
+ "Harness/specs/workflows/WF-KERNEL.md": "sha256-70d608b12ab977c5dfb7038fb7677123bd39f29fb645b3046abbde7fa28d69a7",
306
+ "Harness/specs/workflows/WF-MAX.md": "sha256-4584a0870138db80d507dcfcebb32f34dfb6c9a4a3b154faad15f621b66536e7",
307
+ "Harness/specs/workflows/WF-STATE.md": "sha256-7108775358b44229302d3271083b349648d44b1c61de89167e4e99346821bf2a",
273
308
  "Harness/specs/workflows/WF.md": "sha256-d33e9ff55e67a34a862a896693cb55aeae8f73dd7d0ede561943674dd3e6d212",
274
309
  "Harness/templates/ACCEPTANCE.template.md": "sha256-394a6c08b155b1d121f1d51da774f7988bdb891224c6d5f2ca2c131e8c95ffb3",
275
310
  "Harness/templates/API_CONTRACT.template.md": "sha256-e11ec9866576624982f35e77359e3f4ef3aea3e3f6b5895f6cc5419d29699fc5",
@@ -278,7 +313,7 @@
278
313
  "Harness/templates/TEST_PLAN.template.md": "sha256-f7e9a701b0922a405bcde7c168791fe6406530ce7e644a3a736cc3fa1e74c928",
279
314
  "Harness/templates/UI_CONTRACT.template.md": "sha256-87c9bc47452c53caca9333130aef567cf9b16ffc5e82a8f6592bbd4f715875ef",
280
315
  "Harness/templates/VALIDATION_REPORT.template.md": "sha256-feb1f7b9bba18f1ce028954b48775730f7dd8b7c2afd0ef44cda54bfe13c1875",
281
- "opencode.json": "sha256-a523dd084e67891ff6ca31916b20968e74234504b4e703945d3a4d8a835c6fbd"
316
+ "opencode.json": "sha256-2367af42752933a4102ccecbb49e14f5d1c4bc934d15e0785d3026efbc68e4d0"
282
317
  },
283
318
  "sources": {
284
319
  ".agents/skills/subagent-orchestrator/SKILL.md": ".claude/skills/subagent-orchestrator/SKILL.md",
@@ -286,11 +321,17 @@
286
321
  ".agents/skills/wf-agents-docs/SKILL.md": ".claude/skills/wf-agents-docs/SKILL.md",
287
322
  ".agents/skills/wf-auto-spark/SKILL.md": ".claude/skills/wf-auto-spark/SKILL.md",
288
323
  ".agents/skills/wf-auto/SKILL.md": ".claude/skills/wf-auto/SKILL.md",
324
+ ".agents/skills/wf-browser/SKILL.md": ".claude/skills/wf-browser/SKILL.md",
325
+ ".agents/skills/wf-command-create/SKILL.md": ".claude/skills/wf-command-create/SKILL.md",
326
+ ".agents/skills/wf-help/SKILL.md": ".claude/skills/wf-help/SKILL.md",
289
327
  ".agents/skills/wf-learn/SKILL.md": ".claude/skills/wf-learn/SKILL.md",
290
328
  ".agents/skills/wf-max/SKILL.md": ".claude/skills/wf-max/SKILL.md",
291
329
  ".agents/skills/wf-readme/SKILL.md": ".claude/skills/wf-readme/SKILL.md",
292
330
  ".agents/skills/wf-remove/SKILL.md": ".claude/skills/wf-remove/SKILL.md",
293
331
  ".agents/skills/wf-review/SKILL.md": ".claude/skills/wf-review/SKILL.md",
332
+ ".agents/skills/wf-task-archive/SKILL.md": ".claude/skills/wf-task-archive/SKILL.md",
333
+ ".agents/skills/wf-task-list/SKILL.md": ".claude/skills/wf-task-list/SKILL.md",
334
+ ".agents/skills/wf-task-record/SKILL.md": ".claude/skills/wf-task-record/SKILL.md",
294
335
  ".agents/skills/wf-update/SKILL.md": ".claude/skills/wf-update/SKILL.md",
295
336
  ".agents/skills/wf/SKILL.md": ".claude/skills/wf/SKILL.md",
296
337
  ".claude/agents/architect-manager.md": ".claude/agents/architect-manager.md",
@@ -312,8 +353,21 @@
312
353
  ".claude/agents/tdd-guide.md": ".claude/agents/tdd-guide.md",
313
354
  ".claude/agents/test-writer.md": ".claude/agents/test-writer.md",
314
355
  ".claude/agents/verifier.md": ".claude/agents/verifier.md",
356
+ ".claude/commands/wf-auto-spark.md": ".claude/commands/wf-auto-spark.md",
357
+ ".claude/commands/wf-auto.md": ".claude/commands/wf-auto.md",
358
+ ".claude/commands/wf-browser.md": ".claude/commands/wf-browser.md",
359
+ ".claude/commands/wf-command-create.md": ".claude/commands/wf-command-create.md",
315
360
  ".claude/commands/wf-help.md": ".claude/commands/wf-help.md",
361
+ ".claude/commands/wf-learn.md": ".claude/commands/wf-learn.md",
362
+ ".claude/commands/wf-max.md": ".claude/commands/wf-max.md",
363
+ ".claude/commands/wf-readme.md": ".claude/commands/wf-readme.md",
364
+ ".claude/commands/wf-remove.md": ".claude/commands/wf-remove.md",
365
+ ".claude/commands/wf-review.md": ".claude/commands/wf-review.md",
366
+ ".claude/commands/wf-task-archive.md": ".claude/commands/wf-task-archive.md",
367
+ ".claude/commands/wf-task-list.md": ".claude/commands/wf-task-list.md",
368
+ ".claude/commands/wf-task-record.md": ".claude/commands/wf-task-record.md",
316
369
  ".claude/commands/wf-update.md": ".claude/commands/wf-update.md",
370
+ ".claude/commands/wf.md": ".claude/commands/wf.md",
317
371
  ".claude/rules/ecc/common.md": ".claude/rules/ecc/common.md",
318
372
  ".claude/settings.json": ".claude/settings.json",
319
373
  ".claude/skills/subagent-orchestrator/SKILL.md": ".claude/skills/subagent-orchestrator/SKILL.md",
@@ -321,11 +375,17 @@
321
375
  ".claude/skills/wf-agents-docs/SKILL.md": ".claude/skills/wf-agents-docs/SKILL.md",
322
376
  ".claude/skills/wf-auto-spark/SKILL.md": ".claude/skills/wf-auto-spark/SKILL.md",
323
377
  ".claude/skills/wf-auto/SKILL.md": ".claude/skills/wf-auto/SKILL.md",
378
+ ".claude/skills/wf-browser/SKILL.md": ".claude/skills/wf-browser/SKILL.md",
379
+ ".claude/skills/wf-command-create/SKILL.md": ".claude/skills/wf-command-create/SKILL.md",
380
+ ".claude/skills/wf-help/SKILL.md": ".claude/skills/wf-help/SKILL.md",
324
381
  ".claude/skills/wf-learn/SKILL.md": ".claude/skills/wf-learn/SKILL.md",
325
382
  ".claude/skills/wf-max/SKILL.md": ".claude/skills/wf-max/SKILL.md",
326
383
  ".claude/skills/wf-readme/SKILL.md": ".claude/skills/wf-readme/SKILL.md",
327
384
  ".claude/skills/wf-remove/SKILL.md": ".claude/skills/wf-remove/SKILL.md",
328
385
  ".claude/skills/wf-review/SKILL.md": ".claude/skills/wf-review/SKILL.md",
386
+ ".claude/skills/wf-task-archive/SKILL.md": ".claude/skills/wf-task-archive/SKILL.md",
387
+ ".claude/skills/wf-task-list/SKILL.md": ".claude/skills/wf-task-list/SKILL.md",
388
+ ".claude/skills/wf-task-record/SKILL.md": ".claude/skills/wf-task-record/SKILL.md",
329
389
  ".claude/skills/wf-update/SKILL.md": ".claude/skills/wf-update/SKILL.md",
330
390
  ".claude/skills/wf/SKILL.md": ".claude/skills/wf/SKILL.md",
331
391
  ".codex/config.toml": ".codex/config.toml",
@@ -352,12 +412,17 @@
352
412
  ".opencode/agents/verifier.md": ".opencode/agents/verifier.md",
353
413
  ".opencode/commands/wf-auto-spark.md": ".opencode/commands/wf-auto-spark.md",
354
414
  ".opencode/commands/wf-auto.md": ".opencode/commands/wf-auto.md",
415
+ ".opencode/commands/wf-browser.md": ".opencode/commands/wf-browser.md",
416
+ ".opencode/commands/wf-command-create.md": ".opencode/commands/wf-command-create.md",
355
417
  ".opencode/commands/wf-help.md": ".opencode/commands/wf-help.md",
356
418
  ".opencode/commands/wf-learn.md": ".opencode/commands/wf-learn.md",
357
419
  ".opencode/commands/wf-max.md": ".opencode/commands/wf-max.md",
358
420
  ".opencode/commands/wf-readme.md": ".opencode/commands/wf-readme.md",
359
421
  ".opencode/commands/wf-remove.md": ".opencode/commands/wf-remove.md",
360
422
  ".opencode/commands/wf-review.md": ".opencode/commands/wf-review.md",
423
+ ".opencode/commands/wf-task-archive.md": ".opencode/commands/wf-task-archive.md",
424
+ ".opencode/commands/wf-task-list.md": ".opencode/commands/wf-task-list.md",
425
+ ".opencode/commands/wf-task-record.md": ".opencode/commands/wf-task-record.md",
361
426
  ".opencode/commands/wf-update.md": ".opencode/commands/wf-update.md",
362
427
  ".opencode/commands/wf.md": ".opencode/commands/wf.md",
363
428
  ".opencode/plugins/harness-wf-status.mjs": ".opencode/plugins/harness-wf-status.mjs",
@@ -381,6 +446,7 @@
381
446
  "Harness/scripts/context-budget.mjs": "Harness/scripts/context-budget.mjs",
382
447
  "Harness/scripts/l2-cache-telemetry.mjs": "Harness/scripts/l2-cache-telemetry.mjs",
383
448
  "Harness/scripts/scan-clean.mjs": "Harness/scripts/scan-clean.mjs",
449
+ "Harness/scripts/task-state.mjs": "Harness/scripts/task-state.mjs",
384
450
  "Harness/scripts/validate-harness.mjs": "Harness/scripts/validate-harness.mjs",
385
451
  "Harness/scripts/wf-auto-update-prompt.mjs": "Harness/scripts/wf-auto-update-prompt.mjs",
386
452
  "Harness/scripts/wf-remove.mjs": "Harness/scripts/wf-remove.mjs",
@@ -398,6 +464,7 @@
398
464
  "Harness/specs/protocols/TASK_ARCHIVE.md": "Harness/specs/protocols/TASK_ARCHIVE.md",
399
465
  "Harness/specs/protocols/TDD-GUIDE.md": "Harness/specs/protocols/TDD-GUIDE.md",
400
466
  "Harness/specs/runtime/agent-workflow.md": "Harness/specs/runtime/agent-workflow.md",
467
+ "Harness/specs/runtime/command-surface.json": "Harness/specs/runtime/command-surface.json",
401
468
  "Harness/specs/runtime/context-loading.md": "Harness/specs/runtime/context-loading.md",
402
469
  "Harness/specs/runtime/dispatch.md": "Harness/specs/runtime/dispatch.md",
403
470
  "Harness/specs/runtime/subagents.md": "Harness/specs/runtime/subagents.md",
@@ -3,10 +3,16 @@ harness: wf-agent
3
3
  description: WF-MAX Manager for W1 architecture wave. Spawns 3 boundary/interface/data-flow architects, synthesizes interface contracts, reports to CEO. Read-only + Agent spawn; no Edit/Write.
4
4
  mode: subagent
5
5
  permission:
6
+ task:
7
+ "*": deny
8
+ "architect": allow
9
+ "codebase-explorer": allow
6
10
  edit: deny
7
11
  bash:
8
12
  "*": deny
9
- "git *": allow
13
+ "git status*": allow
14
+ "git diff*": allow
15
+ "git log*": allow
10
16
  "ls *": allow
11
17
  "dir *": allow
12
18
  websearch: deny
@@ -3,10 +3,19 @@ harness: wf-agent
3
3
  description: WF-MAX Manager for W0 exploration wave. Spawns 5-10 read-only researchers/explorers, synthesizes findings, reports to CEO. Read-only + Agent spawn; no Edit/Write.
4
4
  mode: subagent
5
5
  permission:
6
+ task:
7
+ "*": deny
8
+ "codebase-explorer": allow
9
+ "researcher": allow
10
+ "docs-researcher": allow
11
+ "explore": allow
12
+ "scout": allow
6
13
  edit: deny
7
14
  bash:
8
15
  "*": deny
9
- "git *": allow
16
+ "git status*": allow
17
+ "git diff*": allow
18
+ "git log*": allow
10
19
  "ls *": allow
11
20
  "dir *": allow
12
21
  "tree *": allow
@@ -3,12 +3,14 @@ harness: wf-agent
3
3
  description: WF-MAX Manager for W2 implementation wave. Spawns 5-7 implementers (one file_claim each), merges results, reports to CEO. Agent spawn + synthesis only; does NOT write code directly.
4
4
  mode: subagent
5
5
  permission:
6
+ task:
7
+ "*": deny
8
+ "implementer": allow
6
9
  edit: deny
7
10
  bash:
8
11
  "*": deny
9
- "git *": allow
10
- "node *": allow
11
- "npm *": allow
12
+ "git status*": allow
13
+ "git diff*": allow
12
14
  websearch: deny
13
15
  webfetch: deny
14
16
  ---
@@ -3,12 +3,15 @@ harness: wf-agent
3
3
  description: WF-MAX Manager for W2R review wave. Spawns 3-4 parallel reviewers (spec/code/security/perf), deduplicates findings, assigns severity, reports to CEO. Read-only + Agent spawn; no Edit/Write.
4
4
  mode: subagent
5
5
  permission:
6
+ task:
7
+ "*": deny
8
+ "reviewer": allow
6
9
  edit: deny
7
10
  bash:
8
11
  "*": deny
9
- "git *": allow
12
+ "git status*": allow
10
13
  "git diff *": allow
11
- "node *": allow
14
+ "git diff*": allow
12
15
  websearch: deny
13
16
  webfetch: deny
14
17
  ---
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: Run AI-driven browser automation and E2E testing via the wf-browser skill
3
+ ---
4
+
5
+ # /wf-browser
6
+
7
+ This is a **workflow command**, not a direct command. Do not execute it as a
8
+ static help or script command.
9
+
10
+ 1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
+ 2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
12
+ 3. Execute per the skill adapter `.claude/skills/wf-browser/SKILL.md` (mirror: `.agents/skills/wf-browser/SKILL.md`).
13
+ 4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/protocols/HARNESS_BRIDGE.md` are authoritative.
14
+
15
+ If this runtime cannot invoke the skill directly, read
16
+ `.claude/skills/wf-browser/SKILL.md` and follow it in place.
@@ -0,0 +1,61 @@
1
+ ---
2
+ description: Create or modify a Harness wf-* command surface atomically
3
+ ---
4
+ # /wf-command-create
5
+
6
+ Create or modify a Harness wf-* command surface atomically. Do not invoke a skill or start WF mode.
7
+
8
+ ## Classification
9
+
10
+ DIRECT command. It is a Harness maintenance command: it must create or resume a task capsule, then update every command surface declared by `Harness/specs/runtime/command-surface.json`. Never loads `Harness/MEMORY.md` as part of command routing.
11
+
12
+ ## Usage
13
+
14
+ /wf-command-create <wf-command-id> [--direct|--workflow] [--task <task-id>]
15
+
16
+ - Command id must be `wf` or `wf-*` kebab-case.
17
+ - Use an existing task capsule when `--task` is supplied or when the active task clearly matches.
18
+ - Otherwise create a `task-<verb>-<noun>[-detail]` capsule with `node Harness/scripts/task-state.mjs record <task-id> --create --apply --json`.
19
+ - Record the command id, classification, and validation evidence in the task capsule.
20
+
21
+ ## Required Surface Checklist
22
+
23
+ Update all applicable files before returning:
24
+
25
+ - `Harness/specs/runtime/command-surface.json`
26
+ - `.claude/commands/<id>.md`
27
+ - `.opencode/commands/<id>.md`
28
+ - `.claude/skills/<id>/SKILL.md` when Codex compatibility or workflow routing is needed
29
+ - `.agents/skills/<id>/SKILL.md` mirror when a Claude skill exists
30
+ - Matching `templates/common/...` files
31
+ - `CLAUDE.md` and `templates/common/CLAUDE.md`
32
+ - `.claude/rules/ecc/common.md` and template mirror
33
+ - `.claude/commands/wf-help.md`, `.opencode/commands/wf-help.md`, and template mirrors
34
+ - `Harness/README.md`, `Harness/MEMORY.md`, and template mirrors
35
+ - `Harness/scripts/validate-harness.mjs` and template mirror
36
+ - `Harness/scripts/wf-remove.mjs` and template mirror
37
+ - `tests/generator.test.js`, `tests/anti-drift.test.js`, and `tests/validate-harness.test.js`
38
+ - `Harness/.harness-version`, `templates/common/.harness-version`, and ownership manifests via `node scripts/build-version.mjs`
39
+
40
+ ## Validation
41
+
42
+ Run, at minimum:
43
+
44
+ ```bash
45
+ npm test
46
+ node Harness/scripts/validate-harness.mjs
47
+ node templates/common/Harness/scripts/validate-harness.mjs
48
+ node Harness/scripts/context-budget.mjs --json
49
+ node scripts/build-version.mjs --check
50
+ npm run check:mirrors
51
+ git diff --check
52
+ ```
53
+
54
+ If a check is blocked by an existing unrelated repository issue, record the command, failure, and reason in the task capsule.
55
+
56
+ ## Return
57
+
58
+ - Command id and classification.
59
+ - Task capsule path.
60
+ - Files changed by surface category.
61
+ - Verification results.
@@ -6,6 +6,9 @@ description: Show the Harness WF command table
6
6
  Return this help table directly. Do not invoke a skill, do not start WF mode,
7
7
  do not dispatch agents, and do not edit files.
8
8
 
9
+ Codex compatibility: `$wf-help` or `/skills wf-help` loads the `wf-help` shim,
10
+ which returns this same table without loading `Harness/MEMORY.md` or entering WF.
11
+
9
12
  | Command | Type | Usage | Purpose |
10
13
  | --- | --- | --- | --- |
11
14
  | `/wf-help` | direct command | `/wf-help` | Show this command table. |
@@ -15,14 +18,18 @@ do not dispatch agents, and do not edit files.
15
18
  | `/wf-auto-spark` | workflow skill | `/wf-auto-spark` | Perpetual inspiration mode with roadmap anchoring and external spark search. |
16
19
  | `/wf-review <focus>` | workflow skill | `/wf-review security and test coverage` | Peer CLI review through Claude/Codex/OpenCode, with reviewer subagent fallback. |
17
20
  | `/wf-learn` | workflow skill | `/wf-learn` | Force context-master -> memory-master learning cycle after repeated failures or closeout. |
18
- | `/wf-browser <task>` | optional workflow skill | `/wf-browser verify checkout flow` | Browser automation/E2E workflow with real UI interaction, screenshots, traces, and CDP/network evidence when installed. |
21
+ | `/wf-browser <task>` | workflow skill | `/wf-browser verify checkout flow` | Built-in browser automation/E2E workflow with real UI interaction, screenshots, traces, and CDP/network evidence. |
19
22
  | `/wf-readme <task>` | workflow skill | `/wf-readme polish quickstart` | Preserve, merge, or improve README docs without trampling existing project documentation. |
20
23
  | `/wf-update` | direct command | `/wf-update` | Check/apply Harness scaffold updates with safe file classification and conflict handling. |
21
24
  | `/wf-remove` | workflow skill | `/wf-remove` | Safely remove Harness files while preserving project/user data unless explicitly purged. |
25
+ | `/wf-task-record <task-id>` | direct command | `/wf-task-record my-feature --create` | Record user intent into a task capsule (wraps task-state.mjs). |
26
+ | `/wf-task-list` | direct command | `/wf-task-list` | List all task capsules with status, phase, and dependencies. |
27
+ | `/wf-task-archive [--apply]` | direct command | `/wf-task-archive --apply` | Archive completed task capsules (dry-run by default). |
28
+ | `/wf-command-create <wf-command-id>` | direct command | `/wf-command-create wf-report --direct` | Create or modify wf-* command surfaces atomically from the command registry. |
22
29
 
23
30
  Source of truth: `Harness/README.md#Skill Commands` plus installed skills under
24
- `.claude/skills/` (Claude Code) or `.agents/skills/` (Codex). In OpenCode the
25
- same skills load from `.claude/skills/`, `.agents/skills/`, and `.opencode/skills/`.
26
- In OpenCode, every workflow command above is also visible as a thin command
27
- wrapper under `.opencode/commands/` (e.g. `/wf`, `/wf-max`); each wrapper only
28
- routes to the matching skill adapter and does not duplicate the workflow.
31
+ `.claude/skills/` (Claude Code and OpenCode adapters) or `.agents/skills/`
32
+ (Codex). In OpenCode, every workflow command above is visible as a thin command
33
+ wrapper under `.opencode/commands/` (e.g. `/wf`, `/wf-max`); each wrapper routes
34
+ to the matching `.claude/skills/<command>/SKILL.md` adapter and does not
35
+ duplicate the workflow.
@@ -1,5 +1,6 @@
1
1
  ---
2
- description: Run the WF-MAX maximum-safe-parallelism workflow via the wf-max skill
2
+ description: Run WF-MAX with mandatory subagent fan-out and recorded degradation
3
+ agent: build
3
4
  ---
4
5
 
5
6
  # /wf-max
@@ -8,9 +9,13 @@ This is a **workflow command**, not a direct command. Do not execute it as a
8
9
  static help or script command.
9
10
 
10
11
  1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
- 2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
12
- 3. Execute per the skill adapter `.claude/skills/wf-max/SKILL.md` (mirror: `.agents/skills/wf-max/SKILL.md`).
13
- 4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/workflows/WF-MAX.md` are authoritative.
14
-
15
- If this runtime cannot invoke the skill directly, read
16
- `.claude/skills/wf-max/SKILL.md` and follow it in place.
12
+ 2. Load and follow `.claude/skills/wf-max/SKILL.md` (mirror: `.agents/skills/wf-max/SKILL.md`) and `Harness/specs/workflows/WF-MAX.md`.
13
+ 3. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
14
+ 4. MUST attempt native runtime subagent fan-out before planning is considered complete:
15
+ - start `task-scribe` when available for task ledger/state;
16
+ - start W0 exploration through manager/explorer/researcher roles with disjoint read sets;
17
+ - when running in OpenCode, require project `opencode.json` to have `subagent_depth >= 2` and manager agents to have `permission.task` allowlists for manager -> worker fan-out;
18
+ - if nested manager fan-out is unavailable, dispatch leaf workers directly from the primary agent with exact WF-MAX dispatch packets.
19
+ 5. In every runtime, MUST attempt native subagent fan-out before implementation planning is considered complete; never silently continue as a solo controller.
20
+ 6. If native fan-out fails, record `fanoutAttempted: true`, runtime, channel tried, agents requested, failure/degradation reason, and the fallback path in `Harness/tasks/<task-id>/PLAN.md` or `PROGRESS.md`.
21
+ 7. Continue with WF-Max-Useful by default or WF-Max-Strict only when the user explicitly requests strict mode.
@@ -0,0 +1,29 @@
1
+ ---
2
+ description: Archive completed/obsolete task capsules to _archive
3
+ ---
4
+ # /wf-task-archive
5
+
6
+ Archive completed/obsolete task capsules to `Harness/tasks/_archive/`. Do not invoke a skill or start WF mode.
7
+
8
+ ## Classification
9
+
10
+ DIRECT command. Wraps `node Harness/scripts/task-state.mjs archive`. Never loads Harness/MEMORY.md.
11
+
12
+ ## Usage
13
+
14
+ /wf-task-archive [--dry-run] [--apply] [--task <id>] [--keep <n>]
15
+
16
+ - Defaults to dry-run (`--dry-run`) without `--apply`.
17
+ - With `--apply`: moves eligible task directories into yearly subdirectories under `_archive/`.
18
+ - With `--task <id>`: targets a specific task for archive eligibility check.
19
+ - With `--keep <n>`: keeps N most recent non-archived task capsules (default 5).
20
+ - Tasks with active, blocked, in_progress, running, pending, or needs-user-decision status are never auto-archived.
21
+
22
+ ## Execution
23
+
24
+ Run: `node Harness/scripts/task-state.mjs archive [--dry-run] [--apply] [--task <id>] [--keep <n>] [--json]`
25
+
26
+ ## Return
27
+
28
+ - JSON output with archive plan: scanned, archiveable, toArchive, kept, skipped counts and per-task results.
29
+ - If the command fails, report the error and do not retry.
@@ -0,0 +1,27 @@
1
+ ---
2
+ description: List Harness task capsules with state, phase, status, and dependency info
3
+ ---
4
+ # /wf-task-list
5
+
6
+ List Harness task capsules with state, phase, status, and dependency info. Do not invoke a skill or start WF mode.
7
+
8
+ ## Classification
9
+
10
+ DIRECT command. Wraps `node Harness/scripts/task-state.mjs list --json`. Never loads Harness/MEMORY.md.
11
+
12
+ ## Usage
13
+
14
+ /wf-task-list [--json]
15
+
16
+ - By default, returns a human-readable listing of all task capsules.
17
+ - With --json, returns structured JSON output.
18
+ - Shows active, open, blocked, verified tasks with dependency info.
19
+
20
+ ## Execution
21
+
22
+ Run: `node Harness/scripts/task-state.mjs list --json`
23
+
24
+ ## Return
25
+
26
+ - JSON output of all task capsules with status, phase, dependencies, and archive eligibility.
27
+ - If the command fails, report the error and do not retry.