create-harness-vibe-coding 0.8.6 → 0.8.7

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 (38) hide show
  1. package/package.json +1 -1
  2. package/src/generator.js +30 -11
  3. package/src/index.js +129 -5
  4. package/templates/common/.claude/agents/reflector.md +35 -0
  5. package/templates/common/.claude/agents/verifier.md +5 -3
  6. package/templates/common/.claude/commands/wf-help.md +1 -2
  7. package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +10 -4
  8. package/templates/common/.claude/skills/wf/SKILL.md +7 -3
  9. package/templates/common/.claude/skills/wf-auto/SKILL.md +59 -107
  10. package/templates/common/.claude/skills/wf-auto-spark/SKILL.md +19 -17
  11. package/templates/common/.claude/skills/wf-max/SKILL.md +40 -21
  12. package/templates/common/.claude/skills/wf-update/SKILL.md +9 -4
  13. package/templates/common/.codex/config.toml +5 -0
  14. package/templates/common/.harness-version +36 -34
  15. package/templates/common/AGENTS.md +26 -25
  16. package/templates/common/CLAUDE.md +10 -9
  17. package/templates/common/Harness/ACCEPTANCE_PROTOCOL.md +12 -4
  18. package/templates/common/Harness/README.md +10 -11
  19. package/templates/common/Harness/WF-AUTO-SPARK.md +18 -1
  20. package/templates/common/Harness/WF-AUTO.md +518 -492
  21. package/templates/common/Harness/WF-MAX.md +284 -232
  22. package/templates/common/Harness/WF.md +47 -29
  23. package/templates/common/Harness/agent-workflow.md +108 -76
  24. package/templates/common/Harness/dispatch.md +96 -95
  25. package/templates/common/Harness/extension.md +1 -1
  26. package/templates/common/Harness/subagents.md +78 -56
  27. package/templates/common/Harness/tasks/_template/ARTIFACTS.md +1 -1
  28. package/templates/common/Harness/tasks/_template/NOTES.md +1 -1
  29. package/templates/common/Harness/tasks/_template/PLAN.md +53 -60
  30. package/templates/common/Harness/tasks/_template/PROGRESS.md +26 -29
  31. package/templates/common/MEMORY.md +26 -29
  32. package/templates/common/SETUP.md +1 -1
  33. package/templates/common/scripts/scan-clean.mjs +80 -41
  34. package/templates/common/scripts/validate-harness.mjs +101 -31
  35. package/templates/common/scripts/wf-remove.mjs +279 -278
  36. package/templates/common/scripts/wf-update-check.mjs +395 -195
  37. package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +1 -1
  38. package/templates/optional/skills/browser-e2e/Harness/workflows/browser-e2e.md +57 -21
@@ -1,18 +1,17 @@
1
1
  ---
2
2
  name: wf-max
3
- description: Use for /wf-max in Claude Code, $wf-max or /skills wf-max in Codex, or maximum-parallelism Harness work with CEO to manager to worker decomposition.
3
+ description: Use for /wf-max in Claude Code, $wf-max or /skills wf-max in Codex, or maximum-parallelism Harness work with WF strict-superset gates and CEO -> manager -> worker decomposition.
4
4
  ---
5
5
 
6
6
  # WF-MAX Adapter
7
7
 
8
- This skill is a thin tool adapter. The authoritative workflow lives in
9
- `Harness/WF-MAX.md`; do not duplicate or override it here.
8
+ The authoritative workflow lives in `Harness/WF-MAX.md`; this adapter only
9
+ routes and summarizes hard constraints.
10
10
 
11
11
  ## Invocation
12
12
 
13
- - Claude Code: use `/wf-max [task]` or select the `wf-max` skill.
14
- - Codex CLI or IDE: use `$wf-max` or `/skills` then choose `wf-max`.
15
- - Codex app may also list enabled skills in the `/` menu.
13
+ - Claude Code: `/wf-max [task]`
14
+ - Codex: `$wf-max` or `/skills` then choose `wf-max`
16
15
 
17
16
  ## Load
18
17
 
@@ -26,18 +25,38 @@ This skill is a thin tool adapter. The authoritative workflow lives in
26
25
 
27
26
  ## Rules
28
27
 
29
- WF-MAX is a three-layer architecture:
30
- 1. Global mode (`wf-max`)
31
- 2. Agent role (`ceo` | `manager` | `worker` | `reviewer`)
32
- 3. Dispatch permission (`writeSet`, `forbidden`, `verification`)
33
-
34
- - Top-level orchestrator is CEO (reads, plans, dispatches). Delegated Workers follow dispatch packet with explicit writeSet. Global mode ≠ every agent is CEO.
35
- - CEO: never edit source files directly. Spawn Workers with writeSet.
36
- - Worker: edit only files in dispatch writeSet. Outside writeSet blocked.
37
- - Manager: scope, review, coordinate. No source edits by default.
38
- - Reviewer: read and report only. No edits.
39
- - Use the D-GATE in `Harness/WF-MAX.md` before any implementation wave:
40
- dispatch table, self-audit, disjoint file claims, and reviewer plan.
41
- - Use real subagents when the runtime supports them; otherwise record a
42
- bounded-pass fallback in `Harness/tasks/<task-id>/PLAN.md`.
43
- - Keep `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat` current.
28
+ WF-MAX is a WF strict superset: every WF role, gate, and acceptance rule still
29
+ applies, then execution expands through:
30
+
31
+ 1. Global mode: `wf-max`
32
+ 2. Agent role: `ceo | manager | worker | reviewer | verifier | reflector`
33
+ 3. Dispatch permission: `writeSet`, `forbidden`, `verification`
34
+
35
+ - CEO reads, plans, dispatches, synthesizes, and writes task state only. CEO
36
+ never edits production source.
37
+ - Workers edit only the dispatch `writeSet`; outside write set is blocked.
38
+ - Managers coordinate and synthesize. Reviewers read/report only.
39
+ - D-GATE is mandatory before implementation waves: dispatch table, AC IDs,
40
+ disjoint file claims, self-audit, and reviewer plan.
41
+ - Final acceptance requires verifier evidence, cross-review, and reflector PASS.
42
+
43
+ ## Fan-Out Discipline
44
+
45
+ - Use as many useful subagents as the runtime safely allows.
46
+ - Codex capacity may be configured through official `agents.max_threads` and
47
+ `agents.max_depth`; generated Harness config defaults to
48
+ `.codex/config.toml` with `max_threads = 12` and `max_depth = 1`.
49
+ - Close completed agents before declaring the pool exhausted.
50
+ - If Codex remains bottlenecked, ask the user before raising
51
+ `agents.max_threads` above the scaffold default. Do not silently edit project
52
+ or global Codex config.
53
+ - Keep `agents.max_depth = 1` unless the user explicitly approves recursive
54
+ delegation.
55
+ - If the current runtime is exhausted, overflow to the other CLI with explicit
56
+ dispatch packets: Codex -> `claude -p`; Claude -> available Codex CLI such as
57
+ `codex exec`.
58
+ - Do not rely on undocumented config, environment variables, forked/derived
59
+ conversations, Codex++, local patches, or third-party forks as stable ways to
60
+ remove subagent limits.
61
+ - Fall back to bounded role passes only when native subagents and cross-CLI
62
+ overflow are unavailable; record the fallback in the task PLAN.
@@ -23,13 +23,18 @@ description: Use for /wf-update in Claude Code, $wf-update or /skills wf-update
23
23
  `agent` block as the action plan.
