create-harness-vibe-coding 0.8.17 → 0.8.19
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/CHANGELOG.md +22 -0
- package/README-CN.md +2 -0
- package/README.md +3 -0
- package/package.json +5 -2
- package/src/generator.js +613 -97
- package/src/index.js +556 -309
- package/src/prompts.js +18 -0
- package/src/ui/dist/assets/AgentsRoute-CuSKYmFu.js +17 -0
- package/src/ui/dist/assets/AgentsRoute-CuSKYmFu.js.map +1 -0
- package/src/ui/dist/assets/RolesRoute-DOzTYVRm.js +7 -0
- package/src/ui/dist/assets/RolesRoute-DOzTYVRm.js.map +1 -0
- package/src/ui/dist/assets/SettingsRoute-DPU7jSQm.js +12 -0
- package/src/ui/dist/assets/SettingsRoute-DPU7jSQm.js.map +1 -0
- package/src/ui/dist/assets/TaskList-BN4r8s1i.js +50 -0
- package/src/ui/dist/assets/TaskList-BN4r8s1i.js.map +1 -0
- package/src/ui/dist/assets/TerminalDrawer-6GBZ9nXN.css +32 -0
- package/src/ui/dist/assets/TerminalDrawer-Cej4PxsH.js +74 -0
- package/src/ui/dist/assets/TerminalDrawer-Cej4PxsH.js.map +1 -0
- package/src/ui/dist/assets/WorkflowRoute-BnuhLJ6X.css +1 -0
- package/src/ui/dist/assets/WorkflowRoute-C-clKe-j.js +39 -0
- package/src/ui/dist/assets/WorkflowRoute-C-clKe-j.js.map +1 -0
- package/src/ui/dist/assets/index-BOVYWntB.js +117 -0
- package/src/ui/dist/assets/index-BOVYWntB.js.map +1 -0
- package/src/ui/dist/assets/index-DaUObq0H.css +1 -0
- package/src/ui/dist/assets/maximize-2-LNrr_rKr.js +7 -0
- package/src/ui/dist/assets/maximize-2-LNrr_rKr.js.map +1 -0
- package/src/ui/dist/assets/plus-QuTJyoT3.js +7 -0
- package/src/ui/dist/assets/plus-QuTJyoT3.js.map +1 -0
- package/src/ui/dist/assets/proxy-D0vUbds5.js +2 -0
- package/src/ui/dist/assets/proxy-D0vUbds5.js.map +1 -0
- package/src/ui/dist/assets/refresh-cw-JNmExijd.js +7 -0
- package/src/ui/dist/assets/refresh-cw-JNmExijd.js.map +1 -0
- package/src/ui/dist/assets/terminal-BBQvnOAK.js +7 -0
- package/src/ui/dist/assets/terminal-BBQvnOAK.js.map +1 -0
- package/src/ui/dist/assets/useReducedMotion-BqmH0Tf7.js +7 -0
- package/src/ui/dist/assets/useReducedMotion-BqmH0Tf7.js.map +1 -0
- package/src/ui/dist/assets/x-DoIOGAJz.js +7 -0
- package/src/ui/dist/assets/x-DoIOGAJz.js.map +1 -0
- package/src/ui/dist/index.html +18 -0
- package/src/ui/index.html +17 -0
- package/src/ui/package.json +33 -0
- package/src/ui/pnpm-lock.yaml +1582 -0
- package/src/ui/pnpm-workspace.yaml +2 -0
- package/src/ui/src/App.tsx +86 -0
- package/src/ui/src/api.ts +93 -0
- package/src/ui/src/components/AgentsRoute.tsx +503 -0
- package/src/ui/src/components/Footer.tsx +69 -0
- package/src/ui/src/components/Header.tsx +175 -0
- package/src/ui/src/components/LoadingView.tsx +22 -0
- package/src/ui/src/components/RolesRoute.tsx +169 -0
- package/src/ui/src/components/SettingsRoute.tsx +166 -0
- package/src/ui/src/components/TaskList.tsx +388 -0
- package/src/ui/src/components/TerminalDrawer.tsx +611 -0
- package/src/ui/src/components/WorkflowRoute.tsx +670 -0
- package/src/ui/src/hooks/useReducedMotion.ts +17 -0
- package/src/ui/src/hooks/useServerConnection.ts +114 -0
- package/src/ui/src/index.css +281 -0
- package/src/ui/src/main.tsx +11 -0
- package/src/ui/src/types.ts +108 -0
- package/src/ui/tsconfig.json +21 -0
- package/src/ui/vite.config.ts +19 -0
- package/src/wf-ui-server/__tests__/a2a-store.test.mjs +79 -0
- package/src/wf-ui-server/__tests__/peer-capsule.test.mjs +268 -0
- package/src/wf-ui-server/__tests__/pty-adapter.test.mjs +70 -0
- package/src/wf-ui-server/__tests__/runtime-config.test.mjs +43 -0
- package/src/wf-ui-server/__tests__/runtime-detector.test.mjs +90 -0
- package/src/wf-ui-server/__tests__/security.test.mjs +59 -0
- package/src/wf-ui-server/__tests__/server.integration.test.mjs +150 -0
- package/src/wf-ui-server/__tests__/session-registry.test.mjs +238 -0
- package/src/wf-ui-server/__tests__/settings.test.mjs +135 -0
- package/src/wf-ui-server/__tests__/task-parser.test.mjs +200 -0
- package/src/wf-ui-server/__tests__/terminal-store.test.mjs +138 -0
- package/src/wf-ui-server/__tests__/token.test.mjs +48 -0
- package/src/wf-ui-server/__tests__/ws-events.integration.test.mjs +419 -0
- package/src/wf-ui-server/__tests__/ws-terminal.integration.test.mjs +383 -0
- package/src/wf-ui-server/a2a-store.mjs +296 -0
- package/src/wf-ui-server/peer-capsule.mjs +213 -0
- package/src/wf-ui-server/pty-adapter.mjs +155 -0
- package/src/wf-ui-server/runtime-config.mjs +153 -0
- package/src/wf-ui-server/runtime-detector.mjs +374 -0
- package/src/wf-ui-server/security.mjs +67 -0
- package/src/wf-ui-server/server.mjs +849 -0
- package/src/wf-ui-server/session-registry.mjs +204 -0
- package/src/wf-ui-server/settings.mjs +100 -0
- package/src/wf-ui-server/task-parser.mjs +133 -0
- package/src/wf-ui-server/terminal-store.mjs +225 -0
- package/src/wf-ui-server/token.mjs +41 -0
- package/src/wf-ui-server/ws-events.mjs +354 -0
- package/src/wf-ui-server/ws-terminal.mjs +473 -0
- package/templates/common/.claude/commands/wf-command-create.md +58 -0
- package/templates/common/.claude/commands/wf-help.md +5 -0
- package/templates/common/.claude/commands/wf-task-archive.md +26 -0
- package/templates/common/.claude/commands/wf-task-list.md +26 -0
- package/templates/common/.claude/commands/wf-task-record.md +24 -0
- package/templates/common/.claude/commands/wf-ui.md +26 -0
- package/templates/common/.claude/commands/wf-update.md +54 -9
- package/templates/common/.claude/rules/ecc/common.md +1 -1
- package/templates/common/.claude/skills/wf-agents-docs/SKILL.md +15 -30
- package/templates/common/.claude/skills/wf-auto/SKILL.md +3 -3
- package/templates/common/.claude/skills/wf-auto-spark/SKILL.md +2 -2
- package/templates/common/.claude/skills/wf-command-create/SKILL.md +37 -0
- package/templates/common/.claude/skills/wf-max/SKILL.md +1 -1
- package/templates/common/.claude/skills/wf-review/SKILL.md +29 -2
- package/templates/common/.claude/skills/wf-task-archive/SKILL.md +28 -0
- package/templates/common/.claude/skills/wf-task-list/SKILL.md +28 -0
- package/templates/common/.claude/skills/wf-task-record/SKILL.md +28 -0
- package/templates/common/.claude/skills/wf-ui/SKILL.md +78 -0
- package/templates/common/.claude/skills/wf-update/SKILL.md +55 -58
- package/templates/common/.harness-version +105 -47
- package/templates/common/.opencode/commands/wf-command-create.md +61 -0
- package/templates/common/.opencode/commands/wf-help.md +5 -0
- package/templates/common/.opencode/commands/wf-task-archive.md +29 -0
- package/templates/common/.opencode/commands/wf-task-list.md +29 -0
- package/templates/common/.opencode/commands/wf-task-record.md +27 -0
- package/templates/common/.opencode/commands/wf-ui.md +26 -0
- package/templates/common/.opencode/commands/wf-update.md +54 -9
- package/templates/common/CLAUDE.md +8 -6
- package/templates/common/Harness/MEMORY.md +11 -0
- package/templates/common/Harness/README.md +21 -38
- package/templates/common/Harness/a2a/role-graph.json +79 -0
- package/templates/common/Harness/a2a/runtime-registry.json +5 -0
- package/templates/common/Harness/a2a/skills/terminal-control.json +15 -0
- package/templates/common/Harness/ownership.manifest.json +142 -2
- package/templates/common/Harness/scripts/README.md +134 -0
- package/templates/common/Harness/scripts/a2a-terminal.mjs +191 -0
- package/templates/common/Harness/scripts/context-budget.mjs +1 -1
- package/templates/common/Harness/scripts/sync-host-global.mjs +278 -0
- package/templates/common/Harness/scripts/task-state.mjs +949 -26
- package/templates/common/Harness/scripts/validate-harness.mjs +637 -62
- package/templates/common/Harness/scripts/wf-remove.mjs +42 -5
- package/templates/common/Harness/scripts/wf-update-check.mjs +37 -9
- package/templates/common/Harness/scripts/wf-update-runner.mjs +325 -0
- package/templates/common/Harness/settings.json +35 -0
- package/templates/common/Harness/specs/guides/SETUP.md +8 -0
- package/templates/common/Harness/specs/protocols/MEMORY_PROTOCOL.md +15 -0
- package/templates/common/Harness/specs/protocols/TASK_ARCHIVE.md +16 -5
- package/templates/common/Harness/specs/runtime/command-surface.json +229 -0
- package/templates/common/Harness/specs/runtime/subagents.md +6 -0
- package/templates/common/Harness/specs/workflows/WF-AUTO-SPARK.md +8 -8
- package/templates/common/Harness/specs/workflows/WF-AUTO.md +12 -12
- package/templates/common/Harness/specs/workflows/WF-MAX.md +5 -0
- package/templates/common/Harness/specs/workflows/WF-STATE.md +66 -0
- package/templates/common/Harness/tasks/_template/NAMING.md +16 -16
- package/templates/common/Harness/tasks/_template/PLAN.md +17 -60
- package/templates/common/Harness/tasks/_template/PROBLEM.md +18 -0
- package/templates/common/Harness/tasks/_template/PROGRESS.md +9 -14
- package/templates/common/Harness/tasks/_template/REFERENCES.md +26 -0
- package/templates/common/Harness/tasks/_template/STATE.json +6 -0
- package/templates/common/Harness/tasks/_template/ARTIFACTS.md +0 -3
- package/templates/common/Harness/tasks/_template/NOTES.md +0 -3
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generator": "0.8.
|
|
3
|
-
"generated": "2026-07-
|
|
2
|
+
"generator": "0.8.19",
|
|
3
|
+
"generated": "2026-07-30T14:31:29.365Z",
|
|
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.
|
|
9
|
-
"date": "2026-07-
|
|
8
|
+
"version": "0.8.19",
|
|
9
|
+
"date": "2026-07-30",
|
|
10
10
|
"highlights": [
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"Add
|
|
15
|
-
"
|
|
16
|
-
"Add
|
|
11
|
+
"Publish `$wf-ui` as the Harness control panel with task capsule observability, agent workflow hierarchy, runtime detection, real PTY-backed detected CLI launches, and multi-terminal peer sessions.",
|
|
12
|
+
"Bundle built `wf-ui` assets in the npm package and guard them with pack smoke coverage so installed `wf-ui` can serve the browser UI without a local frontend build.",
|
|
13
|
+
"Harden OTA updates with `--repair` mode so an already-version-bumped install can still diff and restore missing framework files such as `/wf-task-list`, `/wf-help`, and platform mirrors.",
|
|
14
|
+
"Add post-update manifest validation: `/wf-update` now requires `validate-harness.mjs --manifest-audit` after apply/finalize to catch missing framework files, stale Harness-owned files, and manifest coverage gaps.",
|
|
15
|
+
"Add multi-scope `/wf-update` routing: project installs update project + discovered global runtime, while uninstalled projects using global command surfaces update only the global runtime and host copies.",
|
|
16
|
+
"Add `sync-host-global.mjs` so global Claude/Codex/OpenCode command and skill copies are audited and repaired after runtime updates.",
|
|
17
|
+
"Keep `--repair` safe by refusing older remote sources and prerelease sources by default; repair can restore missing files but cannot silently downgrade a newer install.",
|
|
18
|
+
"Regenerate ownership manifests from the template source so `.claude`, `.codex`, `.agents`, `.opencode`, and Harness script/spec files are tracked as updateable framework files while tasks, memory, progress, and project user files remain preserved."
|
|
17
19
|
]
|
|
18
20
|
},
|
|
19
21
|
"moves": [
|
|
@@ -159,17 +161,22 @@
|
|
|
159
161
|
"checksums": {
|
|
160
162
|
".agents/skills/subagent-orchestrator/SKILL.md": "sha256-6354018aaafd3d9f546eeecc90f943ef9a94d05747673369586a4a2f45a9464d",
|
|
161
163
|
".agents/skills/tdd/SKILL.md": "sha256-d6738eca127e0632474db67c25708c9db3feab3b55499c489518502ec8951e3a",
|
|
162
|
-
".agents/skills/wf-agents-docs/SKILL.md": "sha256-
|
|
163
|
-
".agents/skills/wf-auto-spark/SKILL.md": "sha256-
|
|
164
|
-
".agents/skills/wf-auto/SKILL.md": "sha256-
|
|
164
|
+
".agents/skills/wf-agents-docs/SKILL.md": "sha256-20cd0d52d600ba9a61cbeb7fefea3beed213f77a87f23a1b534e6229949d5b01",
|
|
165
|
+
".agents/skills/wf-auto-spark/SKILL.md": "sha256-4693db5b5a62d9385ede824c2ecfa84efbfa1d59a120377e216e4e920ccfc9db",
|
|
166
|
+
".agents/skills/wf-auto/SKILL.md": "sha256-e148c86fba7873543afa1963808bf4f3dceab5864bba65665aae075ab8f2f838",
|
|
165
167
|
".agents/skills/wf-browser/SKILL.md": "sha256-0914538f7ae624b66cede82593f8063716c96c0f7b36adebbcf413c9e2a1d836",
|
|
168
|
+
".agents/skills/wf-command-create/SKILL.md": "sha256-b8df91106d4ea161d659d1099a2ae509b8c81e9954946c2f53629ccbc5ffe70a",
|
|
166
169
|
".agents/skills/wf-help/SKILL.md": "sha256-418564cbe5e2df1e63fccdc9cd1cc12b05df9589836c6ff39ff43610eddf4e56",
|
|
167
170
|
".agents/skills/wf-learn/SKILL.md": "sha256-39e4bbe2da1261c02e37aa03ade0f9faaf6bc1f89568af1bb70f1af45d5f5bda",
|
|
168
|
-
".agents/skills/wf-max/SKILL.md": "sha256-
|
|
171
|
+
".agents/skills/wf-max/SKILL.md": "sha256-b3e2fe922c7d7d5effee6a2d51324ff54049e2d419dba2f74dda025ed529c561",
|
|
169
172
|
".agents/skills/wf-readme/SKILL.md": "sha256-32256ab8e87fc1c2606fd102d85b59fa0b406d88d5639c2f9ff2f02e83f7d81f",
|
|
170
173
|
".agents/skills/wf-remove/SKILL.md": "sha256-2de3d7b5cba2456a83aaa86487492a627d836526dbd2da1225cec9d7634b625c",
|
|
171
|
-
".agents/skills/wf-review/SKILL.md": "sha256-
|
|
172
|
-
".agents/skills/wf-
|
|
174
|
+
".agents/skills/wf-review/SKILL.md": "sha256-11117d7de4cd3cfd1616538233487420fff5a5d2a91754a68dc3a3134d06d29e",
|
|
175
|
+
".agents/skills/wf-task-archive/SKILL.md": "sha256-f1637ee8c56b1385aed5db9c93f74889c2542a85273fdc68c6a4975a906f1cd5",
|
|
176
|
+
".agents/skills/wf-task-list/SKILL.md": "sha256-04bcae617ef70e6b46c267ed726f6e8352d2f0b72aaaa8a486e3a760a8144b48",
|
|
177
|
+
".agents/skills/wf-task-record/SKILL.md": "sha256-7afb4a9f04da96e45b9159f596d00c563184a27aff538385519187f2868811f8",
|
|
178
|
+
".agents/skills/wf-ui/SKILL.md": "sha256-13c95b09624e93cec1ef4a6ef05dcc6f909edeb13590b28b8acb145233c6eae9",
|
|
179
|
+
".agents/skills/wf-update/SKILL.md": "sha256-2efdd15cd8a4a9ec6b239cd5880c19c89c2be5016123342040d178b59b36778f",
|
|
173
180
|
".agents/skills/wf/SKILL.md": "sha256-78cc8b5be329649508b9fa6856b50c709ae74fbc31a4c7b77a69c6552723e29b",
|
|
174
181
|
".claude/agents/architect-manager.md": "sha256-21f16d8d5e9d0a88d9663dbe798421501e0de89ccad5f8f3c1ef9db5b79edaf7",
|
|
175
182
|
".claude/agents/architect.md": "sha256-8a57c6a85ec21d49deaa37a73a81367dabfdb22efd781f58e66b6628e14b218c",
|
|
@@ -193,29 +200,39 @@
|
|
|
193
200
|
".claude/commands/wf-auto-spark.md": "sha256-503c88eba452f20ca04c32db734eed1c666a381bd6948c3ffe18f5c4a4255729",
|
|
194
201
|
".claude/commands/wf-auto.md": "sha256-06196a633eb0464ff152e7bfffabd76c09ab32a2aef9d84b82bbb4c204503226",
|
|
195
202
|
".claude/commands/wf-browser.md": "sha256-1cd46b259cb509af2d0bb1d105912889068611875c008e002598d0e7ed42cf52",
|
|
196
|
-
".claude/commands/wf-
|
|
203
|
+
".claude/commands/wf-command-create.md": "sha256-b6027172e5d98c44f1ac22747a9ad52b27de15271018a60b10ac5b7c3d96f4a0",
|
|
204
|
+
".claude/commands/wf-help.md": "sha256-3b15f9799da469e58a62b3360a7c0c29d15e578be364693e351afef66f6a5800",
|
|
197
205
|
".claude/commands/wf-learn.md": "sha256-02606f2a91e03056676aa022a060cd4a05a4d3123f8cb6f5e27bc50d90c6448a",
|
|
198
206
|
".claude/commands/wf-max.md": "sha256-88cdfb4ef8a205483045302b56dec268bdf010debd9c4473b665f5720e4c5697",
|
|
199
207
|
".claude/commands/wf-readme.md": "sha256-3eee1a6b3f62c22ed46440ed38ecb02999c9a3128d7660e91e7f0a94c59fa463",
|
|
200
208
|
".claude/commands/wf-remove.md": "sha256-80fe1849412028c9a91120143eeb10e153e6d7c32ec502c0d7ef3599d13fa337",
|
|
201
209
|
".claude/commands/wf-review.md": "sha256-bb031ffc8e392af2c1b2bb97b2f7605af1dcfa70514c6068312eca01f170e6d9",
|
|
202
|
-
".claude/commands/wf-
|
|
210
|
+
".claude/commands/wf-task-archive.md": "sha256-95b7c0a7bb2946b8c6c57506726358e7cc57cc2d9b1b48bd43b102a9a77ca3da",
|
|
211
|
+
".claude/commands/wf-task-list.md": "sha256-6d90efb0832a3a3e478c74101458026341f4966f01236c076859c8e562d13951",
|
|
212
|
+
".claude/commands/wf-task-record.md": "sha256-e9fa479274bdece66afa631642a87c7e2500f1dc1e58b930660cebeef4eae748",
|
|
213
|
+
".claude/commands/wf-ui.md": "sha256-faaef8c2ea6565be36582ce03a7dc9d4238a38b8d776a49e588f8a6df430b2d8",
|
|
214
|
+
".claude/commands/wf-update.md": "sha256-48b82e5300cd5422396b8fc06dfaa2dd243e95a0891100e58715274da674e4b9",
|
|
203
215
|
".claude/commands/wf.md": "sha256-bef81f0404230ff0de64727d46aa947d7434d06fde8ad03c55db9ccf54870cca",
|
|
204
|
-
".claude/rules/ecc/common.md": "sha256-
|
|
216
|
+
".claude/rules/ecc/common.md": "sha256-930bb10a68d38b59b91b2e7cded67e4e99a0bcc3f3c6c928ab033c5670dfd827",
|
|
205
217
|
".claude/settings.json": "sha256-99e8552584b8e71e3e11b4b760c3bfbf8c1b18dadda7ec3f6e3c46f88d9ea513",
|
|
206
218
|
".claude/skills/subagent-orchestrator/SKILL.md": "sha256-6354018aaafd3d9f546eeecc90f943ef9a94d05747673369586a4a2f45a9464d",
|
|
207
219
|
".claude/skills/tdd/SKILL.md": "sha256-d6738eca127e0632474db67c25708c9db3feab3b55499c489518502ec8951e3a",
|
|
208
|
-
".claude/skills/wf-agents-docs/SKILL.md": "sha256-
|
|
209
|
-
".claude/skills/wf-auto-spark/SKILL.md": "sha256-
|
|
210
|
-
".claude/skills/wf-auto/SKILL.md": "sha256-
|
|
220
|
+
".claude/skills/wf-agents-docs/SKILL.md": "sha256-20cd0d52d600ba9a61cbeb7fefea3beed213f77a87f23a1b534e6229949d5b01",
|
|
221
|
+
".claude/skills/wf-auto-spark/SKILL.md": "sha256-4693db5b5a62d9385ede824c2ecfa84efbfa1d59a120377e216e4e920ccfc9db",
|
|
222
|
+
".claude/skills/wf-auto/SKILL.md": "sha256-e148c86fba7873543afa1963808bf4f3dceab5864bba65665aae075ab8f2f838",
|
|
211
223
|
".claude/skills/wf-browser/SKILL.md": "sha256-0914538f7ae624b66cede82593f8063716c96c0f7b36adebbcf413c9e2a1d836",
|
|
224
|
+
".claude/skills/wf-command-create/SKILL.md": "sha256-b8df91106d4ea161d659d1099a2ae509b8c81e9954946c2f53629ccbc5ffe70a",
|
|
212
225
|
".claude/skills/wf-help/SKILL.md": "sha256-418564cbe5e2df1e63fccdc9cd1cc12b05df9589836c6ff39ff43610eddf4e56",
|
|
213
226
|
".claude/skills/wf-learn/SKILL.md": "sha256-39e4bbe2da1261c02e37aa03ade0f9faaf6bc1f89568af1bb70f1af45d5f5bda",
|
|
214
|
-
".claude/skills/wf-max/SKILL.md": "sha256-
|
|
227
|
+
".claude/skills/wf-max/SKILL.md": "sha256-b3e2fe922c7d7d5effee6a2d51324ff54049e2d419dba2f74dda025ed529c561",
|
|
215
228
|
".claude/skills/wf-readme/SKILL.md": "sha256-32256ab8e87fc1c2606fd102d85b59fa0b406d88d5639c2f9ff2f02e83f7d81f",
|
|
216
229
|
".claude/skills/wf-remove/SKILL.md": "sha256-2de3d7b5cba2456a83aaa86487492a627d836526dbd2da1225cec9d7634b625c",
|
|
217
|
-
".claude/skills/wf-review/SKILL.md": "sha256-
|
|
218
|
-
".claude/skills/wf-
|
|
230
|
+
".claude/skills/wf-review/SKILL.md": "sha256-11117d7de4cd3cfd1616538233487420fff5a5d2a91754a68dc3a3134d06d29e",
|
|
231
|
+
".claude/skills/wf-task-archive/SKILL.md": "sha256-f1637ee8c56b1385aed5db9c93f74889c2542a85273fdc68c6a4975a906f1cd5",
|
|
232
|
+
".claude/skills/wf-task-list/SKILL.md": "sha256-04bcae617ef70e6b46c267ed726f6e8352d2f0b72aaaa8a486e3a760a8144b48",
|
|
233
|
+
".claude/skills/wf-task-record/SKILL.md": "sha256-7afb4a9f04da96e45b9159f596d00c563184a27aff538385519187f2868811f8",
|
|
234
|
+
".claude/skills/wf-ui/SKILL.md": "sha256-13c95b09624e93cec1ef4a6ef05dcc6f909edeb13590b28b8acb145233c6eae9",
|
|
235
|
+
".claude/skills/wf-update/SKILL.md": "sha256-2efdd15cd8a4a9ec6b239cd5880c19c89c2be5016123342040d178b59b36778f",
|
|
219
236
|
".claude/skills/wf/SKILL.md": "sha256-78cc8b5be329649508b9fa6856b50c709ae74fbc31a4c7b77a69c6552723e29b",
|
|
220
237
|
".codex/config.toml": "sha256-b561d07aaba9bb32df0c48713f6a00be95462af9fa9383efb7cee89f9b24f9ba",
|
|
221
238
|
".codex/hooks.json": "sha256-3200c42c2da434c07cd6ab1ce86f8845ab46a1ed9a25b65117b2b2b42056c725",
|
|
@@ -241,53 +258,66 @@
|
|
|
241
258
|
".opencode/commands/wf-auto-spark.md": "sha256-503c88eba452f20ca04c32db734eed1c666a381bd6948c3ffe18f5c4a4255729",
|
|
242
259
|
".opencode/commands/wf-auto.md": "sha256-06196a633eb0464ff152e7bfffabd76c09ab32a2aef9d84b82bbb4c204503226",
|
|
243
260
|
".opencode/commands/wf-browser.md": "sha256-1cd46b259cb509af2d0bb1d105912889068611875c008e002598d0e7ed42cf52",
|
|
244
|
-
".opencode/commands/wf-
|
|
261
|
+
".opencode/commands/wf-command-create.md": "sha256-29b597b7c2c3b8a7e131365e1704855bbd2774511ed30cf99e398f77123e2981",
|
|
262
|
+
".opencode/commands/wf-help.md": "sha256-05d4d2feca75b1f03eba3b28084504b5314a7fdc131db3f9f8c46c4b1bf7d0fe",
|
|
245
263
|
".opencode/commands/wf-learn.md": "sha256-02606f2a91e03056676aa022a060cd4a05a4d3123f8cb6f5e27bc50d90c6448a",
|
|
246
264
|
".opencode/commands/wf-max.md": "sha256-21ddf8d4eff7ce91948a41eb68cbc9d184349ca3a422c72950fc83a5039eb663",
|
|
247
265
|
".opencode/commands/wf-readme.md": "sha256-3eee1a6b3f62c22ed46440ed38ecb02999c9a3128d7660e91e7f0a94c59fa463",
|
|
248
266
|
".opencode/commands/wf-remove.md": "sha256-80fe1849412028c9a91120143eeb10e153e6d7c32ec502c0d7ef3599d13fa337",
|
|
249
267
|
".opencode/commands/wf-review.md": "sha256-bb031ffc8e392af2c1b2bb97b2f7605af1dcfa70514c6068312eca01f170e6d9",
|
|
250
|
-
".opencode/commands/wf-
|
|
268
|
+
".opencode/commands/wf-task-archive.md": "sha256-eed9b41bd4fc9c4ca6d0b4aa2cc0492e7695173b6b5487a7a07683dec66de162",
|
|
269
|
+
".opencode/commands/wf-task-list.md": "sha256-53e25781b9c9f9b12927f3291613a07029c2dfdef636350b0b779b4f7cca0a7f",
|
|
270
|
+
".opencode/commands/wf-task-record.md": "sha256-c71c49e54f568eff816f5eea505d34a139e91f4f18aed504391ab6fa6afd539e",
|
|
271
|
+
".opencode/commands/wf-ui.md": "sha256-faaef8c2ea6565be36582ce03a7dc9d4238a38b8d776a49e588f8a6df430b2d8",
|
|
272
|
+
".opencode/commands/wf-update.md": "sha256-48b82e5300cd5422396b8fc06dfaa2dd243e95a0891100e58715274da674e4b9",
|
|
251
273
|
".opencode/commands/wf.md": "sha256-bef81f0404230ff0de64727d46aa947d7434d06fde8ad03c55db9ccf54870cca",
|
|
252
274
|
".opencode/plugins/harness-wf-status.mjs": "sha256-ee0987cec5530c34784c619a803562d7085ae26fe5d199fde7ce42c2bed4724e",
|
|
253
275
|
"AGENTS.md": "sha256-fad176931742a5080e073d1ddba99a3eabb67e8c42bebb132df99a51ca6a184d",
|
|
254
|
-
"CLAUDE.md": "sha256-
|
|
255
|
-
"Harness/MEMORY.md": "sha256-
|
|
256
|
-
"Harness/README.md": "sha256-
|
|
257
|
-
"Harness/
|
|
276
|
+
"CLAUDE.md": "sha256-d5c527cc412054cbce6edc1c4e9476c001156117562108f5bdaf6f7f8a8827e9",
|
|
277
|
+
"Harness/MEMORY.md": "sha256-d998ab26fe1932b8bb6b55a4fcb4ba1c54ed4d2a633057ee0442d435c2add376",
|
|
278
|
+
"Harness/README.md": "sha256-59ea5524eee4a40586d3ebb79e35e1f0e53e8c3fa31a45c7c0d5e66aa339991f",
|
|
279
|
+
"Harness/a2a/role-graph.json": "sha256-bf4701253b5bfb3f6578eee0777cc10b250130acca2438fac6a5be31e38da34c",
|
|
280
|
+
"Harness/a2a/runtime-registry.json": "sha256-37b1fa4820ba3a4001b8ec9ec9a03dfdeb132379046792c21d5e1de0794fee90",
|
|
281
|
+
"Harness/a2a/skills/terminal-control.json": "sha256-07c66989c8a25344ddeabdbfaf1fc86f14750beb48ee8f99a970714ebcd5efb3",
|
|
282
|
+
"Harness/ownership.manifest.json": "sha256-b6808f7009294aa6a446c1b24f3669659060979148dfd6c30a9caea3b6e6efe7",
|
|
258
283
|
"Harness/project/architecture.md": "sha256-27462306667539d71aecc4a90a778222f61585ef99e8131fb38f866913cac1c4",
|
|
259
284
|
"Harness/research/README.md": "sha256-b7a542c0d919cabc185b6e7a1e6ef265dc5160978d0c1dd804f2c6547d0202a4",
|
|
285
|
+
"Harness/scripts/README.md": "sha256-b97601aca4c042f09aa387cdf8764a242a3e67d40888fd5eb27c1ff2c86926f6",
|
|
286
|
+
"Harness/scripts/a2a-terminal.mjs": "sha256-d99864265bf90bef86538b7f5ca10b9debf4fad343aac832d32cc6957605d247",
|
|
260
287
|
"Harness/scripts/archive-tasks.mjs": "sha256-c5891c32d23f0b1bc863753d11116ab593928aa9ebedf2768b68b77e88c9909c",
|
|
261
|
-
"Harness/scripts/context-budget.mjs": "sha256-
|
|
288
|
+
"Harness/scripts/context-budget.mjs": "sha256-7cf88703e55eaaf6abdd1b2bf314e15a94ec41da2d370ce560b60655988b102e",
|
|
262
289
|
"Harness/scripts/l2-cache-telemetry.mjs": "sha256-139b5317eb3917f2ca0acd3cb1164170cc8c1dd60e0dee35f8d1596aed28c22c",
|
|
263
290
|
"Harness/scripts/scan-clean.mjs": "sha256-6c4b2a4d15a8cd758214a360f8d3be11a835368d409c95719242c75ccf466c8a",
|
|
264
|
-
"Harness/scripts/
|
|
265
|
-
"Harness/scripts/
|
|
291
|
+
"Harness/scripts/sync-host-global.mjs": "sha256-16bf56a1c348d0225e4093b364166f51b2148a6d75020e49431d9b31d4800518",
|
|
292
|
+
"Harness/scripts/task-state.mjs": "sha256-e911615ca8a0edea676b840ccf8164eb70cfb14a08871f3121c5ad10692aa657",
|
|
293
|
+
"Harness/scripts/validate-harness.mjs": "sha256-f511f92d73a78c21de7b6c8de8be8641605e51131f5b2e4e5accb127aa5dfffb",
|
|
266
294
|
"Harness/scripts/wf-auto-update-prompt.mjs": "sha256-14210304dbd8e648b8939fc4c5d3664f943052153e689264c16b05b7b81bd39e",
|
|
267
|
-
"Harness/scripts/wf-remove.mjs": "sha256-
|
|
268
|
-
"Harness/scripts/wf-update-check.mjs": "sha256-
|
|
269
|
-
"Harness/
|
|
295
|
+
"Harness/scripts/wf-remove.mjs": "sha256-ba8711a74b88def50c4f94171d43ff01d6e3d67cd89644f19b701675362afb73",
|
|
296
|
+
"Harness/scripts/wf-update-check.mjs": "sha256-cfdccaeb8045a772a80f468f8b23fdb753b99bd89d3af72688c4abd241bd85a9",
|
|
297
|
+
"Harness/scripts/wf-update-runner.mjs": "sha256-2a197a6cd0ab5abbc2ad9359b78cc44db41b5789aabbb503f357ca1135c62444",
|
|
298
|
+
"Harness/settings.json": "sha256-5455b66125fd67969a6e490d3093ce238f7c16348f69a980a65ce22d99c0c728",
|
|
270
299
|
"Harness/specs/guides/ECC-GUIDE.md": "sha256-eba123cad02dde928317b9347efac45daf33698221d2d91768559a1f0456cc97",
|
|
271
|
-
"Harness/specs/guides/SETUP.md": "sha256-
|
|
300
|
+
"Harness/specs/guides/SETUP.md": "sha256-2f33b14eec035c9603ad6355cecc109879e9320a7a29aa9e9be6bbc743362b38",
|
|
272
301
|
"Harness/specs/guides/extension.md": "sha256-5bf5895f849b972e5bdd1afd1a6914cd743b88b05668bb72dca7cd835262e8c9",
|
|
273
302
|
"Harness/specs/guides/lifecycle.md": "sha256-3bb2107af2ee569c905ca615d662ba9adfd606a595e45880cfc292779c5f1844",
|
|
274
303
|
"Harness/specs/protocols/ACCEPTANCE_PROTOCOL.md": "sha256-0f7a21a1fbfdca6e5f28f3297b61c3446e3bdd552a2143c7032d6271a4e26103",
|
|
275
304
|
"Harness/specs/protocols/AGENT_ISOLATION.md": "sha256-54abcd4fdaf8810ab42da8a7f2ab5b5f5305f105f93e8764081b10edce053506",
|
|
276
305
|
"Harness/specs/protocols/DEBUG_PROTOCOL.md": "sha256-ed80de0e3e1a40dbb9fd0bdead9174f1650e1833027f3d7fb4bb5884142e03f7",
|
|
277
306
|
"Harness/specs/protocols/HARNESS_BRIDGE.md": "sha256-681dbeca9a590bbeb3a0c01b044e40e642e6d640632d8611064eb897ada8a48d",
|
|
278
|
-
"Harness/specs/protocols/MEMORY_PROTOCOL.md": "sha256-
|
|
279
|
-
"Harness/specs/protocols/TASK_ARCHIVE.md": "sha256-
|
|
307
|
+
"Harness/specs/protocols/MEMORY_PROTOCOL.md": "sha256-5542c5007f278e0d83627d831beff4eaa58e2bc256f7962f562050de124e24d9",
|
|
308
|
+
"Harness/specs/protocols/TASK_ARCHIVE.md": "sha256-93f926df3fdea1510535ac5ab8efeba347c67c1d289afc0e46d4d2175a2e3699",
|
|
280
309
|
"Harness/specs/protocols/TDD-GUIDE.md": "sha256-602084530fd0dea7499a023ce75738351e5d97a0c222b64d405f36da6b59a162",
|
|
281
310
|
"Harness/specs/runtime/agent-workflow.md": "sha256-9e6390715a9c2e404923d17e12369fe5af22c9a615ab14a010a8d6da0974c987",
|
|
311
|
+
"Harness/specs/runtime/command-surface.json": "sha256-70da5001e2a05a636050f0df9e129ea67c06953b649d2c0b9d2001ccc484c265",
|
|
282
312
|
"Harness/specs/runtime/context-loading.md": "sha256-323e9476486ebf60cfd9fd78834701817f882648749cd548dd7a47670fce0bd6",
|
|
283
313
|
"Harness/specs/runtime/dispatch.md": "sha256-1b1c2681c2722b8d708f8cca48ec1991ee922602c4c7333704f0156f6ffa498f",
|
|
284
|
-
"Harness/specs/runtime/subagents.md": "sha256-
|
|
314
|
+
"Harness/specs/runtime/subagents.md": "sha256-bb71ae927dd5f4656f97a78797b1d776618a39b26a7364a256cbcf38db427e71",
|
|
285
315
|
"Harness/specs/workflows/WF-AUTO-ANGLES.md": "sha256-b9641d871f728e8112ad0d8c7f87bcbec0a06aa572c5f3060efdd26496abdf9b",
|
|
286
|
-
"Harness/specs/workflows/WF-AUTO-SPARK.md": "sha256-
|
|
287
|
-
"Harness/specs/workflows/WF-AUTO.md": "sha256-
|
|
316
|
+
"Harness/specs/workflows/WF-AUTO-SPARK.md": "sha256-49a6272f9c40d9bd0ae22ae39d576bf3c6479bb9cbc56a24e8b62b31cdabf72c",
|
|
317
|
+
"Harness/specs/workflows/WF-AUTO.md": "sha256-78d1be4bfbc6618acc75d09f1f19016d741552924958ca2739ba9f3fd05c4d19",
|
|
288
318
|
"Harness/specs/workflows/WF-KERNEL.md": "sha256-70d608b12ab977c5dfb7038fb7677123bd39f29fb645b3046abbde7fa28d69a7",
|
|
289
|
-
"Harness/specs/workflows/WF-MAX.md": "sha256-
|
|
290
|
-
"Harness/specs/workflows/WF-STATE.md": "sha256-
|
|
319
|
+
"Harness/specs/workflows/WF-MAX.md": "sha256-4584a0870138db80d507dcfcebb32f34dfb6c9a4a3b154faad15f621b66536e7",
|
|
320
|
+
"Harness/specs/workflows/WF-STATE.md": "sha256-7108775358b44229302d3271083b349648d44b1c61de89167e4e99346821bf2a",
|
|
291
321
|
"Harness/specs/workflows/WF.md": "sha256-d33e9ff55e67a34a862a896693cb55aeae8f73dd7d0ede561943674dd3e6d212",
|
|
292
322
|
"Harness/templates/ACCEPTANCE.template.md": "sha256-394a6c08b155b1d121f1d51da774f7988bdb891224c6d5f2ca2c131e8c95ffb3",
|
|
293
323
|
"Harness/templates/API_CONTRACT.template.md": "sha256-e11ec9866576624982f35e77359e3f4ef3aea3e3f6b5895f6cc5419d29699fc5",
|
|
@@ -305,12 +335,17 @@
|
|
|
305
335
|
".agents/skills/wf-auto-spark/SKILL.md": ".claude/skills/wf-auto-spark/SKILL.md",
|
|
306
336
|
".agents/skills/wf-auto/SKILL.md": ".claude/skills/wf-auto/SKILL.md",
|
|
307
337
|
".agents/skills/wf-browser/SKILL.md": ".claude/skills/wf-browser/SKILL.md",
|
|
338
|
+
".agents/skills/wf-command-create/SKILL.md": ".claude/skills/wf-command-create/SKILL.md",
|
|
308
339
|
".agents/skills/wf-help/SKILL.md": ".claude/skills/wf-help/SKILL.md",
|
|
309
340
|
".agents/skills/wf-learn/SKILL.md": ".claude/skills/wf-learn/SKILL.md",
|
|
310
341
|
".agents/skills/wf-max/SKILL.md": ".claude/skills/wf-max/SKILL.md",
|
|
311
342
|
".agents/skills/wf-readme/SKILL.md": ".claude/skills/wf-readme/SKILL.md",
|
|
312
343
|
".agents/skills/wf-remove/SKILL.md": ".claude/skills/wf-remove/SKILL.md",
|
|
313
344
|
".agents/skills/wf-review/SKILL.md": ".claude/skills/wf-review/SKILL.md",
|
|
345
|
+
".agents/skills/wf-task-archive/SKILL.md": ".claude/skills/wf-task-archive/SKILL.md",
|
|
346
|
+
".agents/skills/wf-task-list/SKILL.md": ".claude/skills/wf-task-list/SKILL.md",
|
|
347
|
+
".agents/skills/wf-task-record/SKILL.md": ".claude/skills/wf-task-record/SKILL.md",
|
|
348
|
+
".agents/skills/wf-ui/SKILL.md": ".claude/skills/wf-ui/SKILL.md",
|
|
314
349
|
".agents/skills/wf-update/SKILL.md": ".claude/skills/wf-update/SKILL.md",
|
|
315
350
|
".agents/skills/wf/SKILL.md": ".claude/skills/wf/SKILL.md",
|
|
316
351
|
".claude/agents/architect-manager.md": ".claude/agents/architect-manager.md",
|
|
@@ -335,12 +370,17 @@
|
|
|
335
370
|
".claude/commands/wf-auto-spark.md": ".claude/commands/wf-auto-spark.md",
|
|
336
371
|
".claude/commands/wf-auto.md": ".claude/commands/wf-auto.md",
|
|
337
372
|
".claude/commands/wf-browser.md": ".claude/commands/wf-browser.md",
|
|
373
|
+
".claude/commands/wf-command-create.md": ".claude/commands/wf-command-create.md",
|
|
338
374
|
".claude/commands/wf-help.md": ".claude/commands/wf-help.md",
|
|
339
375
|
".claude/commands/wf-learn.md": ".claude/commands/wf-learn.md",
|
|
340
376
|
".claude/commands/wf-max.md": ".claude/commands/wf-max.md",
|
|
341
377
|
".claude/commands/wf-readme.md": ".claude/commands/wf-readme.md",
|
|
342
378
|
".claude/commands/wf-remove.md": ".claude/commands/wf-remove.md",
|
|
343
379
|
".claude/commands/wf-review.md": ".claude/commands/wf-review.md",
|
|
380
|
+
".claude/commands/wf-task-archive.md": ".claude/commands/wf-task-archive.md",
|
|
381
|
+
".claude/commands/wf-task-list.md": ".claude/commands/wf-task-list.md",
|
|
382
|
+
".claude/commands/wf-task-record.md": ".claude/commands/wf-task-record.md",
|
|
383
|
+
".claude/commands/wf-ui.md": ".claude/commands/wf-ui.md",
|
|
344
384
|
".claude/commands/wf-update.md": ".claude/commands/wf-update.md",
|
|
345
385
|
".claude/commands/wf.md": ".claude/commands/wf.md",
|
|
346
386
|
".claude/rules/ecc/common.md": ".claude/rules/ecc/common.md",
|
|
@@ -351,12 +391,17 @@
|
|
|
351
391
|
".claude/skills/wf-auto-spark/SKILL.md": ".claude/skills/wf-auto-spark/SKILL.md",
|
|
352
392
|
".claude/skills/wf-auto/SKILL.md": ".claude/skills/wf-auto/SKILL.md",
|
|
353
393
|
".claude/skills/wf-browser/SKILL.md": ".claude/skills/wf-browser/SKILL.md",
|
|
394
|
+
".claude/skills/wf-command-create/SKILL.md": ".claude/skills/wf-command-create/SKILL.md",
|
|
354
395
|
".claude/skills/wf-help/SKILL.md": ".claude/skills/wf-help/SKILL.md",
|
|
355
396
|
".claude/skills/wf-learn/SKILL.md": ".claude/skills/wf-learn/SKILL.md",
|
|
356
397
|
".claude/skills/wf-max/SKILL.md": ".claude/skills/wf-max/SKILL.md",
|
|
357
398
|
".claude/skills/wf-readme/SKILL.md": ".claude/skills/wf-readme/SKILL.md",
|
|
358
399
|
".claude/skills/wf-remove/SKILL.md": ".claude/skills/wf-remove/SKILL.md",
|
|
359
400
|
".claude/skills/wf-review/SKILL.md": ".claude/skills/wf-review/SKILL.md",
|
|
401
|
+
".claude/skills/wf-task-archive/SKILL.md": ".claude/skills/wf-task-archive/SKILL.md",
|
|
402
|
+
".claude/skills/wf-task-list/SKILL.md": ".claude/skills/wf-task-list/SKILL.md",
|
|
403
|
+
".claude/skills/wf-task-record/SKILL.md": ".claude/skills/wf-task-record/SKILL.md",
|
|
404
|
+
".claude/skills/wf-ui/SKILL.md": ".claude/skills/wf-ui/SKILL.md",
|
|
360
405
|
".claude/skills/wf-update/SKILL.md": ".claude/skills/wf-update/SKILL.md",
|
|
361
406
|
".claude/skills/wf/SKILL.md": ".claude/skills/wf/SKILL.md",
|
|
362
407
|
".codex/config.toml": ".codex/config.toml",
|
|
@@ -384,12 +429,17 @@
|
|
|
384
429
|
".opencode/commands/wf-auto-spark.md": ".opencode/commands/wf-auto-spark.md",
|
|
385
430
|
".opencode/commands/wf-auto.md": ".opencode/commands/wf-auto.md",
|
|
386
431
|
".opencode/commands/wf-browser.md": ".opencode/commands/wf-browser.md",
|
|
432
|
+
".opencode/commands/wf-command-create.md": ".opencode/commands/wf-command-create.md",
|
|
387
433
|
".opencode/commands/wf-help.md": ".opencode/commands/wf-help.md",
|
|
388
434
|
".opencode/commands/wf-learn.md": ".opencode/commands/wf-learn.md",
|
|
389
435
|
".opencode/commands/wf-max.md": ".opencode/commands/wf-max.md",
|
|
390
436
|
".opencode/commands/wf-readme.md": ".opencode/commands/wf-readme.md",
|
|
391
437
|
".opencode/commands/wf-remove.md": ".opencode/commands/wf-remove.md",
|
|
392
438
|
".opencode/commands/wf-review.md": ".opencode/commands/wf-review.md",
|
|
439
|
+
".opencode/commands/wf-task-archive.md": ".opencode/commands/wf-task-archive.md",
|
|
440
|
+
".opencode/commands/wf-task-list.md": ".opencode/commands/wf-task-list.md",
|
|
441
|
+
".opencode/commands/wf-task-record.md": ".opencode/commands/wf-task-record.md",
|
|
442
|
+
".opencode/commands/wf-ui.md": ".opencode/commands/wf-ui.md",
|
|
393
443
|
".opencode/commands/wf-update.md": ".opencode/commands/wf-update.md",
|
|
394
444
|
".opencode/commands/wf.md": ".opencode/commands/wf.md",
|
|
395
445
|
".opencode/plugins/harness-wf-status.mjs": ".opencode/plugins/harness-wf-status.mjs",
|
|
@@ -399,6 +449,9 @@
|
|
|
399
449
|
"Harness/MEMORY.md": "Harness/MEMORY.md",
|
|
400
450
|
"Harness/PROGRESS.md": "Harness/PROGRESS.md",
|
|
401
451
|
"Harness/README.md": "Harness/README.md",
|
|
452
|
+
"Harness/a2a/role-graph.json": "Harness/a2a/role-graph.json",
|
|
453
|
+
"Harness/a2a/runtime-registry.json": "Harness/a2a/runtime-registry.json",
|
|
454
|
+
"Harness/a2a/skills/terminal-control.json": "Harness/a2a/skills/terminal-control.json",
|
|
402
455
|
"Harness/memory/agent-lessons-patterns.md": "memory/agent-lessons-patterns.md",
|
|
403
456
|
"Harness/memory/routes.md": "memory/routes.md",
|
|
404
457
|
"Harness/memory/startup-hints.md": "memory/startup-hints.md",
|
|
@@ -409,15 +462,19 @@
|
|
|
409
462
|
"Harness/research/PRD.md": "Harness/research/PRD.md",
|
|
410
463
|
"Harness/research/README.md": "Harness/research/README.md",
|
|
411
464
|
"Harness/research/research-results.md": "Harness/research/research-results.md",
|
|
465
|
+
"Harness/scripts/README.md": "Harness/scripts/README.md",
|
|
466
|
+
"Harness/scripts/a2a-terminal.mjs": "Harness/scripts/a2a-terminal.mjs",
|
|
412
467
|
"Harness/scripts/archive-tasks.mjs": "Harness/scripts/archive-tasks.mjs",
|
|
413
468
|
"Harness/scripts/context-budget.mjs": "Harness/scripts/context-budget.mjs",
|
|
414
469
|
"Harness/scripts/l2-cache-telemetry.mjs": "Harness/scripts/l2-cache-telemetry.mjs",
|
|
415
470
|
"Harness/scripts/scan-clean.mjs": "Harness/scripts/scan-clean.mjs",
|
|
471
|
+
"Harness/scripts/sync-host-global.mjs": "Harness/scripts/sync-host-global.mjs",
|
|
416
472
|
"Harness/scripts/task-state.mjs": "Harness/scripts/task-state.mjs",
|
|
417
473
|
"Harness/scripts/validate-harness.mjs": "Harness/scripts/validate-harness.mjs",
|
|
418
474
|
"Harness/scripts/wf-auto-update-prompt.mjs": "Harness/scripts/wf-auto-update-prompt.mjs",
|
|
419
475
|
"Harness/scripts/wf-remove.mjs": "Harness/scripts/wf-remove.mjs",
|
|
420
476
|
"Harness/scripts/wf-update-check.mjs": "Harness/scripts/wf-update-check.mjs",
|
|
477
|
+
"Harness/scripts/wf-update-runner.mjs": "Harness/scripts/wf-update-runner.mjs",
|
|
421
478
|
"Harness/settings.json": "Harness/settings.json",
|
|
422
479
|
"Harness/specs/guides/ECC-GUIDE.md": "Harness/specs/guides/ECC-GUIDE.md",
|
|
423
480
|
"Harness/specs/guides/SETUP.md": "Harness/specs/guides/SETUP.md",
|
|
@@ -431,6 +488,7 @@
|
|
|
431
488
|
"Harness/specs/protocols/TASK_ARCHIVE.md": "Harness/specs/protocols/TASK_ARCHIVE.md",
|
|
432
489
|
"Harness/specs/protocols/TDD-GUIDE.md": "Harness/specs/protocols/TDD-GUIDE.md",
|
|
433
490
|
"Harness/specs/runtime/agent-workflow.md": "Harness/specs/runtime/agent-workflow.md",
|
|
491
|
+
"Harness/specs/runtime/command-surface.json": "Harness/specs/runtime/command-surface.json",
|
|
434
492
|
"Harness/specs/runtime/context-loading.md": "Harness/specs/runtime/context-loading.md",
|
|
435
493
|
"Harness/specs/runtime/dispatch.md": "Harness/specs/runtime/dispatch.md",
|
|
436
494
|
"Harness/specs/runtime/subagents.md": "Harness/specs/runtime/subagents.md",
|
|
@@ -441,11 +499,11 @@
|
|
|
441
499
|
"Harness/specs/workflows/WF-MAX.md": "Harness/specs/workflows/WF-MAX.md",
|
|
442
500
|
"Harness/specs/workflows/WF-STATE.md": "Harness/specs/workflows/WF-STATE.md",
|
|
443
501
|
"Harness/specs/workflows/WF.md": "Harness/specs/workflows/WF.md",
|
|
444
|
-
"Harness/tasks/_template/ARTIFACTS.md": "Harness/tasks/_template/ARTIFACTS.md",
|
|
445
502
|
"Harness/tasks/_template/NAMING.md": "Harness/tasks/_template/NAMING.md",
|
|
446
|
-
"Harness/tasks/_template/NOTES.md": "Harness/tasks/_template/NOTES.md",
|
|
447
503
|
"Harness/tasks/_template/PLAN.md": "Harness/tasks/_template/PLAN.md",
|
|
504
|
+
"Harness/tasks/_template/PROBLEM.md": "Harness/tasks/_template/PROBLEM.md",
|
|
448
505
|
"Harness/tasks/_template/PROGRESS.md": "Harness/tasks/_template/PROGRESS.md",
|
|
506
|
+
"Harness/tasks/_template/REFERENCES.md": "Harness/tasks/_template/REFERENCES.md",
|
|
449
507
|
"Harness/tasks/_template/STATE.json": "Harness/tasks/_template/STATE.json",
|
|
450
508
|
"Harness/templates/ACCEPTANCE.template.md": "Harness/templates/ACCEPTANCE.template.md",
|
|
451
509
|
"Harness/templates/API_CONTRACT.template.md": "Harness/templates/API_CONTRACT.template.md",
|
|
@@ -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.
|
|
@@ -22,6 +22,11 @@ which returns this same table without loading `Harness/MEMORY.md` or entering WF
|
|
|
22
22
|
| `/wf-readme <task>` | workflow skill | `/wf-readme polish quickstart` | Preserve, merge, or improve README docs without trampling existing project documentation. |
|
|
23
23
|
| `/wf-update` | direct command | `/wf-update` | Check/apply Harness scaffold updates with safe file classification and conflict handling. |
|
|
24
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. |
|
|
29
|
+
| `/wf-ui` | direct command | `/wf-ui` | Start the local Harness backend and browser control panel. |
|
|
25
30
|
|
|
26
31
|
Source of truth: `Harness/README.md#Skill Commands` plus installed skills under
|
|
27
32
|
`.claude/skills/` (Claude Code and OpenCode adapters) or `.agents/skills/`
|
|
@@ -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,29 @@
|
|
|
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
|
+
- Includes a `graph` section: roots, dependency edges, block edges, and orphaned dependency warnings.
|
|
28
|
+
- Human-readable mode renders the graph with ASCII arrows: `from ──▶ to` (depends) and `from ▸▸ to` (blocks).
|
|
29
|
+
- If the command fails, report the error and do not retry.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Record a task into a Harness task capsule
|
|
3
|
+
---
|
|
4
|
+
# /wf-task-record
|
|
5
|
+
|
|
6
|
+
Record a task into a Harness task capsule. Do not invoke a skill or start WF mode.
|
|
7
|
+
|
|
8
|
+
## Classification
|
|
9
|
+
|
|
10
|
+
DIRECT command. Wraps `node Harness/scripts/task-state.mjs record`. Never loads Harness/MEMORY.md.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
/wf-task-record [<task-id>] [--title <slug>] [--note <text>] [--context <text>] [--new] [--create] [--status <status>] [--mode <mode>] [--text "description"]
|
|
15
|
+
|
|
16
|
+
- With <task-id>: record to that task (existing semantics).
|
|
17
|
+
- Without <task-id>: --title/--note/--context required. Deterministically matches open tasks; updates if unique match found; creates new if no match; fails if ambiguous unless --new.
|
|
18
|
+
- Never uses LLM or embeddings — slug + keyword overlap only.
|
|
19
|
+
|
|
20
|
+
## Execution
|
|
21
|
+
|
|
22
|
+
Run: `node Harness/scripts/task-state.mjs record [<task-id>] [--title <slug>] [--note <text>] [--context <text>] [--new] [--create] [--apply] [--text "..."] [--status <status>] [--mode <mode>] [--json]`
|
|
23
|
+
|
|
24
|
+
## Return
|
|
25
|
+
|
|
26
|
+
- Output of `node Harness/scripts/task-state.mjs record ... --json`
|
|
27
|
+
- If the command fails, report the error and do not retry.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Open the Harness browser control panel for task capsules, workflow graphs, agent peers, settings, and terminal observability
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /wf-ui
|
|
6
|
+
|
|
7
|
+
Start the Harness browser control panel directly. This is a direct command.
|
|
8
|
+
Do not invoke a skill, do not start WF mode, and do not dispatch agents.
|
|
9
|
+
|
|
10
|
+
Run from the project root:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
create-harness-vibe-coding wf-ui --project . --host 127.0.0.1 --port 0 --open
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
If the global binary is not available, use the package fallback:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npx create-harness-vibe-coding@0.8.19 wf-ui --project . --host 127.0.0.1 --port 0 --open
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Rules:
|
|
23
|
+
- Bind only to `127.0.0.1`.
|
|
24
|
+
- Use port `0` unless the user asks for a fixed port.
|
|
25
|
+
- Leave the server running until the user stops it.
|
|
26
|
+
- Return the local URL printed by the command.
|
|
@@ -22,7 +22,23 @@ targeted inspection.
|
|
|
22
22
|
|
|
23
23
|
## Flow
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Scope resolution is deterministic:
|
|
26
|
+
|
|
27
|
+
- Current project has `Harness/scripts/wf-update-check.mjs`: update the project
|
|
28
|
+
install from that script.
|
|
29
|
+
- A global runtime is discoverable from `Harness/.harness-version.globalDir`,
|
|
30
|
+
`HARNESS_GLOBAL_HOME`, or the default `~/.harness/create-harness-vibe-coding`:
|
|
31
|
+
update that runtime too, then sync its Claude/Codex/OpenCode host-global
|
|
32
|
+
copies.
|
|
33
|
+
- Current project has no Harness install: update only the global runtime and
|
|
34
|
+
host-global copies. Do not scaffold or modify the project unless the user
|
|
35
|
+
explicitly asks to install Harness there.
|
|
36
|
+
`Harness/scripts/wf-update-runner.mjs` implements this multi-scope routing.
|
|
37
|
+
Older installs that do not have the runner fall back to
|
|
38
|
+
`Harness/scripts/wf-update-check.mjs`.
|
|
39
|
+
|
|
40
|
+
1. Run `node Harness/scripts/wf-update-runner.mjs --json` first when present;
|
|
41
|
+
otherwise run `node Harness/scripts/wf-update-check.mjs --json`. Use the
|
|
26
42
|
`agent` block as the action plan. Preserve `agent.releaseHighlights` for the
|
|
27
43
|
user-facing update summary. Current updaters try npm
|
|
28
44
|
`create-harness-vibe-coding@latest` first, then the canonical GitHub source
|
|
@@ -33,9 +49,11 @@ targeted inspection.
|
|
|
33
49
|
starter files may be created, and checksum-matching legacy architecture can
|
|
34
50
|
move to `Harness/project/architecture.md`. Harness/README.md is merge-tier,
|
|
35
51
|
not PRESERVE.
|
|
36
|
-
3. If `agent.safeApplyCommand` is present, run
|
|
37
|
-
adopted metadata-only files
|
|
38
|
-
|
|
52
|
+
3. If `agent.safeApplyCommand` is present, run the runner apply path to apply
|
|
53
|
+
SAFE, NEW, and adopted metadata-only files across every discovered scope
|
|
54
|
+
before spending AI time on conflicts. Default multi-scope command:
|
|
55
|
+
`node Harness/scripts/wf-update-runner.mjs --apply-safe --json`. Single-scope
|
|
56
|
+
fallback command: `node Harness/scripts/wf-update-check.mjs --apply-safe`.
|
|
39
57
|
Framework-owned templates, commands, skills, agents, and scripts are
|
|
40
58
|
script-owned and should be overwritten by the updater after checksum
|
|
41
59
|
validation.
|
|
@@ -53,11 +71,38 @@ targeted inspection.
|
|
|
53
71
|
`--accept-local <file>`, `--accept-merged <file>`, or
|
|
54
72
|
`--accept-template <file>`; do not hand-edit `Harness/.harness-version`.
|
|
55
73
|
Ask the user only when the intent is ambiguous.
|
|
56
|
-
7. Run `node Harness/scripts/wf-update-
|
|
57
|
-
conflicts have script-recorded decisions.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
74
|
+
7. Run `node Harness/scripts/wf-update-runner.mjs --finalize --json` after all
|
|
75
|
+
conflicts have script-recorded decisions. Single-scope fallback:
|
|
76
|
+
`node Harness/scripts/wf-update-check.mjs --finalize`. Use strict `--apply` only when
|
|
77
|
+
the JSON plan has zero conflicts.
|
|
78
|
+
8. After update, sync and validate all machine surfaces:
|
|
79
|
+
```
|
|
80
|
+
node Harness/scripts/sync-host-global.mjs --json
|
|
81
|
+
node Harness/scripts/sync-host-global.mjs --apply --json
|
|
82
|
+
node Harness/scripts/validate-harness.mjs
|
|
83
|
+
node Harness/scripts/validate-harness.mjs --manifest-audit
|
|
84
|
+
node Harness/scripts/scan-clean.mjs --json
|
|
85
|
+
```
|
|
86
|
+
`sync-host-global.mjs` is a no-op for project-only installs. For global
|
|
87
|
+
installs it compares host-global files against the runtime sources listed in
|
|
88
|
+
`.harness-version.hostGlobal.targets`; missing or Harness-marked stale copies
|
|
89
|
+
are repaired by script, while user-looking files stay conflicts.
|
|
90
|
+
9. If the update reports "Already up to date" but files are missing (e.g.,
|
|
91
|
+
new commands not showing up on a platform), run:
|
|
92
|
+
```
|
|
93
|
+
node Harness/scripts/wf-update-runner.mjs --repair --json
|
|
94
|
+
node Harness/scripts/wf-update-runner.mjs --repair --apply-safe --json
|
|
95
|
+
node Harness/scripts/wf-update-runner.mjs --repair --finalize --json
|
|
96
|
+
node Harness/scripts/wf-update-check.mjs --repair --json
|
|
97
|
+
node Harness/scripts/wf-update-check.mjs --repair --apply-safe
|
|
98
|
+
node Harness/scripts/wf-update-check.mjs --repair --finalize
|
|
99
|
+
node Harness/scripts/sync-host-global.mjs --apply --json
|
|
100
|
+
node Harness/scripts/validate-harness.mjs --manifest-audit
|
|
101
|
+
```
|
|
102
|
+
`--repair` bypasses the version check and forces a full file diff against
|
|
103
|
+
the latest remote template. This catches files that were missed during a
|
|
104
|
+
previous partial update where the version was bumped but not all files
|
|
105
|
+
were written.
|
|
61
106
|
|
|
62
107
|
Codex users without a direct command surface: use `$wf-update` (skill path) or
|
|
63
108
|
`node Harness/scripts/wf-update-check.mjs`.
|