create-harness-vibe-coding 0.8.13 → 0.8.17

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 (133) hide show
  1. package/CHANGELOG.md +174 -0
  2. package/README-CN.md +110 -107
  3. package/README.md +93 -44
  4. package/package.json +2 -1
  5. package/src/generator.js +609 -489
  6. package/src/index.js +5 -5
  7. package/templates/common/.claude/agents/architect-manager.md +1 -0
  8. package/templates/common/.claude/agents/architect.md +2 -1
  9. package/templates/common/.claude/agents/codebase-explorer.md +1 -0
  10. package/templates/common/.claude/agents/context-master.md +2 -1
  11. package/templates/common/.claude/agents/debugger.md +1 -0
  12. package/templates/common/.claude/agents/docs-researcher.md +2 -1
  13. package/templates/common/.claude/agents/explore-manager.md +1 -0
  14. package/templates/common/.claude/agents/implement-manager.md +1 -0
  15. package/templates/common/.claude/agents/implementer.md +1 -0
  16. package/templates/common/.claude/agents/memory-master.md +2 -1
  17. package/templates/common/.claude/agents/planner.md +3 -2
  18. package/templates/common/.claude/agents/reflector.md +1 -0
  19. package/templates/common/.claude/agents/researcher.md +1 -0
  20. package/templates/common/.claude/agents/review-manager.md +1 -0
  21. package/templates/common/.claude/agents/reviewer.md +2 -1
  22. package/templates/common/.claude/agents/task-scribe.md +1 -0
  23. package/templates/common/.claude/agents/tdd-guide.md +5 -4
  24. package/templates/common/.claude/agents/test-writer.md +6 -5
  25. package/templates/common/.claude/agents/verifier.md +1 -0
  26. package/templates/common/.claude/commands/wf-auto-spark.md +16 -0
  27. package/templates/common/.claude/commands/wf-auto.md +16 -0
  28. package/templates/{optional/skills/browser-e2e/.opencode → common/.claude}/commands/wf-browser.md +3 -2
  29. package/templates/common/.claude/commands/wf-help.md +9 -5
  30. package/templates/common/.claude/commands/wf-learn.md +16 -0
  31. package/templates/common/.claude/commands/wf-max.md +20 -0
  32. package/templates/common/.claude/commands/wf-readme.md +16 -0
  33. package/templates/common/.claude/commands/wf-remove.md +16 -0
  34. package/templates/common/.claude/commands/wf-review.md +16 -0
  35. package/templates/common/.claude/commands/wf-update.md +68 -10
  36. package/templates/common/.claude/commands/wf.md +16 -0
  37. package/templates/common/.claude/rules/ecc/common.md +6 -5
  38. package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +12 -6
  39. package/templates/common/.claude/skills/tdd/SKILL.md +5 -5
  40. package/templates/common/.claude/skills/wf/SKILL.md +13 -5
  41. package/templates/common/.claude/skills/wf-agents-docs/SKILL.md +119 -0
  42. package/templates/common/.claude/skills/wf-auto/SKILL.md +27 -7
  43. package/templates/common/.claude/skills/wf-auto-spark/SKILL.md +12 -5
  44. package/templates/common/.claude/skills/wf-browser/SKILL.md +176 -0
  45. package/templates/common/.claude/skills/wf-help/SKILL.md +30 -0
  46. package/templates/common/.claude/skills/wf-learn/SKILL.md +6 -0
  47. package/templates/common/.claude/skills/wf-max/SKILL.md +43 -14
  48. package/templates/common/.claude/skills/wf-readme/SKILL.md +8 -2
  49. package/templates/common/.claude/skills/wf-remove/SKILL.md +6 -0
  50. package/templates/common/.claude/skills/wf-review/SKILL.md +10 -3
  51. package/templates/common/.claude/skills/wf-update/SKILL.md +41 -4
  52. package/templates/common/.codex/config.toml +3 -5
  53. package/templates/common/.harness-version +326 -131
  54. package/templates/common/.opencode/agents/architect-manager.md +8 -1
  55. package/templates/common/.opencode/agents/architect.md +2 -1
  56. package/templates/common/.opencode/agents/codebase-explorer.md +1 -0
  57. package/templates/common/.opencode/agents/context-master.md +2 -1
  58. package/templates/common/.opencode/agents/debugger.md +1 -0
  59. package/templates/common/.opencode/agents/docs-researcher.md +2 -1
  60. package/templates/common/.opencode/agents/explore-manager.md +11 -1
  61. package/templates/common/.opencode/agents/implement-manager.md +6 -3
  62. package/templates/common/.opencode/agents/implementer.md +1 -0
  63. package/templates/common/.opencode/agents/memory-master.md +2 -1
  64. package/templates/common/.opencode/agents/planner.md +3 -2
  65. package/templates/common/.opencode/agents/reflector.md +1 -0
  66. package/templates/common/.opencode/agents/researcher.md +1 -0
  67. package/templates/common/.opencode/agents/review-manager.md +6 -2
  68. package/templates/common/.opencode/agents/reviewer.md +2 -1
  69. package/templates/common/.opencode/agents/task-scribe.md +1 -0
  70. package/templates/common/.opencode/agents/tdd-guide.md +5 -4
  71. package/templates/common/.opencode/agents/test-writer.md +6 -5
  72. package/templates/common/.opencode/agents/verifier.md +1 -0
  73. package/templates/common/.opencode/commands/wf-auto-spark.md +3 -2
  74. package/templates/common/.opencode/commands/wf-auto.md +3 -2
  75. package/templates/common/.opencode/commands/wf-browser.md +16 -0
  76. package/templates/common/.opencode/commands/wf-help.md +9 -5
  77. package/templates/common/.opencode/commands/wf-learn.md +3 -2
  78. package/templates/common/.opencode/commands/wf-max.md +12 -6
  79. package/templates/common/.opencode/commands/wf-readme.md +3 -2
  80. package/templates/common/.opencode/commands/wf-remove.md +3 -2
  81. package/templates/common/.opencode/commands/wf-review.md +3 -2
  82. package/templates/common/.opencode/commands/wf-update.md +68 -10
  83. package/templates/common/.opencode/commands/wf.md +3 -2
  84. package/templates/common/CLAUDE.md +15 -13
  85. package/templates/common/Harness/MEMORY.md +24 -21
  86. package/templates/common/Harness/README.md +50 -47
  87. package/templates/common/Harness/ownership.manifest.json +878 -0
  88. package/templates/common/Harness/{architecture.md → project/architecture.md} +1 -1
  89. package/templates/common/Harness/research/README.md +3 -3
  90. package/templates/common/Harness/scripts/archive-tasks.mjs +12 -220
  91. package/templates/common/Harness/scripts/context-budget.mjs +95 -0
  92. package/templates/common/Harness/scripts/l2-cache-telemetry.mjs +703 -0
  93. package/templates/common/Harness/scripts/scan-clean.mjs +16 -12
  94. package/templates/common/Harness/scripts/task-state.mjs +889 -0
  95. package/templates/common/Harness/scripts/validate-harness.mjs +553 -191
  96. package/templates/common/Harness/scripts/wf-remove.mjs +61 -35
  97. package/templates/common/Harness/scripts/wf-update-check.mjs +358 -45
  98. package/templates/common/Harness/settings.json +43 -0
  99. package/templates/common/Harness/{ECC-GUIDE.md → specs/guides/ECC-GUIDE.md} +4 -4
  100. package/templates/common/Harness/{SETUP.md → specs/guides/SETUP.md} +34 -37
  101. package/templates/common/Harness/{extension.md → specs/guides/extension.md} +3 -3
  102. package/templates/common/Harness/{lifecycle.md → specs/guides/lifecycle.md} +2 -2
  103. package/templates/common/Harness/specs/protocols/TASK_ARCHIVE.md +76 -0
  104. package/templates/common/Harness/{agent-workflow.md → specs/runtime/agent-workflow.md} +6 -6
  105. package/templates/common/Harness/{context-loading.md → specs/runtime/context-loading.md} +85 -21
  106. package/templates/common/Harness/{dispatch.md → specs/runtime/dispatch.md} +4 -3
  107. package/templates/common/Harness/{subagents.md → specs/runtime/subagents.md} +19 -10
  108. package/templates/common/Harness/{WF-AUTO-SPARK.md → specs/workflows/WF-AUTO-SPARK.md} +2 -2
  109. package/templates/common/Harness/{WF-AUTO.md → specs/workflows/WF-AUTO.md} +12 -7
  110. package/templates/common/Harness/{WF-KERNEL.md → specs/workflows/WF-KERNEL.md} +11 -1
  111. package/templates/common/Harness/{WF-MAX.md → specs/workflows/WF-MAX.md} +40 -7
  112. package/templates/common/Harness/specs/workflows/WF-STATE.md +141 -0
  113. package/templates/common/Harness/{WF.md → specs/workflows/WF.md} +12 -1
  114. package/templates/common/README.md +8 -6
  115. package/templates/common/memory/startup-hints.md +19 -17
  116. package/templates/common/opencode.json +1 -0
  117. package/templates/optional/catalog.json +2 -9
  118. package/templates/optional/skills/github-pr-review/.claude/skills/github-pr-review/SKILL.md +1 -1
  119. package/templates/optional/skills/python-backend/.claude/skills/python-backend/SKILL.md +1 -1
  120. package/templates/optional/skills/ts-react-frontend/.claude/skills/ts-react-frontend/SKILL.md +1 -1
  121. package/templates/optional/skills/ui-ux-review/.claude/skills/ui-ux-review/SKILL.md +1 -1
  122. package/templates/common/Harness/TASK_ARCHIVE.md +0 -56
  123. package/templates/common/Harness/WF-STATE.md +0 -83
  124. package/templates/optional/skills/browser-e2e/.claude/skills/browser-e2e/SKILL.md +0 -42
  125. package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +0 -194
  126. package/templates/optional/skills/browser-e2e/Harness/workflows/browser-e2e.md +0 -119
  127. /package/templates/common/Harness/{ACCEPTANCE_PROTOCOL.md → specs/protocols/ACCEPTANCE_PROTOCOL.md} +0 -0
  128. /package/templates/common/Harness/{AGENT_ISOLATION.md → specs/protocols/AGENT_ISOLATION.md} +0 -0
  129. /package/templates/common/Harness/{DEBUG_PROTOCOL.md → specs/protocols/DEBUG_PROTOCOL.md} +0 -0
  130. /package/templates/common/Harness/{HARNESS_BRIDGE.md → specs/protocols/HARNESS_BRIDGE.md} +0 -0
  131. /package/templates/common/Harness/{MEMORY_PROTOCOL.md → specs/protocols/MEMORY_PROTOCOL.md} +0 -0
  132. /package/templates/common/Harness/{TDD-GUIDE.md → specs/protocols/TDD-GUIDE.md} +0 -0
  133. /package/templates/common/Harness/{WF-AUTO-ANGLES.md → specs/workflows/WF-AUTO-ANGLES.md} +0 -0
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Use to isolate a failing command, reproduce the smallest failing path, and propose the narrowest fix.
3
4
  mode: subagent