24
24
  2. Preserve all PRESERVE files. Never overwrite user task, memory, research,
25
25
  README, package, or architecture files.
26
- 3. If `agent.safeApplyCommand` is present, run it to apply SAFE and NEW files
27
- before spending AI time on conflicts. Default command:
26
+ 3. If `agent.safeApplyCommand` is present, run it to apply SAFE, NEW, and
27
+ adopted metadata-only files before spending AI time on conflicts. Default command:
28
28
  `node Harness/scripts/wf-update-check.mjs --apply-safe`.
29
29
  4. For every `agent.aiMergeRequired` entry, compare the local file with
30
30
  `templateHint` or `remoteUrl`, then choose merge, keep-local, or
31
- overwrite-from-template. Ask the user only when the intent is ambiguous.
32
- 5. Use strict `--apply` only when the JSON plan has zero conflicts.
31
+ overwrite-from-template. Record the decision through the script with
32
+ `--accept-local <file>`, `--accept-merged <file>`, or
33
+ `--accept-template <file>`; do not hand-edit `Harness/.harness-version`.
34
+ Ask the user only when the intent is ambiguous.
35
+ 5. Run `node Harness/scripts/wf-update-check.mjs --finalize` after all
36
+ conflicts have script-recorded decisions. Use strict `--apply` only when the
37
+ JSON plan has zero conflicts.
33
38
  6. After update, run the validator and then scan-clean.
34
39
 
35
40
  ## Return
@@ -0,0 +1,5 @@
1
+ [agents]
2
+ # Harness WF-MAX default: higher than Codex's unset default of 6.
3
+ # Keep depth at 1 unless the user explicitly approves recursive delegation.
4
+ max_threads = 12
5
+ max_depth = 1
@@ -1,21 +1,21 @@
1
1
  {
2
- "generator": "0.8.6",
3
- "generated": "2026-07-02T10:59:32.891Z",
2
+ "generator": "0.8.7",
3
+ "generated": "2026-07-03T06:45:47.925Z",
4
4
  "options": [],
5
5
  "autoCheck": true,
6
6
  "source": "https://raw.githubusercontent.com/zingspark/create-harness-vibe-coding/main/templates/common/",
7
7
  "checksums": {
8
- ".agents/skills/subagent-orchestrator/SKILL.md": "sha256-d17b1e49aa8e3125b17621242f620ac89c10692fac853bf0a682a87f660d86da",
8
+ ".agents/skills/subagent-orchestrator/SKILL.md": "sha256-7d87c7687f6fad27dc9941c05c5d513d3cc286f675055fc9aee2b144d1757cfd",
9
9
  ".agents/skills/tdd/SKILL.md": "sha256-1e2ec0b54a5cf5b071800b0f2e5672a128a42471e16f70f00bb4c0a07a3617cb",
10
- ".agents/skills/wf-auto-spark/SKILL.md": "sha256-b07a3570e232cf47b179b9774daed4c00d7756ccce9e2339556d3544f92cf02b",
11
- ".agents/skills/wf-auto/SKILL.md": "sha256-ac3177dc7c5f40f99017b79dbb71722325f75c2e608f20aca780fd874c9755ee",
10
+ ".agents/skills/wf-auto-spark/SKILL.md": "sha256-a00cde5842e5f1d6d69826c59972ebdcfbc2c291b43fc37523e42ec02e4788e4",
11
+ ".agents/skills/wf-auto/SKILL.md": "sha256-482a126f1c883e37500b7a4f66e188781175074f1cd9a109a4f5243ca381185e",
12
12
  ".agents/skills/wf-learn/SKILL.md": "sha256-7f3e1ee0aa83cbb76707698d0c26b703ad5c74b2df95a7dc4d751939a4ba05b2",
13
- ".agents/skills/wf-max/SKILL.md": "sha256-9b37cc3385f6d1a285b617169e91fbf71ffec76135b7b46ec1de2fe94ca220da",
13
+ ".agents/skills/wf-max/SKILL.md": "sha256-17843beecd69cd6a82d55115b9d99f5c94d02199426f0bcacbd64aecbbf8a7ca",
14
14
  ".agents/skills/wf-readme/SKILL.md": "sha256-4d34ee3b6b305fa2581f5d8cb31e9152759f3df8bf8fa08efbb43782f128bdcd",
15
15
  ".agents/skills/wf-remove/SKILL.md": "sha256-21ebef1a1fa8645d094c8ceeca78b33f036b6c42cda6db8be425d38d9e91af75",
16
16
  ".agents/skills/wf-review/SKILL.md": "sha256-cc6d536ec6de25546a0ba96e686f195da50ed11bc03763a76ef46d77243d3537",
17
- ".agents/skills/wf-update/SKILL.md": "sha256-d57cd89e271b2af63b6a1264af552a30f8d44959cf4782b42f0ab082a90be9cf",
18
- ".agents/skills/wf/SKILL.md": "sha256-70766bd2cb02bc489b5cc021797af62596a005d444a026abb511054a1a820a67",
17
+ ".agents/skills/wf-update/SKILL.md": "sha256-d5b02d4aec2d593c0783b2a9a92878dcd1b38f28281611cf166114f4c063b56d",
18
+ ".agents/skills/wf/SKILL.md": "sha256-07a065a82084f4c9ce03233f31f5e2d4fb197c161cbb87c4a688ad703cc880c5",
19
19
  ".claude/agents/architect-manager.md": "sha256-d98c3a2d044d5216d9bcde217b4359b1c33f5be152416e242807652ddcd2868b",
20
20
  ".claude/agents/architect.md": "sha256-61cea40c8c3e01bd53f3ad642ef734850fdb931497e7ee20552ea7a8b4e7b70c",
21
21
  ".claude/agents/context-master.md": "sha256-32746ef283ab1b98574f302c5ed0429743aa77a0558fa78a4183cadf16a82469",
@@ -26,54 +26,55 @@
26
26
  ".claude/agents/implementer.md": "sha256-86a32182798480b09bcc87e47605a1247f15d5ab91b58dfedb6496e3b0335618",
27
27
  ".claude/agents/memory-master.md": "sha256-443bd69895ce6ed8ab449876bbf91b2c536d7a21c6d72dcccbb227964355ac92",
28
28
  ".claude/agents/planner.md": "sha256-7d1911adbd3a4a6b82713fb0e2358bf01d3f7f3b8aeccd38bd51cb445b1fb7a9",
29
+ ".claude/agents/reflector.md": "sha256-11a373c5866f6a9a0c1773aefb7adb18233197a083e15cd70bda4f927bbc756f",
29
30
  ".claude/agents/researcher.md": "sha256-402fef14dee8f495dc9ddfad5af3ad233d254326b49b831f604014a8cb6d0beb",
30
31
  ".claude/agents/review-manager.md": "sha256-fb8fbd6c6624279cc97aa3dbd50ec20c150ff4a2d195788bc8537d98699cc41b",
31
32
  ".claude/agents/reviewer.md": "sha256-2913b7799fcd8e162f01ae0de09a41ec7083de5f0cae3abcd4ecc62acc675a6b",
32
33
  ".claude/agents/tdd-guide.md": "sha256-d7c7ad3f61f6a6dc73cfa54ffe7e215ded0421a3058654a01731d1a5d5f4c336",
33
34
  ".claude/agents/test-writer.md": "sha256-724866d627f193caaf060ec6af97b1d54c2df2d5c5f937e78fc3c53c7f798b16",
34
- ".claude/agents/verifier.md": "sha256-6d8ca8bd13d7bb7680423875269e407c06aca60334df44d9230a015aabd0a8d0",
35
- ".claude/commands/wf-help.md": "sha256-a11a0ecfb524ad51eff0237980ecdbc3e77ba260d5348a1a19c58232137769fa",
35
+ ".claude/agents/verifier.md": "sha256-d501a505b97e679daa89ee1d910ee185edc42ba57d58203e962b1c5a844c0872",
36
+ ".claude/commands/wf-help.md": "sha256-b74bfb49d0f372e0a0e2b531e79c2fbeef850a79342aae44096ce384d970bca1",
36
37
  ".claude/rules/ecc/common.md": "sha256-52818d2a2e10bdafc059844f1e9e7d5f7bc2c9113c5ed0b890142c2e179e8b72",
37
38
  ".claude/settings.json": "sha256-16a8631502d609ee9164e83537421d5f4c35de5cbc99b0be638f545daa785357",
38
- ".claude/skills/subagent-orchestrator/SKILL.md": "sha256-d17b1e49aa8e3125b17621242f620ac89c10692fac853bf0a682a87f660d86da",
39
+ ".claude/skills/subagent-orchestrator/SKILL.md": "sha256-7d87c7687f6fad27dc9941c05c5d513d3cc286f675055fc9aee2b144d1757cfd",
39
40
  ".claude/skills/tdd/SKILL.md": "sha256-1e2ec0b54a5cf5b071800b0f2e5672a128a42471e16f70f00bb4c0a07a3617cb",
40
- ".claude/skills/wf-auto-spark/SKILL.md": "sha256-b07a3570e232cf47b179b9774daed4c00d7756ccce9e2339556d3544f92cf02b",
41
- ".claude/skills/wf-auto/SKILL.md": "sha256-ac3177dc7c5f40f99017b79dbb71722325f75c2e608f20aca780fd874c9755ee",
41
+ ".claude/skills/wf-auto-spark/SKILL.md": "sha256-a00cde5842e5f1d6d69826c59972ebdcfbc2c291b43fc37523e42ec02e4788e4",
42
+ ".claude/skills/wf-auto/SKILL.md": "sha256-482a126f1c883e37500b7a4f66e188781175074f1cd9a109a4f5243ca381185e",
42
43
  ".claude/skills/wf-learn/SKILL.md": "sha256-7f3e1ee0aa83cbb76707698d0c26b703ad5c74b2df95a7dc4d751939a4ba05b2",
43
- ".claude/skills/wf-max/SKILL.md": "sha256-9b37cc3385f6d1a285b617169e91fbf71ffec76135b7b46ec1de2fe94ca220da",
44
+ ".claude/skills/wf-max/SKILL.md": "sha256-17843beecd69cd6a82d55115b9d99f5c94d02199426f0bcacbd64aecbbf8a7ca",
44
45
  ".claude/skills/wf-readme/SKILL.md": "sha256-4d34ee3b6b305fa2581f5d8cb31e9152759f3df8bf8fa08efbb43782f128bdcd",
45
46
  ".claude/skills/wf-remove/SKILL.md": "sha256-21ebef1a1fa8645d094c8ceeca78b33f036b6c42cda6db8be425d38d9e91af75",
46
47
  ".claude/skills/wf-review/SKILL.md": "sha256-cc6d536ec6de25546a0ba96e686f195da50ed11bc03763a76ef46d77243d3537",
47
- ".claude/skills/wf-update/SKILL.md": "sha256-d57cd89e271b2af63b6a1264af552a30f8d44959cf4782b42f0ab082a90be9cf",
48
- ".claude/skills/wf/SKILL.md": "sha256-70766bd2cb02bc489b5cc021797af62596a005d444a026abb511054a1a820a67",
49
- ".codex/config.toml": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
50
- "AGENTS.md": "sha256-d5604c83b9d8f51a5e65d764e15523324259cc3cb26a85799907821eee9d0e93",
51
- "CLAUDE.md": "sha256-b494721cf31c5afcb64bf4e1fc9f1172266d138b9f75557049665ba3442a9ad6",
52
- "Harness/ACCEPTANCE_PROTOCOL.md": "sha256-2bd51e1c65eadaa1c8ef6c46ba8bb6ee3cadc4510b9e1277a1831dc3b9fea4ad",
48
+ ".claude/skills/wf-update/SKILL.md": "sha256-d5b02d4aec2d593c0783b2a9a92878dcd1b38f28281611cf166114f4c063b56d",
49
+ ".claude/skills/wf/SKILL.md": "sha256-07a065a82084f4c9ce03233f31f5e2d4fb197c161cbb87c4a688ad703cc880c5",
50
+ ".codex/config.toml": "sha256-e0af046982c6dbc535c52b19610d16ce9aba08a17dd29f11b74cc8dad8371145",
51
+ "AGENTS.md": "sha256-cd932767a214d28fea252e75595a01e5dc73f27f94f6aec8d0dfbb48391f4ec4",
52
+ "CLAUDE.md": "sha256-c10231055d3344824ce459f2af8987b62cc51b1a1ad3b25136bf1eac78cea90b",
53
+ "Harness/ACCEPTANCE_PROTOCOL.md": "sha256-db6c1813e60f2a2dd0a4c6f347aeee66e5afea27f53f76f9105f9ab98662fbbc",
53
54
  "Harness/AGENT_ISOLATION.md": "sha256-54abcd4fdaf8810ab42da8a7f2ab5b5f5305f105f93e8764081b10edce053506",
54
55
  "Harness/DEBUG_PROTOCOL.md": "sha256-ed80de0e3e1a40dbb9fd0bdead9174f1650e1833027f3d7fb4bb5884142e03f7",
55
56
  "Harness/ECC-GUIDE.md": "sha256-136e60327813609516c6c10e2a5254d7d300e1631ba80d33fb375fdf3800ca7e",
56
57
  "Harness/HARNESS_BRIDGE.md": "sha256-681dbeca9a590bbeb3a0c01b044e40e642e6d640632d8611064eb897ada8a48d",
57
- "Harness/MEMORY.md": "sha256-038217c5407a526dca3bd186ec4880f266fa6a8a31d52ebcd27d55aa11f32bb0",
58
+ "Harness/MEMORY.md": "sha256-9a46cafa70e545a989c394e28bc6b97f345836d15e723f81f70a524cf0f204cb",
58
59
  "Harness/MEMORY_PROTOCOL.md": "sha256-c24c232442a50f1dc7183480fc3b51c6171e32d3ba6648c056797ccd69fea717",
59
- "Harness/README.md": "sha256-95f5d0bd9e250669845c9c5e0724fdb474b1d84ec90d97588501b15f5ef183e9",
60
- "Harness/SETUP.md": "sha256-490fdac08d5cff4e3b3de4c2155aac18a67f305aa659187923d8a54a4a759873",
60
+ "Harness/README.md": "sha256-d8a62d584386f4c5b4778d0b0570fc59fd1ece33b22b45257ac4b882dd7926df",
61
+ "Harness/SETUP.md": "sha256-7931ef782120e9b7ebadc531800b70f4a735ea5c8375e60bdd4b8895c2140260",
61
62
  "Harness/TDD-GUIDE.md": "sha256-602084530fd0dea7499a023ce75738351e5d97a0c222b64d405f36da6b59a162",
62
- "Harness/WF-AUTO-SPARK.md": "sha256-48cc08e1a78cd4abb2ae9c2807ef1ac9a09544eb954220b9087b2032fabbd690",
63
- "Harness/WF-AUTO.md": "sha256-d31b545249588a69c73e5e0ad8b1286ece1a53d9cd0e93b8ba0ae6dac6fdd119",
64
- "Harness/WF-MAX.md": "sha256-aab1f168c00a5fb54b0eb75843218f722374d02b98e8fb14658f9f8d41cda348",
65
- "Harness/WF.md": "sha256-b24d969e867927a004c92923ed4cbbcfb173a17ccd095166077e6cb5232c644d",
66
- "Harness/agent-workflow.md": "sha256-fb602865cef26c63d60cecc390f02b34831924059ef9fa5e31c7920a9fac33b6",
63
+ "Harness/WF-AUTO-SPARK.md": "sha256-61f4ec08e31661b981531438d7b5049eaf5ba2fd5a6b534abfc3405c4b43b78e",
64
+ "Harness/WF-AUTO.md": "sha256-dcd1fb1f8d4f1dbf6fbf892330de8c17cc9b39c3b9d2f0a9a892860ff551d33d",
65
+ "Harness/WF-MAX.md": "sha256-e7aaf9e9fffd33d57c3d0da5bb19c8872d20b5c916212b33bcd51e6430a82c8a",
66
+ "Harness/WF.md": "sha256-2bb26312a19590834ae9f5b9fd2859cc0aef75a60d8be9bf349fdd6e32981064",
67
+ "Harness/agent-workflow.md": "sha256-e5c87f7f462f21618a4e58a313dacf4aa327f9a6a3b3018793ca063bfe1010c9",
67
68
  "Harness/context-loading.md": "sha256-eff7f332045e02636ab1466eb9a663b7bb183eb23f90f02d18e020d6e0ed58d5",
68
- "Harness/dispatch.md": "sha256-a9293dcc3c44cc16b5cfc717e460db98a5bc0bcfd3805c0f614de0e6e7c33c4f",
69
+ "Harness/dispatch.md": "sha256-00a5abfb2b54368e8b7f8e2515ac16ca7a1cf7aa012a9e939c85437a3e990632",
69
70
  "Harness/extension.md": "sha256-ff93616aaa5ad232b6a32ac6c98bb1a3a08ee5da2ddad92eb9090f5b8e9e3e47",
70
71
  "Harness/lifecycle.md": "sha256-a2d025e52f3b4412d8439083aca0d2cf7a4458ad0e30de4fc6465f990379190f",
71
72
  "Harness/research/README.md": "sha256-956c154df01cb9376972eb8b88bb3be0fe4e2dda802a72457c0126e3476fa755",
72
- "Harness/scripts/scan-clean.mjs": "sha256-7f693faf762c9c8e7657143d651f7c8369ed4823f18babe21daec58a55025593",
73
- "Harness/scripts/validate-harness.mjs": "sha256-31dc33729034656d24ec163ff310164e2fc77289212b2278ab4a2f3d4b9294dc",
74
- "Harness/scripts/wf-remove.mjs": "sha256-944e5da9dc1abcfb8f410bca743c3f5fbee2bc74d09b97e04ceaaf53da0cb9f1",
75
- "Harness/scripts/wf-update-check.mjs": "sha256-d14ce08f4c05ba118362a56a4b7d5965b114bc2b15a023c08e21d57f32b2cf93",
76
- "Harness/subagents.md": "sha256-16255092bab9011bb67359b4399d27ab292c14a717e67123e8a76e40e8669661",
73
+ "Harness/scripts/scan-clean.mjs": "sha256-4c3440590da71ba9eba1758e03242daba9dad6949970b98dd55060a5235676dc",
74
+ "Harness/scripts/validate-harness.mjs": "sha256-de62f2379c2f266c40652150c82d8e09fed0d324ba237a56adc6190daae892e6",
75
+ "Harness/scripts/wf-remove.mjs": "sha256-3f3b0e9ce361af17c9aeb031e0ee01f2f98fb14a8a9124e369138b3bc47b9fd5",
76
+ "Harness/scripts/wf-update-check.mjs": "sha256-9524abf80e0f20bc426fac96c19f0550aa7843d4cf52b006cb2e5efe4a6d2993",
77
+ "Harness/subagents.md": "sha256-178156916556061ad655dbfcc1fa5f4268fd44b91f10e606a7bbcb589f5c154f",
77
78
  "Harness/templates/ACCEPTANCE.template.md": "sha256-394a6c08b155b1d121f1d51da774f7988bdb891224c6d5f2ca2c131e8c95ffb3",
78
79
  "Harness/templates/API_CONTRACT.template.md": "sha256-e11ec9866576624982f35e77359e3f4ef3aea3e3f6b5895f6cc5419d29699fc5",
79
80
  "Harness/templates/PLAYWRIGHT_SPEC.template.ts": "sha256-bef5f3bbae833b31eeb8cab04fc5a5ff355e9eda4ba6909db70f83b403607115",
@@ -104,6 +105,7 @@
104
105
  ".claude/agents/implementer.md": ".claude/agents/implementer.md",
105
106
  ".claude/agents/memory-master.md": ".claude/agents/memory-master.md",
106
107
  ".claude/agents/planner.md": ".claude/agents/planner.md",
108
+ ".claude/agents/reflector.md": ".claude/agents/reflector.md",
107
109
  ".claude/agents/researcher.md": ".claude/agents/researcher.md",
108
110
  ".claude/agents/review-manager.md": ".claude/agents/review-manager.md",
109
111
  ".claude/agents/reviewer.md": ".claude/agents/reviewer.md",
@@ -1,31 +1,32 @@
1
- # AGENTS.md
2
-
3
- Entry point for coding agents. This project uses the Harness scaffold a 0-1 product workflow contract.
4
-
5
- ## Startup
6
-
7
- Read `CLAUDE.md` first, then `Harness/MEMORY.md`, then `Harness/README.md`.
8
- Do not bulk-read `Harness/`. Let `Harness/README.md#Load By Task` route you.
9
-
10
- ## WF-MAX Role Contract (READ FIRST)
11
-
12
- `/wf-max` activates WF-MAX global mode. Top-level orchestrator is **CEO** reads, plans, dispatches. Delegated Workers follow dispatch packet (writeSet, forbidden, verification). **Global mode every agent is CEO.**
13
-
14
- | ALLOWED (W0 CEO) | FORBIDDEN (always on source) |
15
- |---|---|
16
- | Read Harness docs, CLAUDE.md | Edit / Write / MultiEdit |
17
- | Grep/Glob for scoping | Bash (except `ls`/`dir`/`tree`/`git`) |
18
- | Agent spawn (ONE message) | Deep source reads → delegate to Worker |
19
- | Write PLAN.md / PROGRESS.md | Sequential spawn (AP6) |
20
-
21
- **Tempted to edit source? STOP. Spawn a Worker with explicit writeSet.**
22
-
23
- ## Key Commands
24
-
1
+ # AGENTS.md
2
+
3
+ Entry point for coding agents. This project uses the Harness scaffold - a 0-1 product workflow contract.
4
+
5
+ ## Startup
6
+
7
+ Read `CLAUDE.md` first, then `Harness/MEMORY.md`, then `Harness/README.md`.
8
+ Do not bulk-read `Harness/`. Let `Harness/README.md#Load By Task` route you.
9
+
10
+ ## WF-MAX Role Contract (READ FIRST)
11
+
12
+ `/wf-max` activates WF-MAX global mode. Top-level orchestrator is **CEO** - reads, plans, dispatches. Delegated Workers follow dispatch packet (writeSet, forbidden, verification). **Global mode != every agent is CEO.**
13
+ Closeout still requires reviewer cross-review, verifier evidence, and reflector PASS before final acceptance.
14
+
15
+ | ALLOWED (W0 CEO) | FORBIDDEN (always on source) |
16
+ |---|---|
17
+ | Read Harness docs, CLAUDE.md | Edit / Write / MultiEdit |
18
+ | Grep/Glob for scoping | Bash (except `ls`/`dir`/`tree`/`git`) |
19
+ | Agent spawn (ONE message) | Deep source reads -> delegate to Worker |
20
+ | Write PLAN.md / PROGRESS.md | Sequential spawn (AP6) |
21
+
22
+ **Tempted to edit source? STOP. Spawn a Worker with explicit writeSet.**
23
+
24
+ ## Key Commands
25
+
25
26
  | Command | Purpose |
26
27
  |---------|---------|
27
28
  | `/wf-help` | Direct help table for all Harness WF commands |
28
- | `/wf-max [task]` | Maximum parallelism: CEO→Manager→Worker hierarchy (three-layer architecture: mode / agent role / dispatch permission) |
29
+ | `/wf-max [task]` | WF strict superset: complete role chain plus maximum parallelism (CEO -> Manager -> Worker, current runtime subagents first, cross-CLI overflow) |
29
30
  | `/wf-review [focus]` | Cross-model peer review (use OTHER CLI) |
30
31
  | `/wf <task>` | Standard workflow mode |
31
32
  | `/wf-auto` | Perpetual auto-optimization |
@@ -16,16 +16,17 @@ This repository dogfoods the generated Harness scaffold. Scaffold source files l
16
16
  |---|---|
17
17
  | Read Harness docs, CLAUDE.md | Edit / Write / MultiEdit |
18
18
  | Grep/Glob for scoping | Bash (except `ls`/`dir`/`tree`/`git`) |
19
- | Agent spawn (ONE message) | Deep source reads delegate to Worker |
19
+ | Agent spawn (ONE message) | Deep source reads -> delegate to Worker |
20
20
  | Write PLAN.md / PROGRESS.md | Sequential spawn (AP6) |
21
21
 
22
22
  **Tempted to edit source? STOP. Spawn a Worker with explicit writeSet.**
23
23
 
24
24
  - `Harness/MEMORY.md` is the memory/resource router: agents, skills, durable memories, and cross-session lessons. Follow its registrations when selecting agents/skills or recording memory.
25
25
  - `Harness/README.md` is the task router. For every request, check `Harness/README.md#Load By Task` and `Harness/README.md#Skill Commands`; invoke via `/wf-*` skills or `$wf-*` skills.
26
- - `Harness/PROGRESS.md` is the global task index. Load at session start to see active task and task history.
27
- - If work spans more than one step, create a task capsule from `Harness/tasks/_template/` and update `Harness/tasks/<task-id>/PROGRESS.md`.
28
- - Subagents are readers and reporters. Only the main agent writes to `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md`.
26
+ - `Harness/PROGRESS.md` is the global task index. Load at session start to see active task and task history.
27
+ - If work spans more than one step, create a task capsule from `Harness/tasks/_template/` and update `Harness/tasks/<task-id>/PROGRESS.md`.
28
+ - Keep task records compact: PLAN holds goal, decisions, scope, risks; PROGRESS holds status/next, changes, verification. Link logs or outputs instead of pasting them.
29
+ - Subagents are readers and reporters. Only the main agent writes to `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md`.
29
30
  - Invoke multi-agent work via `subagent-orchestrator` and `Harness/subagents.md`. Update harness via `/wf-update` (see `.claude/skills/wf-update/SKILL.md`).
30
31
  - For memory writing, dispatch `memory-master`. For context analysis, dispatch `context-master`.
31
32
  - Never bulk-read `Harness/`; route through `Harness/README.md` and `Harness/MEMORY.md`.
@@ -36,7 +37,7 @@ This repository dogfoods the generated Harness scaffold. Scaffold source files l
36
37
  - You must have **>=95% confidence** in user intent before writing implementation code.
37
38
  - If confidence is below 95%, stop and ask up to 3 blocking questions.
38
39
  - If multiple valid approaches exist and the choice affects architecture, scope, stack, or user-facing behavior, present trade-offs instead of picking silently.
39
- - State assumptions before implementation and record durable assumptions, decisions, blockers, handoffs, and verification evidence in `Harness/tasks/<task-id>/PLAN.md`.
40
+ - State assumptions before implementation and record only durable assumptions, decisions, blockers, handoffs, and verification evidence in `Harness/tasks/<task-id>/PLAN.md`.
40
41
  - If something is unclear, stop. Name what is unclear and ask instead of guessing.
41
42
  - Before asserting a fact about the codebase, read the file that proves it. If you cannot cite the file and line, do not assert.
42
43
 
@@ -75,14 +76,14 @@ This repository dogfoods the generated Harness scaffold. Scaffold source files l
75
76
  - **Tool reflection trigger**: record a lightweight reflection when the same tool/use pattern fails 3+ times, or when a better command pattern/environment fix is found. Write it newest-first in `Harness/memory/tool-usage-reflections.md`.
76
77
  - **User correction trigger**: record a lightweight preference/correction when the user asks to remember it, or when the user corrects the same assumption/pattern 2+ times. Write it newest-first in `Harness/memory/user-corrections-preferences.md`.
77
78
  - **Agent lesson trigger**: record reusable lessons from review/debug loops in `Harness/memory/agent-lessons-patterns.md` when they would prevent recurrence.
78
- - **WF auto-trigger**: before WF closeout, dispatch `context-master` then `memory-master` (or use `/wf-learn`). The old "3x same failure" auto-trigger is unreliable make this a mandatory closeout gate.
79
+ - **WF auto-trigger**: before WF closeout, dispatch `context-master` then `memory-master` (or use `/wf-learn`). The old "3x same failure" auto-trigger is unreliable - make this a mandatory closeout gate.
79
80
  - **Context threshold trigger**: when context approaches ~85% of the window, dispatch `context-master` to analyze and write a non-blocking compression suggestion to `Harness/tasks/<task-id>/PROGRESS.md#Heartbeat`.
80
81
  - **Closeout trigger**: during WF closeout, dispatch `context-master` to extract durable knowledge, then `memory-master` to consolidate into `Harness/memory/*`.
81
82
  - Never record secrets, credentials, tokens, or private data in memory.
82
83
 
83
84
  ## 7. Mode Constraints
84
85
 
85
- - Never call `EnterPlanMode` delegate planning to `planner` subagents (see `Harness/WF.md`).
86
- - Never write code directly in `/wf` or `/wf-max` CEO mode delegate all implementation to Workers via dispatch packets with explicit writeSet.
87
- - **WF-MAX three-layer architecture**: global mode (`wf-max`) != agent role (`ceo|manager|worker|reviewer`). Workers follow dispatch packet (writeSet, forbidden, verification). Missing role/writeSet means the controller must not proceed with source edits.
86
+ - Never call `EnterPlanMode` - delegate planning to `planner` subagents (see `Harness/WF.md`).
87
+ - Never write code directly in `/wf` or `/wf-max` CEO mode - delegate all implementation to Workers via dispatch packets with explicit writeSet.
88
+ - **WF-MAX three-layer architecture**: global mode (`wf-max`) != agent role (`ceo|manager|worker|verifier|reviewer|reflector`). Workers follow dispatch packet (writeSet, forbidden, verification). Missing role/writeSet means the controller must not proceed with source edits.
88
89
  - **Enforcement**: `.claude/settings.json` denies `EnterPlanMode` via the `deny` list. WF-MAX role/writeSet compliance is not hook-enforced; it is maintained through dispatch packets, independent review, validation evidence, and the task capsule. Role contract is in [Section 1a](#1a-wf-max-role-contract-active-only-when-wf-max-invoked) - read it first.
@@ -16,8 +16,10 @@ Context Load
16
16
  -> Test Plan
17
17
  -> Implementation Dispatch
18
18
  -> Independent Validation
19
- -> Review
20
- -> Debug
19
+ -> Cross-Review
20
+ -> Reflector PASS
21
+ -> Final Acceptance
22
+ -> Debug/iterate if needed
21
23
  -> Memory
22
24
  ```
23
25
 
@@ -25,8 +27,8 @@ Mode differences are organizational only:
25
27
 
26
28
  | Mode | Organization | Same Acceptance Flow |
27
29
  | --- | --- | --- |
28
- | `/wf` / `$wf` | Small team, mostly serial | yes |
29
- | `/wf-max` / `$wf-max` | CEO -> Manager -> Worker hierarchy | yes |
30
+ | `/wf` / `$wf` | Complete role chain | yes |
31
+ | `/wf-max` / `$wf-max` | Complete role chain plus CEO -> Manager -> Worker fan-out | yes |
30
32
  | `/wf-auto` / `$wf-auto` | Repeating optimization loop | yes, per cycle |
31
33
 
32
34
  ## Gates
@@ -42,6 +44,7 @@ These gates apply before implementation unless the user explicitly asks for a sm
42
44
  | IMPLEMENT-GATE | Implementer may not modify acceptance truth files except through Change Request. | dispatch write set and forbidden set |
43
45
  | VALIDATION-GATE | Validator must be independent and must validate AC IDs against running behavior. | validation report with evidence matrix |
44
46
  | REVIEW-GATE | Reviewer reads PRD, AC, diff, and run evidence directly. | findings with AC IDs |
47
+ | REFLECT-GATE | Reflector reads verifier evidence and reviewer findings before final acceptance. | PASS, RETURN_TO_DEBUG, or BLOCKED verdict |
45
48
 
46
49
  Truth files are:
47
50
 
@@ -55,6 +58,8 @@ Truth files are:
55
58
  ## Mini PRD Minimum
56
59
 
57
60
  Every task that changes behavior needs a Mini PRD. It can live in `Harness/research/PRD.md`, a feature doc, or `Harness/tasks/<task-id>/PLAN.md`.
61
+ For routine scoped work, keep the Mini PRD compact. Do not expand into a long
62
+ product brief unless scope, risk, or user-facing behavior requires it.
58
63
 
59
64
  Minimum fields:
60
65
 
@@ -71,6 +76,9 @@ Minimum fields:
71
76
  ## Acceptance Criteria Format
72
77
 
73
78
  Each AC must be independently testable and use a stable ID:
79
+ Default to 1-3 concise ACs in the task PLAN. Expand to full UI/API contracts,
80
+ test plan, and AC-by-AC validation matrix only for browser-visible,
81
+ API/integration, security/data-loss, cross-module, or other high-risk behavior.
74
82
 
75
83
  ```markdown
76
84
  ## AC-001: Empty phone number cannot request verification code
@@ -18,6 +18,7 @@ For the full phase contract, load [lifecycle.md](lifecycle.md).
18
18
  - If the task does not clearly match a row below, search by keywords before loading more docs.
19
19
  - project files are the only durable communication channel; chat/subagent transcript state is non-authoritative.
20
20
  - Important assumptions, decisions, blockers, evidence, and handoffs must be written to the current task's `tasks/<id>/PROGRESS.md` and `tasks/<id>/PLAN.md`, the current feature doc, `Harness/MEMORY.md`, or `Harness/memory/*` as appropriate.
21
+ - Task records are compact by default: PLAN holds goal, decisions, scope, risks; PROGRESS holds status/next, changes, verification. Do not paste command logs, full transcripts, or broad PRDs when a link or one-line evidence entry is enough.
21
22
  - Build commands, git conventions, and release notes belong in root `README.md`, not `CLAUDE.md`.
22
23
  - README rewrites are optional project-doc work. Use `wf-readme` and preserve existing public docs unless the user approves a broader restructure.
23
24
  - Code architecture belongs in [architecture.md](architecture.md) or the current feature doc, not `CLAUDE.md`.
@@ -63,15 +64,14 @@ Routing priority: if a request explicitly says `/wf <task>`, `$wf`, `wf mode`, `
63
64
  | Need MVP/spec | PRD, MVP, scope, requirement, acceptance, non-goal | [research/PRD.md](research/PRD.md), [ACCEPTANCE_PROTOCOL.md](ACCEPTANCE_PROTOCOL.md) | Mini PRD with AC IDs and verifiable acceptance criteria |
64
65
  | Need architecture or boundaries | architecture, boundary, layer, port, adapter, dependency | [architecture.md](architecture.md) | layer map, ports, constraints |
65
66
  | Need WF command help | /wf-help, wf help, command list, list wf commands | `.claude/commands/wf-help.md` | direct command table; no skill invocation |
66
- | Need WF mode | wf, /wf, $wf, wf mode, workflow mode, wk mode, long task, difficult, stuck, repeated failure | [WF.md](WF.md), [PROGRESS.md](PROGRESS.md), the current task `tasks/<id>/PROGRESS.md` and `tasks/<id>/PLAN.md` | exploration plan, second plan, heartbeat, recovery loop; explicit WF/WK loads subagent docs immediately |
67
+ | Need WF mode | wf, /wf, $wf, wf mode, workflow mode, wk mode, long task, difficult, stuck, repeated failure | [WF.md](WF.md), [PROGRESS.md](PROGRESS.md), the current task `tasks/<id>/PROGRESS.md` and `tasks/<id>/PLAN.md` | complete role chain, heartbeat, recovery loop; explicit WF/WK loads subagent docs immediately |
67
68
  | Need perpetual auto-optimization | /wf-auto, $wf-auto, wf auto, auto mode, never stop, self-improve, continuous optimize | [WF-AUTO.md](WF-AUTO.md), [subagents.md](subagents.md), [dispatch.md](dispatch.md) | perpetual loop, bounded ticks, optional wf-auto-only hook exception, 8-angle scan, spark search, intent checkpoint, evidence ledger; CEO never writes code |
68
- | Need perpetual inspiration mode | /wf-auto-spark, $wf-auto-spark, wf auto spark, spark mode, external inspiration, discover mode, never stop | [WF-AUTO-SPARK.md](WF-AUTO-SPARK.md), [WF-AUTO.md](WF-AUTO.md), [subagents.md](subagents.md), [dispatch.md](dispatch.md) | roadmap-anchored: North Star + milestones; external spark search; 50% deviation guard; never auto-stops |
69
- | Need WF-MAX mode | /wf-max, $wf-max, wf max, maximum parallelism, CEO, Manager, Worker, fan-out | [WF-MAX.md](WF-MAX.md), [subagents.md](subagents.md), [dispatch.md](dispatch.md) | CEO-only dispatch, W0 fan-out, D-GATE, wave evidence |
69
+ | Need perpetual inspiration mode | /wf-auto-spark, $wf-auto-spark, wf auto spark, spark mode, external inspiration, discover mode, never stop | [WF-AUTO-SPARK.md](WF-AUTO-SPARK.md), [WF-AUTO.md](WF-AUTO.md), [subagents.md](subagents.md), [dispatch.md](dispatch.md) | roadmap-anchored: North Star + milestones; external spark search; <=50% deviation guard; never auto-stops |
70
+ | Need WF-MAX mode | /wf-max, $wf-max, wf max, maximum parallelism, CEO, Manager, Worker, fan-out | [WF-MAX.md](WF-MAX.md), [subagents.md](subagents.md), [dispatch.md](dispatch.md) | WF strict superset: complete role chain plus maximum fan-out, current runtime subagents first, cross-CLI overflow when available |
70
71
  | Need peer review | /wf-review, $wf-review, peer review, second opinion, cross-check, stuck | `.claude/skills/wf-review/SKILL.md`, `.agents/skills/wf-review/SKILL.md`, `Harness/README.md` | cross-model multi-dimension review with severity classification |
71
72
  | Adding harness to existing project | existing project, onboarding, migrate, bootstrap, preserve, conflict | [extension.md](extension.md), [PROGRESS.md](PROGRESS.md), root `README.md` and package/CI files | discovered project facts, preserved config, manual registration plan |
72
73
  | README optimization | README, docs, quickstart, install docs, architecture diagram, command table, documentation polish | root `README.md`, `.claude/skills/wf-readme/SKILL.md`, [PROGRESS.md](PROGRESS.md), [architecture.md](architecture.md) as needed | approved README mode, preserved sections, proposed diff plan |
73
74
  | Need implementation plan | plan, task, write set, verify, milestone, progress | [PROGRESS.md](PROGRESS.md), the current task `tasks/<id>/PROGRESS.md` and `tasks/<id>/PLAN.md`, [agent-workflow.md](agent-workflow.md), [ACCEPTANCE_PROTOCOL.md](ACCEPTANCE_PROTOCOL.md) | tasks, AC IDs, write set, verification commands |
74
- | Browser E2E testing or automation | /wf-browser, browser, e2e, web automation, form fill, screenshot verify, page test, browser test, Playwright AI, Browser Use, CDP | browser-e2e workflow, [HARNESS_BRIDGE.md](HARNESS_BRIDGE.md), wf-browser skill, Browser Use skill | UI/API contract, CLI commands, screenshots, traces, validation matrix |
75
75
  | Optional workflow installed | workflow, optional, ui-ux-review, github-pr-review, python-backend, ts-react-frontend | matching `workflows/*.md` (if installed), [extension.md](extension.md) | workflow-specific evidence, commands, fallback path |
76
76
  | Need durable memory or reflection | memory, remember, preference, correction, tool failure, lesson, reflection, scenario memory | [MEMORY.md](MEMORY.md), [MEMORY_PROTOCOL.md](MEMORY_PROTOCOL.md), `Harness/memory/tool-usage-reflections.md`, `Harness/memory/user-corrections-preferences.md`, `Harness/memory/agent-lessons-patterns.md` | concise newest-first memory entry, scenario memory hint, or no-op rationale |
77
77
  | Need subagents | subagent, role pack, context, inject, return format, orchestrator, isolation | [subagents.md](subagents.md), [context-loading.md](context-loading.md), [dispatch.md](dispatch.md), [AGENT_ISOLATION.md](AGENT_ISOLATION.md) | controller plan, role-specific context pack, isolation-aware dispatch pack |
@@ -86,8 +86,8 @@ Routing priority: if a request explicitly says `/wf <task>`, `$wf`, `wf mode`, `
86
86
  - Move phases in order unless the user asks for a fast lane.
87
87
  - Use `/wf <task>` in Claude Code, `$wf` in Codex, `/wf-max [task]` or `$wf-max`, `wf mode`, `workflow mode`, or `wk mode` when a task is long, difficult, uncertain, multi-file, or repeatedly failing.
88
88
  - Use `/wf-auto` for perpetual self-directed optimization that never stops until 8-angle exhaustion.
89
- - **WF-MAX Role Contract**: Three-layer architecture global mode (`wf-max`), agent role (`ceo|manager|worker|reviewer`), dispatch permission (`writeSet`, `forbidden`, `verification`). CEO never writes source code. Workers edit only dispatch.writeSet. Compliance is checked through dispatch packets, independent review, validation evidence, and task capsules. See `CLAUDE.md` §1a.
90
- - **WF-REVIEW Anti-Self-Review**: Must invoke the OTHER CLI (CodexClaude). Same-model simulation is forbidden.
89
+ - **WF-MAX Role Contract**: Three-layer architecture: global mode (`wf-max`), agent role (`ceo|manager|worker|verifier|reviewer|reflector`), dispatch permission (`writeSet`, `forbidden`, `verification`). CEO never writes source code. Workers edit only dispatch.writeSet. Compliance is checked through dispatch packets, independent review, validation evidence, and task capsules. See `CLAUDE.md#1a`.
90
+ - **WF-REVIEW Anti-Self-Review**: Must invoke the OTHER CLI (Codex -> Claude, or Claude -> Codex). Same-model simulation is forbidden.
91
91
  - WF-MAX has no runtime hook state. The durable state is the task capsule, dispatch table, review findings, and validation evidence. The only runtime hook exception in Harness is the optional `/wf-auto` bounded tick hook described in `WF-AUTO.md`.
92
92
  - Do not code before PRD-GATE, AC-GATE, CONTRACT-GATE, and TEST-GATE are satisfied or explicitly compressed into a documented fast lane.
93
93
  - PRD-derived Acceptance Criteria are the source of truth. Code, tests, reviews, validation, debug, and memory must trace to AC IDs.
@@ -102,7 +102,7 @@ Routing priority: if a request explicitly says `/wf <task>`, `$wf`, `wf mode`, `
102
102
  - In WF Max mode, D-GATE (Dispatch Table + Self-Audit Checklist) is mandatory before W2 implementation dispatch.
103
103
  - Do not add stack-specific agents or skills without following `extension.md`.
104
104
  - Do not close work without tests or recorded manual verification.
105
- - Do not mark work `Verified` until evidence is recorded in the current task's `tasks/<id>/PROGRESS.md` and `tasks/<id>/PLAN.md` or the feature doc.
105
+ - Do not mark work `Verified` until evidence is recorded, cross-review has passed, and reflector verdict is PASS.
106
106
  - Run `node Harness/scripts/validate-harness.mjs` for install-complete scaffold structure; run `node Harness/scripts/validate-harness.mjs --strict` only after bootstrap resolves project-fact placeholders and before release.
107
107
  - If a doc still has `{{...}}`, treat that section as a template, not project fact.
108
108
 
@@ -134,13 +134,12 @@ Routing priority: if a request explicitly says `/wf <task>`, `$wf`, `wf mode`, `
134
134
 
135
135
  | Claude Code | Codex | Purpose |
136
136
  |---|---|---|
137
- | `/wf <task>` | `$wf <task>` | Long-task workflow: explore -> plan -> implement -> review -> verify |
138
- | `/wf-max [task]` | `$wf-max [task]` | Maximum parallelism: CEO -> Manager -> Worker hierarchy |
137
+ | `/wf <task>` | `$wf <task>` | Complete role chain: plan, research/docs, architecture, test, implement, validation, cross-review, reflector, acceptance |
138
+ | `/wf-max [task]` | `$wf-max [task]` | WF strict superset with maximum parallelism: CEO -> Manager -> Worker, cross-CLI overflow |
139
139
  | `/wf-auto` | `$wf-auto` | Perpetual auto-optimization: never stops until 8-angle exhaustion |
140
- | `/wf-auto-spark` | `$wf-auto-spark` | Perpetual inspiration: spark search, roadmap-anchored, 50% deviation guard, never auto-stops |
140
+ | `/wf-auto-spark` | `$wf-auto-spark` | Perpetual inspiration: spark search, roadmap-anchored, <=50% deviation guard, never auto-stops |
141
141
  | `/wf-review [focus]` | `$wf-review [focus]` | Cross-model peer review via Codex <-> Claude |
142
142
  | `/wf-learn` | `$wf-learn` | Force learning cycle: context-master -> memory-master |
143
- | `/wf-browser [task]` | `$wf-browser [task]` | AI-driven browser automation for E2E testing |
144
143
  | `/wf-readme [task]` | `$wf-readme [task]` | README preservation, merge, and documentation improvement workflow |
145
144
  | `/wf-update` | `$wf-update` | Script-driven harness update: fetch + compare + apply |
146
145
  | `/wf-remove` | `$wf-remove` | Safe harness removal: auto-delete SAFE, confirm MODIFIED, preserve USER DATA |
@@ -16,6 +16,23 @@ Spark mode replaces the 8-angle internal scan with EXTERNAL inspiration search.
16
16
 
17
17
  But perpetual search without direction = drift. The **Roadmap** is the anchor.
18
18
 
19
+ ## Inherited Execution Chain
20
+
21
+ WF-AUTO-SPARK inherits WF-AUTO and WF constraints. External spark search replaces discovery only; it does not replace acceptance, implementation, review, verification, reflection, or evidence.
22
+
23
+ Every accepted spark candidate must re-enter the same per-cycle chain:
24
+
25
+ ```text
26
+ spark search -> Value Gate -> deviation check -> Mini PRD -> AC IDs
27
+ -> test/validation plan -> implementer -> verifier -> cross-review
28
+ -> reflector PASS -> evidence ledger -> next spark cycle
29
+ ```
30
+
31
+ Spark searchers are read-only. Any implementation must use the dispatch packet
32
+ from `Harness/dispatch.md` with explicit write set, forbidden truth files, AC
33
+ IDs, and verification commands. A candidate with no verifier evidence or no
34
+ reflector PASS is not accepted, even if the idea is valuable.
35
+
19
36
  ## Startup: Roadmap Declaration
20
37
 
21
38
  Before first spark cycle, CEO MUST declare a roadmap. This is written to `Harness/tasks/auto/SPARK-ROADMAP.md`.
@@ -79,7 +96,7 @@ STARTUP: Declare roadmap (North Star + Milestones) → user confirms
79
96
  │ ↓ │
80
97
  │ IMPLEMENT: Bounded cycle (≤3 files, ≤50 lines net) │
81
98
  │ ↓ │
82
- REVIEW + VERIFY: Same two-gate review as WF-AUTO
99
+ VERIFY + CROSS-REVIEW + REFLECTOR PASS
83
100
  │ ↓ │
84
101
  │ VALUE REFLECTION: CEO writes in PROGRESS.md │
85
102
  │ "Driven by [source]. Matters because [reason]. │