4
5
  permission:
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Use to verify official documentation, APIs, SDK behavior, config options, version changes, limits, error semantics, and examples before implementation.
3
4
  mode: subagent
4
5
  permission:
@@ -13,7 +14,7 @@ You are a documentation verification agent for this project harness.
13
14
  Load first:
14
15
 
15
16
  - `Harness/research/README.md`
16
- - `Harness/architecture.md` when boundaries may change
17
+ - `Harness/project/architecture.md` when boundaries may change
17
18
  - `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md` when available
18
19
 
19
20
  Inputs you must receive:
@@ -1,11 +1,21 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: WF-MAX Manager for W0 exploration wave. Spawns 5-10 read-only researchers/explorers, synthesizes findings, reports to CEO. Read-only + Agent spawn; no Edit/Write.
3
4
  mode: subagent
4
5
  permission:
6
+ task:
7
+ "*": deny
8
+ "codebase-explorer": allow
9
+ "researcher": allow
10
+ "docs-researcher": allow
11
+ "explore": allow
12
+ "scout": allow
5
13
  edit: deny
6
14
  bash:
7
15
  "*": deny
8
- "git *": allow
16
+ "git status*": allow
17
+ "git diff*": allow
18
+ "git log*": allow
9
19
  "ls *": allow
10
20
  "dir *": allow
11
21
  "tree *": allow
@@ -1,13 +1,16 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: WF-MAX Manager for W2 implementation wave. Spawns 5-7 implementers (one file_claim each), merges results, reports to CEO. Agent spawn + synthesis only; does NOT write code directly.
3
4
  mode: subagent
4
5
  permission:
6
+ task:
7
+ "*": deny
8
+ "implementer": allow
5
9
  edit: deny
6
10
  bash:
7
11
  "*": deny
8
- "git *": allow
9
- "node *": allow
10
- "npm *": allow
12
+ "git status*": allow
13
+ "git diff*": allow
11
14
  websearch: deny
12
15
  webfetch: deny
13
16
  ---
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Use to implement the smallest change inside a declared write set after tests or manual checks are defined.
3
4
  mode: subagent
4
5
  permission:
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Use when a repeated failure, user correction, or WF recovery loop triggers memory writing; also use during WF closeout for consolidation. Writes to Harness/memory/*, Harness/MEMORY.md, and cross-project global memory.
3
4
  mode: subagent
4
5
  permission:
@@ -15,7 +16,7 @@ You are a memory management agent for this project harness. You own durable memo
15
16
  Load first:
16
17
 
17
18
  - `Harness/MEMORY.md`
18
- - `Harness/MEMORY_PROTOCOL.md`
19
+ - `Harness/specs/protocols/MEMORY_PROTOCOL.md`
19
20
  - `Harness/memory/tool-usage-reflections.md`
20
21
  - `Harness/memory/user-corrections-preferences.md`
21
22
  - `Harness/memory/agent-lessons-patterns.md`
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Use to split a goal into tasks, dependencies, write sets, verification steps, and a Parallel Dispatch table before multi-step work.
3
4
  mode: subagent
4
5
  permission:
@@ -16,8 +17,8 @@ You are a planning agent for this project harness.
16
17
  Load first:
17
18
 
18
19
  - `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md` when available
19
- - `Harness/lifecycle.md`
20
- - `Harness/dispatch.md`
20
+ - `Harness/specs/guides/lifecycle.md`
21
+ - `Harness/specs/runtime/dispatch.md`
21
22
  - current PRD or feature doc if present
22
23
 
23
24
  Rules:
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Use after verification and cross-review to synthesize findings, detect unresolved risk, and decide whether work may enter final acceptance.
3
4
  mode: subagent
4
5
  permission:
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Use for product, market, competitor, open-source, dependency, pricing, policy, or ecosystem research before PRD and architecture decisions.
3
4
  mode: subagent
4
5
  permission:
@@ -1,13 +1,17 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: WF-MAX Manager for W2R review wave. Spawns 3-4 parallel reviewers (spec/code/security/perf), deduplicates findings, assigns severity, reports to CEO. Read-only + Agent spawn; no Edit/Write.
3
4
  mode: subagent
4
5
  permission:
6
+ task:
7
+ "*": deny
8
+ "reviewer": allow
5
9
  edit: deny
6
10
  bash:
7
11
  "*": deny
8
- "git *": allow
12
+ "git status*": allow
9
13
  "git diff *": allow
10
- "node *": allow
14
+ "git diff*": allow
11
15
  websearch: deny
12
16
  webfetch: deny
13
17
  ---
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Use for read-only review of diffs, tests, architecture boundaries, regressions, and missing verification before closeout.
3
4
  mode: subagent
4
5
  permission:
@@ -16,7 +17,7 @@ Load first:
16
17
 
17
18
  - diff or changed file list
18
19
  - current PRD or feature doc
19
- - `Harness/agent-workflow.md`
20
+ - `Harness/specs/runtime/agent-workflow.md`
20
21
  - architecture docs when affected
21
22
 
22
23
  Rules:
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  name: task-scribe
3
4
  description: Use to maintain Harness task state, heartbeat, dispatch ledger, evidence pointers, and compact PLAN/PROGRESS updates. Small-fast chore agent. Never edits source code.
4
5
  mode: subagent
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Test-Driven Development specialist enforcing AC-linked write-tests-first methodology. Use PROACTIVELY when writing new features, fixing bugs, refactoring code, or adding browser-visible behavior.
3
4
  mode: subagent
4
5
  permission:
@@ -11,10 +12,10 @@ permission:
11
12
 
12
13
  Enforces acceptance-driven TDD. Load these before writing tests:
13
14
 
14
- 1. `Harness/ACCEPTANCE_PROTOCOL.md`
15
- 2. `Harness/HARNESS_BRIDGE.md`
16
- 3. `Harness/AGENT_ISOLATION.md`
17
- 4. `Harness/TDD-GUIDE.md`
15
+ 1. `Harness/specs/protocols/ACCEPTANCE_PROTOCOL.md`
16
+ 2. `Harness/specs/protocols/HARNESS_BRIDGE.md`
17
+ 3. `Harness/specs/protocols/AGENT_ISOLATION.md`
18
+ 4. `Harness/specs/protocols/TDD-GUIDE.md`
18
19
  5. ECC testing rules for the project stack
19
20
  6. Current task `PLAN.md`
20
21
 
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Use to define or write AC-linked failing tests and manual verification steps before implementation.
3
4
  mode: subagent
4
5
  permission:
@@ -14,12 +15,12 @@ You are a test-first agent for this project harness. You write tests from PRD-de
14
15
  Load first:
15
16
 
16
17
  - current PRD or feature doc
17
- - `Harness/ACCEPTANCE_PROTOCOL.md`
18
- - `Harness/HARNESS_BRIDGE.md` for UI/API/browser flows
19
- - `Harness/AGENT_ISOLATION.md`
20
- - `Harness/TDD-GUIDE.md`
18
+ - `Harness/specs/protocols/ACCEPTANCE_PROTOCOL.md`
19
+ - `Harness/specs/protocols/HARNESS_BRIDGE.md` for UI/API/browser flows
20
+ - `Harness/specs/protocols/AGENT_ISOLATION.md`
21
+ - `Harness/specs/protocols/TDD-GUIDE.md`
21
22
  - `Harness/tasks/<task-id>/PROGRESS.md` and `Harness/tasks/<task-id>/PLAN.md` when available
22
- - `Harness/agent-workflow.md`
23
+ - `Harness/specs/runtime/agent-workflow.md`
23
24
 
24
25
  Inputs you must receive:
25
26
 
@@ -1,4 +1,5 @@
1
1
  ---
2
+ harness: wf-agent
2
3
  description: Use to run verification commands, inspect results, and record evidence. Final acceptance still waits for cross-review PASS and reflector PASS.
3
4
  mode: subagent
4
5
  permission:
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
8
8
  static help or script command.
9
9
 
10
10
  1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
- 2. Execute per the skill adapter `.claude/skills/wf-auto-spark/SKILL.md` (mirror: `.agents/skills/wf-auto-spark/SKILL.md`).
12
- 3. Do not duplicate the workflow here. The skill adapter and `Harness/WF-AUTO-SPARK.md` are authoritative.
11
+ 2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
12
+ 3. Execute per the skill adapter `.claude/skills/wf-auto-spark/SKILL.md` (mirror: `.agents/skills/wf-auto-spark/SKILL.md`).
13
+ 4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/workflows/WF-AUTO-SPARK.md` are authoritative.
13
14
 
14
15
  If this runtime cannot invoke the skill directly, read
15
16
  `.claude/skills/wf-auto-spark/SKILL.md` and follow it in place.
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
8
8
  static help or script command.
9
9
 
10
10
  1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
- 2. Execute per the skill adapter `.claude/skills/wf-auto/SKILL.md` (mirror: `.agents/skills/wf-auto/SKILL.md`).
12
- 3. Do not duplicate the workflow here. The skill adapter and `Harness/WF-AUTO.md` are authoritative.
11
+ 2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
12
+ 3. Execute per the skill adapter `.claude/skills/wf-auto/SKILL.md` (mirror: `.agents/skills/wf-auto/SKILL.md`).
13
+ 4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/workflows/WF-AUTO.md` are authoritative.
13
14
 
14
15
  If this runtime cannot invoke the skill directly, read
15
16
  `.claude/skills/wf-auto/SKILL.md` and follow it in place.
@@ -0,0 +1,16 @@
1
+ ---
2
+ description: Run AI-driven browser automation and E2E testing via the wf-browser skill
3
+ ---
4
+
5
+ # /wf-browser
6
+
7
+ This is a **workflow command**, not a direct command. Do not execute it as a
8
+ static help or script command.
9
+
10
+ 1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
+ 2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
12
+ 3. Execute per the skill adapter `.claude/skills/wf-browser/SKILL.md` (mirror: `.agents/skills/wf-browser/SKILL.md`).
13
+ 4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/protocols/HARNESS_BRIDGE.md` are authoritative.
14
+
15
+ If this runtime cannot invoke the skill directly, read
16
+ `.claude/skills/wf-browser/SKILL.md` and follow it in place.
@@ -6,6 +6,9 @@ description: Show the Harness WF command table
6
6
  Return this help table directly. Do not invoke a skill, do not start WF mode,
7
7
  do not dispatch agents, and do not edit files.
8
8
 
9
+ Codex compatibility: `$wf-help` or `/skills wf-help` loads the `wf-help` shim,
10
+ which returns this same table without loading `Harness/MEMORY.md` or entering WF.
11
+
9
12
  | Command | Type | Usage | Purpose |
10
13
  | --- | --- | --- | --- |
11
14
  | `/wf-help` | direct command | `/wf-help` | Show this command table. |
@@ -15,13 +18,14 @@ do not dispatch agents, and do not edit files.
15
18
  | `/wf-auto-spark` | workflow skill | `/wf-auto-spark` | Perpetual inspiration mode with roadmap anchoring and external spark search. |
16
19
  | `/wf-review <focus>` | workflow skill | `/wf-review security and test coverage` | Peer CLI review through Claude/Codex/OpenCode, with reviewer subagent fallback. |
17
20
  | `/wf-learn` | workflow skill | `/wf-learn` | Force context-master -> memory-master learning cycle after repeated failures or closeout. |
21
+ | `/wf-browser <task>` | workflow skill | `/wf-browser verify checkout flow` | Built-in browser automation/E2E workflow with real UI interaction, screenshots, traces, and CDP/network evidence. |
18
22
  | `/wf-readme <task>` | workflow skill | `/wf-readme polish quickstart` | Preserve, merge, or improve README docs without trampling existing project documentation. |
19
23
  | `/wf-update` | direct command | `/wf-update` | Check/apply Harness scaffold updates with safe file classification and conflict handling. |
20
24
  | `/wf-remove` | workflow skill | `/wf-remove` | Safely remove Harness files while preserving project/user data unless explicitly purged. |
21
25
 
22
26
  Source of truth: `Harness/README.md#Skill Commands` plus installed skills under
23
- `.claude/skills/` (Claude Code) or `.agents/skills/` (Codex). In OpenCode the
24
- same skills load from `.claude/skills/`, `.agents/skills/`, and `.opencode/skills/`.
25
- In OpenCode, every workflow command above is also visible as a thin command
26
- wrapper under `.opencode/commands/` (e.g. `/wf`, `/wf-max`); each wrapper only
27
- routes to the matching skill adapter and does not duplicate the workflow.
27
+ `.claude/skills/` (Claude Code and OpenCode adapters) or `.agents/skills/`
28
+ (Codex). In OpenCode, every workflow command above is visible as a thin command
29
+ wrapper under `.opencode/commands/` (e.g. `/wf`, `/wf-max`); each wrapper routes
30
+ to the matching `.claude/skills/<command>/SKILL.md` adapter and does not
31
+ duplicate the workflow.
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
8
8
  static help or script command.
9
9
 
10
10
  1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
- 2. Execute per the skill adapter `.claude/skills/wf-learn/SKILL.md` (mirror: `.agents/skills/wf-learn/SKILL.md`).
12
- 3. Do not duplicate the workflow here. The skill adapter and `Harness/MEMORY_PROTOCOL.md` are authoritative.
11
+ 2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
12
+ 3. Execute per the skill adapter `.claude/skills/wf-learn/SKILL.md` (mirror: `.agents/skills/wf-learn/SKILL.md`).
13
+ 4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/protocols/MEMORY_PROTOCOL.md` are authoritative.
13
14
 
14
15
  If this runtime cannot invoke the skill directly, read
15
16
  `.claude/skills/wf-learn/SKILL.md` and follow it in place.
@@ -1,5 +1,6 @@
1
1
  ---
2
- description: Run the WF-MAX maximum-safe-parallelism workflow via the wf-max skill
2
+ description: Run WF-MAX with mandatory subagent fan-out and recorded degradation
3
+ agent: build
3
4
  ---
4
5
 
5
6
  # /wf-max
@@ -8,8 +9,13 @@ This is a **workflow command**, not a direct command. Do not execute it as a
8
9
  static help or script command.
9
10
 
10
11
  1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
- 2. Execute per the skill adapter `.claude/skills/wf-max/SKILL.md` (mirror: `.agents/skills/wf-max/SKILL.md`).
12
- 3. Do not duplicate the workflow here. The skill adapter and `Harness/WF-MAX.md` are authoritative.
13
-
14
- If this runtime cannot invoke the skill directly, read
15
- `.claude/skills/wf-max/SKILL.md` and follow it in place.
12
+ 2. Load and follow `.claude/skills/wf-max/SKILL.md` (mirror: `.agents/skills/wf-max/SKILL.md`) and `Harness/specs/workflows/WF-MAX.md`.
13
+ 3. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
14
+ 4. MUST attempt native runtime subagent fan-out before planning is considered complete:
15
+ - start `task-scribe` when available for task ledger/state;
16
+ - start W0 exploration through manager/explorer/researcher roles with disjoint read sets;
17
+ - when running in OpenCode, require project `opencode.json` to have `subagent_depth >= 2` and manager agents to have `permission.task` allowlists for manager -> worker fan-out;
18
+ - if nested manager fan-out is unavailable, dispatch leaf workers directly from the primary agent with exact WF-MAX dispatch packets.
19
+ 5. In every runtime, MUST attempt native subagent fan-out before implementation planning is considered complete; never silently continue as a solo controller.
20
+ 6. If native fan-out fails, record `fanoutAttempted: true`, runtime, channel tried, agents requested, failure/degradation reason, and the fallback path in `Harness/tasks/<task-id>/PLAN.md` or `PROGRESS.md`.
21
+ 7. Continue with WF-Max-Useful by default or WF-Max-Strict only when the user explicitly requests strict mode.
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
8
8
  static help or script command.
9
9
 
10
10
  1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
- 2. Execute per the skill adapter `.claude/skills/wf-readme/SKILL.md` (mirror: `.agents/skills/wf-readme/SKILL.md`).
12
- 3. Do not duplicate the workflow here. The skill adapter and the project root \`README.md\` ownership rules are authoritative.
11
+ 2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
12
+ 3. Execute per the skill adapter `.claude/skills/wf-readme/SKILL.md` (mirror: `.agents/skills/wf-readme/SKILL.md`).
13
+ 4. Do not duplicate the workflow here. The skill adapter and the project root \`README.md\` ownership rules are authoritative.
13
14
 
14
15
  If this runtime cannot invoke the skill directly, read
15
16
  `.claude/skills/wf-readme/SKILL.md` and follow it in place.
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
8
8
  static help or script command.
9
9
 
10
10
  1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
- 2. Execute per the skill adapter `.claude/skills/wf-remove/SKILL.md` (mirror: `.agents/skills/wf-remove/SKILL.md`).
12
- 3. Do not duplicate the workflow here. The skill adapter and `Harness/scripts/wf-remove.mjs` are authoritative.
11
+ 2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
12
+ 3. Execute per the skill adapter `.claude/skills/wf-remove/SKILL.md` (mirror: `.agents/skills/wf-remove/SKILL.md`).
13
+ 4. Do not duplicate the workflow here. The skill adapter and `Harness/scripts/wf-remove.mjs` are authoritative.
13
14
 
14
15
  If this runtime cannot invoke the skill directly, read
15
16
  `.claude/skills/wf-remove/SKILL.md` and follow it in place.
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
8
8
  static help or script command.
9
9
 
10
10
  1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
- 2. Execute per the skill adapter `.claude/skills/wf-review/SKILL.md` (mirror: `.agents/skills/wf-review/SKILL.md`).
12
- 3. Do not duplicate the workflow here. The skill adapter and the wf-review peer-review contract are authoritative.
11
+ 2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
12
+ 3. Execute per the skill adapter `.claude/skills/wf-review/SKILL.md` (mirror: `.agents/skills/wf-review/SKILL.md`).
13
+ 4. Do not duplicate the workflow here. The skill adapter and the wf-review peer-review contract are authoritative.
13
14
 
14
15
  If this runtime cannot invoke the skill directly, read
15
16
  `.claude/skills/wf-review/SKILL.md` and follow it in place.
@@ -2,29 +2,87 @@
2
2
 
3
3
  Run the Harness update checker script. Do not invoke a skill or start WF mode.
4
4
 
5
+ ## Classification
6
+
7
+ MANIFEST-FIRST. The installer and updater read `Harness/ownership.manifest.json`:
8
+
9
+ - `preserve[]` - existing user data is never overwritten (tasks, memory, research, root README, package, architecture). Missing scaffold starter files may be created when no local user data exists. `Harness/tasks/**` is always preserved.
10
+ - `merge[]` - CLAUDE.md, AGENTS.md, MEMORY.md, Harness/MEMORY.md, Harness/README.md -> merge or accept-local; prior accepted decisions carry forward.
11
+ - `frameworkOwned[]` - safe overwrite-upgrade fast path (concurrent fetch + hash + all-or-nothing write after checksum validation).
12
+ - `optionalOwned[]` - upgraded only when that option is installed.
13
+
14
+ Content markers (`harness: wf-agent`, `project harness`, `Harness/...`) are the fallback when no manifest exists (old installs) and the instance-ownership signal that protects a user's same-name file at a Harness path. A same-name user file with no marker and no manifest declaration becomes conflict/skip + warning, never overwritten.
15
+
16
+ ## Cache Discipline
17
+
18
+ Follow `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`: keep updater
19
+ scripts and ownership docs stable, consume compact `--json` agent plans first,
20
+ and avoid pasting verbose diffs or full remote files unless a conflict requires
21
+ targeted inspection.
22
+
5
23
  ## Flow
6
24
 
7
- 1. Run `node Harness/scripts/wf-update-check.mjs --json` and use the `agent` block as the action plan. Current updaters try npm `create-harness-vibe-coding@latest` first, then the canonical GitHub source `LiWeny16/create-harness-vibe-coding`, then the legacy compatibility mirror `zingspark/create-harness-vibe-coding`.
8
- 2. Preserve all PRESERVE files. Never overwrite user task, memory, research, README, package, or architecture files.
9
- 3. If `agent.safeApplyCommand` is present, run it to apply SAFE/NEW files first.
10
- 4. For conflicts, compare local with `templateHint` or `remoteUrl`, decide merge/keep-local/overwrite, and record via `--accept-local`, `--accept-merged`, or `--accept-template`.
11
- 5. Run `node Harness/scripts/wf-update-check.mjs --finalize` after all conflicts resolved.
12
- 6. After update, run `node Harness/scripts/validate-harness.mjs` and `node Harness/scripts/scan-clean.mjs`.
25
+ 1. Run `node Harness/scripts/wf-update-check.mjs --json` first and use the
26
+ `agent` block as the action plan. Preserve `agent.releaseHighlights` for the
27
+ user-facing update summary. Current updaters try npm
28
+ `create-harness-vibe-coding@latest` first, then the canonical GitHub source
29
+ `LiWeny16/create-harness-vibe-coding`, then the legacy compatibility mirror
30
+ `zingspark/create-harness-vibe-coding`.
31
+ 2. Preserve all existing PRESERVE files. Never overwrite user task, memory,
32
+ research, root README.md, package, or architecture files. Missing scaffold
33
+ starter files may be created, and checksum-matching legacy architecture can
34
+ move to `Harness/project/architecture.md`. Harness/README.md is merge-tier,
35
+ not PRESERVE.
36
+ 3. If `agent.safeApplyCommand` is present, run it to apply SAFE, NEW, and
37
+ adopted metadata-only files before spending AI time on conflicts. Default
38
+ command: `node Harness/scripts/wf-update-check.mjs --apply-safe`.
39
+ Framework-owned templates, commands, skills, agents, and scripts are
40
+ script-owned and should be overwritten by the updater after checksum
41
+ validation.
42
+ 4. Previously accepted decisions for any merge-tier file (CLAUDE.md, AGENTS.md,
43
+ MEMORY.md, Harness/MEMORY.md, Harness/README.md) are carried forward
44
+ automatically when both the local hash and remote template hash are
45
+ unchanged.
46
+ 5. If a new agent/command/skill path collides with an existing file, do not
47
+ decide by filename alone. Treat it as Harness-owned only when the file
48
+ content has Harness/WF markers such as `harness: wf-agent`,
49
+ `project harness`, or `Harness/...`; otherwise leave it as a real conflict.
50
+ 6. For every remaining `agent.aiMergeRequired` entry, compare the local file
51
+ with `templateHint` or `remoteUrl`, then choose merge, keep-local, or
52
+ overwrite-from-template. Record the decision through the script with
53
+ `--accept-local <file>`, `--accept-merged <file>`, or
54
+ `--accept-template <file>`; do not hand-edit `Harness/.harness-version`.
55
+ Ask the user only when the intent is ambiguous.
56
+ 7. Run `node Harness/scripts/wf-update-check.mjs --finalize` after all
57
+ conflicts have script-recorded decisions. Use strict `--apply` only when the
58
+ JSON plan has zero conflicts.
59
+ 8. After update, run `node Harness/scripts/validate-harness.mjs` and then
60
+ `node Harness/scripts/scan-clean.mjs`.
13
61
 
14
- Codex users without a direct command surface: use `$wf-update` (skill path) or `node Harness/scripts/wf-update-check.mjs`.
62
+ Codex users without a direct command surface: use `$wf-update` (skill path) or
63
+ `node Harness/scripts/wf-update-check.mjs`.
15
64
 
16
65
  ## Recovery
17
66
 
18
- If the script reports `Harness/.harness-version not found` or the update checker script itself is missing (`Harness/scripts/wf-update-check.mjs`), the Harness install predates version-tracking. Recover by regenerating missing infrastructure without overwriting user files:
67
+ If `Harness/scripts/wf-update-check.mjs` is missing (old install without updater), or `Harness/.harness-version` is missing or corrupted, do NOT reinstall from scratch. Recover by regenerating missing infrastructure:
19
68
 
20
69
  ```
21
70
  npx create-harness-vibe-coding@latest <project-name> . -y --on-conflict skip
22
71
  ```
23
72
 
24
- This creates missing Harness files while preserving CLAUDE.md, README.md, tasks, memory, research, and all user data. After recovery, re-run the update check.
73
+ The `--on-conflict skip` policy preserves all existing user files (CLAUDE.md, README.md, tasks, memory, research, architecture) and only creates missing Harness infrastructure files. After recovery, re-run the update check.
25
74
 
26
- If an old updater reports only `0.8.10`, run the latest installer command above or re-run the checker with:
75
+ If an old updater reports only `0.8.10`, run the latest installer command above
76
+ or re-run the checker with:
27
77
 
28
78
  ```
29
79
  node Harness/scripts/wf-update-check.mjs --json --source-base https://raw.githubusercontent.com/LiWeny16/create-harness-vibe-coding/main/templates/common/
30
80
  ```
81
+
82
+ ## Return
83
+
84
+ Report version, SAFE/NEW updates, conflicts and decisions, preserved files,
85
+ partialUpdate status if any, validation output, scan-clean result, and remaining
86
+ risks. Also report the core release highlights from `agent.releaseHighlights`
87
+ or `releaseNotes.highlights` so the user understands what changed in this
88
+ Harness version, not only which files changed.
@@ -8,8 +8,9 @@ This is a **workflow command**, not a direct command. Do not execute it as a
8
8
  static help or script command.
9
9
 
10
10
  1. Load `CLAUDE.md`, `Harness/MEMORY.md` (index only per Memory Preflight), then `Harness/README.md`.
11
- 2. Execute per the skill adapter `.claude/skills/wf/SKILL.md` (mirror: `.agents/skills/wf/SKILL.md`).
12
- 3. Do not duplicate the workflow here. The skill adapter and `Harness/WF.md` are authoritative.
11
+ 2. Preserve cache-first order per `Harness/specs/runtime/context-loading.md#Cache-First Context Contract`.
12
+ 3. Execute per the skill adapter `.claude/skills/wf/SKILL.md` (mirror: `.agents/skills/wf/SKILL.md`).
13
+ 4. Do not duplicate the workflow here. The skill adapter and `Harness/specs/workflows/WF.md` are authoritative.
13
14
 
14
15
  If this runtime cannot invoke the skill directly, read
15
16
  `.claude/skills/wf/SKILL.md` and follow it in place.
@@ -6,17 +6,17 @@ This repository dogfoods the generated Harness scaffold. Scaffold source files l
6
6
 
7
7
  If `Harness/` exists, this repository is governed by the Harness contract.
8
8
 
9
- At session start, after loading `CLAUDE.md`, read `Harness/memory/startup-hints.md` (L2 lightweight digest, 5-10 hints). This is NOT loading `Harness/MEMORY.md`, `Harness/README.md`, or PROGRESS — it is a minimal startup hint file only.
9
+ Default installed-project startup is thin: after loading `CLAUDE.md`, read `Harness/memory/startup-hints.md` (L2 lightweight digest, 5-10 hints). This is NOT loading `Harness/MEMORY.md`, `Harness/README.md`, or PROGRESS — it is a minimal startup hint file only.
10
10
 
11
11
  Use **direct mode** for simple, single-step, low-risk requests: commit, push, one-line fix, file read, code question, git log, git status, or similar small operations.
12
12
 
13
13
  In direct mode, do not load the full Harness router. Inspect only the files needed for the task and execute directly.
14
14
 
15
- Complex work may use direct planning, task capsules, tests, and subagents without entering WF. WF mode is explicit only: the user must type `/wf`, `$wf`, `/skills wf`, `/wf-max`, `$wf-max`, `/skills wf-max`, `/wf-auto`, `$wf-auto`, `/skills wf-auto`, `/wf-auto-spark`, `$wf-auto-spark`, or `/skills wf-auto-spark` to enter WF. No other phrasing, complexity heuristic, or inferred intent triggers WF.
15
+ Complex work may use direct planning, task capsules, tests, and subagents without entering WF. WF execution modes are explicit only: the user must type `/wf`, `$wf`, `/skills wf`, `/wf-max`, `$wf-max`, `/skills wf-max`, `/wf-auto`, `$wf-auto`, `/skills wf-auto`, `/wf-auto-spark`, `$wf-auto-spark`, or `/skills wf-auto-spark` to enter the WF kernel. No other phrasing, complexity heuristic, or inferred intent triggers WF.
16
16
 
17
- `/wf-help` and `/wf-update` are **direct commands** — do NOT load `Harness/MEMORY.md`, do NOT enter WF, do NOT invoke a skill. Execute them immediately as static help / script commands respectively.
17
+ `/wf-help`, `$wf-help`, `/skills wf-help`, `/wf-update`, `$wf-update`, and `/skills wf-update` are **direct/compat commands** — do NOT load `Harness/MEMORY.md`, do NOT enter WF. Claude Code and OpenCode execute the direct command files; Codex may invoke the matching compatibility skill shim, which returns the static help/update instructions without entering WF.
18
18
 
19
- For actual workflow commands (`/wf`, `/wf-max`, `/wf-auto`, `/wf-review`, `/wf-learn`, `/wf-readme`, `/wf-remove`, `/wf-browser`, `/wf-auto-spark`), load `Harness/MEMORY.md` first, then `Harness/README.md`.
19
+ For non-direct workflow commands (`/wf`, `/wf-max`, `/wf-auto`, `/wf-review`, `/wf-learn`, `/wf-readme`, `/wf-remove`, `/wf-browser`, `/wf-auto-spark`, and matching `$wf-*` or `/skills wf-*` forms except the direct/compat commands above), load `Harness/MEMORY.md` first, then `Harness/README.md`.
20
20
 
21
21
  ### Active Task Resume
22
22
 
@@ -30,11 +30,9 @@ If the user says "continue", "resume", "last task", "current task", "status", "w
30
30
  6. Do NOT bulk-read `Harness/tasks/` to find context. Use the active pointer.
31
31
  7. Direct simple tasks may skip STATE/PLAN/PROGRESS unless the user says "continue"/"resume".
32
32
 
33
- See `Harness/WF-STATE.md` for the full state machine contract. Completed/abandoned tasks are archived to `Harness/tasks/_archive/` per `Harness/TASK_ARCHIVE.md`.
33
+ See `Harness/specs/workflows/WF-STATE.md` for the full state machine contract. Completed/abandoned tasks are archived to `Harness/tasks/_archive/` per `Harness/specs/protocols/TASK_ARCHIVE.md`.
34
34
 
35
- Use **/wf** for multi-step work that needs structured coordination. Use **/wf-max** for maximum-parallelism with CEO/Manager/Worker decomposition. See `Harness/WF.md` for tier selection (WF-Light, WF-Standard, WF-Full) and `Harness/WF-MAX.md` for fan-out rules (WF-Max-Useful, WF-Max-Strict).
36
-
37
- `Harness/SETUP.md` is a bootstrap-only document: it exists only while the harness install is not yet finalized. If it exists, finish the bootstrap it describes once, then delete or archive it. Installed projects must not keep `Harness/SETUP.md` in the startup path, and normal sessions must not route through it.
35
+ Use **/wf** for multi-step work that needs structured coordination. Use **/wf-max** for maximum-parallelism with CEO/Manager/Worker decomposition. See `Harness/specs/workflows/WF.md` for tier selection (WF-Light, WF-Standard, WF-Full) and `Harness/specs/workflows/WF-MAX.md` for fan-out rules (WF-Max-Useful, WF-Max-Strict).
38
36
 
39
37
  ### 1a. WF-MAX Role Contract
40
38
 
@@ -48,7 +46,11 @@ Each Worker dispatch must define: role, objective, allowed writeSet, forbidden f
48
46
 
49
47
  Workers may edit only inside their assigned writeSet. Reviewers and verifiers must be independent from the Worker whose output they evaluate.
50
48
 
51
- Detailed WF-MAX role rules live in `Harness/WF-KERNEL.md`, `Harness/WF-MAX.md`, and `Harness/subagents.md`.
49
+ Detailed WF-MAX role rules live in `Harness/specs/workflows/WF-KERNEL.md`, `Harness/specs/workflows/WF-MAX.md`, and `Harness/specs/runtime/subagents.md`.
50
+
51
+ ### 1b. User-Facing Language
52
+
53
+ Match the user's language for all user-facing prose. Use the dominant language of the latest user message unless the user explicitly asks for another language; preserve code, identifiers, file paths, commands, logs, and quoted source text exactly.
52
54
 
53
55
  ## 2. Think Before Coding
54
56
 
@@ -85,8 +87,8 @@ Detailed WF-MAX role rules live in `Harness/WF-KERNEL.md`, `Harness/WF-MAX.md`,
85
87
  - Every task needs a test, build check, validator run, or recorded manual check.
86
88
  - Do not claim web/UI acceptance without real-browser evidence from Chrome DevTools, CDP, Playwright, or documented manual browser checks.
87
89
  - Do not place project build scripts, git conventions, run commands, or release process in this file. Put them in `README.md`.
88
- - Do not place code architecture here. Put architecture in `Harness/architecture.md` or the current feature doc.
89
- - If this file has accumulated unrelated project notes, pause and propose moving them to the right place: `README.md` for development operations, `Harness/architecture.md` for architecture, `Harness/WF.md` or `Harness/workflows/` for workflow rules.
90
+ - Do not place code architecture here. Put architecture in `Harness/project/architecture.md` or the current feature doc.
91
+ - If this file has accumulated unrelated project notes, pause and propose moving them to the right place: `README.md` for development operations, `Harness/project/architecture.md` for architecture, `Harness/specs/workflows/WF.md` or `Harness/workflows/` for workflow rules.
90
92
 
91
93
  ## 5a. Low-Noise Progress
92
94
 
@@ -107,9 +109,9 @@ Never record secrets, credentials, tokens, or private data in memory.
107
109
 
108
110
  ## 7. Mode Constraints
109
111
 
110
- - Never call `EnterPlanMode`. Delegate planning to `planner` subagents (see `Harness/WF.md`).
112
+ - Never call `EnterPlanMode`. Delegate planning to `planner` subagents (see `Harness/specs/workflows/WF.md`).
111
113
  - In `/wf` or `/wf-max`, follow the selected workflow role contract instead of improvising execution flow.
112
114
  - In `/wf-max`, the CEO must not edit source files directly. Implementation must be delegated to Workers with explicit writeSet boundaries.
113
115
  - If a Worker dispatch is missing role, objective, writeSet, forbidden scope, or verification requirements, the controller must not proceed with source edits.
114
116
 
115
- Keep CLAUDE.md as a thin routing and global-behavior file. Put detailed workflows in `Harness/WF.md` or `Harness/workflows/`, subagent rules in `Harness/subagents.md`, architecture in `Harness/architecture.md`, and project operations in `README.md`.
117
+ Keep CLAUDE.md as a thin routing and global-behavior file. Put detailed workflows in `Harness/specs/workflows/WF.md` or `Harness/workflows/`, subagent rules in `Harness/specs/runtime/subagents.md`, architecture in `Harness/project/architecture.md`, and project operations in `README.md`.