create-harness-vibe-coding 0.8.16 → 0.8.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README-CN.md +100 -127
  3. package/README.md +63 -42
  4. package/package.json +1 -1
  5. package/src/generator.js +628 -121
  6. package/src/index.js +174 -43
  7. package/src/prompts.js +18 -0
  8. package/templates/common/.claude/commands/wf-auto-spark.md +16 -0
  9. package/templates/common/.claude/commands/wf-auto.md +16 -0
  10. package/templates/{optional/skills/browser-e2e/.opencode → common/.claude}/commands/wf-browser.md +1 -1
  11. package/templates/common/.claude/commands/wf-command-create.md +58 -0
  12. package/templates/common/.claude/commands/wf-help.md +13 -6
  13. package/templates/common/.claude/commands/wf-learn.md +16 -0
  14. package/templates/common/.claude/commands/wf-max.md +20 -0
  15. package/templates/common/.claude/commands/wf-readme.md +16 -0
  16. package/templates/common/.claude/commands/wf-remove.md +16 -0
  17. package/templates/common/.claude/commands/wf-review.md +16 -0
  18. package/templates/common/.claude/commands/wf-task-archive.md +26 -0
  19. package/templates/common/.claude/commands/wf-task-list.md +24 -0
  20. package/templates/common/.claude/commands/wf-task-record.md +24 -0
  21. package/templates/common/.claude/commands/wf.md +16 -0
  22. package/templates/common/.claude/rules/ecc/common.md +1 -1
  23. package/templates/common/.claude/skills/wf-agents-docs/SKILL.md +15 -30
  24. package/templates/common/.claude/skills/wf-browser/SKILL.md +176 -0
  25. package/templates/common/.claude/skills/wf-command-create/SKILL.md +37 -0
  26. package/templates/common/.claude/skills/wf-help/SKILL.md +30 -0
  27. package/templates/common/.claude/skills/wf-max/SKILL.md +22 -8
  28. package/templates/common/.claude/skills/wf-review/SKILL.md +29 -2
  29. package/templates/common/.claude/skills/wf-task-archive/SKILL.md +28 -0
  30. package/templates/common/.claude/skills/wf-task-list/SKILL.md +28 -0
  31. package/templates/common/.claude/skills/wf-task-record/SKILL.md +28 -0
  32. package/templates/common/.codex/config.toml +3 -5
  33. package/templates/common/.harness-version +108 -41
  34. package/templates/common/.opencode/agents/architect-manager.md +7 -1
  35. package/templates/common/.opencode/agents/explore-manager.md +10 -1
  36. package/templates/common/.opencode/agents/implement-manager.md +5 -3
  37. package/templates/common/.opencode/agents/review-manager.md +5 -2
  38. package/templates/common/.opencode/commands/wf-browser.md +16 -0
  39. package/templates/common/.opencode/commands/wf-command-create.md +61 -0
  40. package/templates/common/.opencode/commands/wf-help.md +13 -6
  41. package/templates/common/.opencode/commands/wf-max.md +12 -7
  42. package/templates/common/.opencode/commands/wf-task-archive.md +29 -0
  43. package/templates/common/.opencode/commands/wf-task-list.md +27 -0
  44. package/templates/common/.opencode/commands/wf-task-record.md +27 -0
  45. package/templates/common/CLAUDE.md +9 -7
  46. package/templates/common/Harness/MEMORY.md +12 -3
  47. package/templates/common/Harness/README.md +23 -41
  48. package/templates/common/Harness/ownership.manifest.json +162 -14
  49. package/templates/common/Harness/scripts/archive-tasks.mjs +12 -220
  50. package/templates/common/Harness/scripts/scan-clean.mjs +3 -9
  51. package/templates/common/Harness/scripts/task-state.mjs +1279 -0
  52. package/templates/common/Harness/scripts/validate-harness.mjs +635 -65
  53. package/templates/common/Harness/scripts/wf-remove.mjs +37 -5
  54. package/templates/common/Harness/scripts/wf-update-check.mjs +3 -0
  55. package/templates/common/Harness/specs/guides/SETUP.md +10 -2
  56. package/templates/common/Harness/specs/protocols/MEMORY_PROTOCOL.md +15 -0
  57. package/templates/common/Harness/specs/protocols/TASK_ARCHIVE.md +49 -23
  58. package/templates/common/Harness/specs/runtime/command-surface.json +215 -0
  59. package/templates/common/Harness/specs/runtime/dispatch.md +2 -2
  60. package/templates/common/Harness/specs/runtime/subagents.md +15 -5
  61. package/templates/common/Harness/specs/workflows/WF-AUTO.md +6 -6
  62. package/templates/common/Harness/specs/workflows/WF-KERNEL.md +1 -1
  63. package/templates/common/Harness/specs/workflows/WF-MAX.md +35 -2
  64. package/templates/common/Harness/specs/workflows/WF-STATE.md +155 -36
  65. package/templates/common/Harness/tasks/_template/STATE.json +6 -0
  66. package/templates/common/opencode.json +1 -0
  67. package/templates/optional/catalog.json +2 -9
  68. package/templates/optional/skills/browser-e2e/.claude/skills/browser-e2e/SKILL.md +0 -42
  69. package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +0 -201
  70. package/templates/optional/skills/browser-e2e/Harness/workflows/browser-e2e.md +0 -119
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.8.18] - 2026-07-29
4
+
5
+ - Add explicit task capsule management with list, archive, record/open state recovery, create-or-resume matching, task dependency metadata, and validator coverage.
6
+ - Add `wf-command-create` as the atomic command/skill creation workflow so new Harness commands update command files, skills, templates, mirrors, validators, and tests together.
7
+ - Add global install metadata for Claude, Codex, and OpenCode while keeping Harness tasks and progress project-local.
8
+ - Separate project/global memory and settings policy, with project settings taking precedence and task capsules remaining project-scoped.
9
+ - Harden host-global ownership and validation rules so framework-owned global command/skill files can update safely while user-authored files remain protected.
10
+ - Strengthen `wf-review`, `wf-agents-docs`, and WF-MAX guidance around explicit WF triggers, bounded peer output, and task capsule recording.
11
+
12
+ ## [0.8.17] - 2026-07-26
13
+
14
+ - Add HarnessBench v0.2 as an external-only lifecycle proof: 15 runs per mode, direct file writes safe in 3/15 runs, Harness safe path safe in 15/15 runs.
15
+ - Keep benchmark fixtures, raw results, and scorer scripts out of generated installs and npm package files while publishing the summary in README and README-CN.
16
+ - Make `wf-browser` the built-in browser automation entry and retire `browser-e2e` as a warning no-op optional id.
17
+ - Add `wf-help` compatibility surfaces for Claude, Codex, and OpenCode with guards against nonexistent OpenCode skill paths.
18
+ - Harden WF-MAX fan-out docs and OpenCode manager allowlists while preserving the Codex config guard against unsupported scalar subagent caps.
19
+ - Add deterministic task-state/archive reconciliation tooling and validators for active task consistency.
20
+
3
21
  ## [0.8.16] - 2026-07-23
4
22
 
5
23
  - Fix `scan-clean` default source selection so it honors the installed `Harness/.harness-version.source` before falling back to npm/GitHub, preventing false dead-file reports before npm publish catches up.
package/README-CN.md CHANGED
@@ -11,122 +11,146 @@
11
11
 
12
12
  <h1 align="center">create-harness-vibe-coding</h1>
13
13
  <p align="center">
14
- <b>让 AI agent 在真实仓库里先理解,再执行,最后验证。</b><br>
15
- <sub>面向 Claude Code、Codex 和 OpenCode 的 AI 编程工作流脚手架</sub>
14
+ <b>给 AI coding agent 一个仓库内的执行契约。</b><br>
15
+ <sub>支持 Claude Code、Codex 和 OpenCode</sub>
16
16
  </p>
17
17
 
18
18
  <p align="center">
19
- <a href="README.md">English</a> ·
20
- <a href="https://github.com/LiWeny16/create-harness-vibe-coding">GitHub</a> ·
19
+ <a href="README.md">English</a> |
20
+ <a href="https://github.com/LiWeny16/create-harness-vibe-coding">GitHub</a> |
21
21
  <a href="https://www.npmjs.com/package/create-harness-vibe-coding">npm</a>
22
22
  </p>
23
23
 
24
- ---
25
-
26
24
  ## 这是什么?
27
25
 
28
- `create-harness-vibe-coding` 是一个 Node.js CLI。它为 AI 编程 agent 生成一套放在仓库里的工作契约,让 agent 在长任务中保持目标、上下文、边界、验证和记忆的一致。
26
+ `create-harness-vibe-coding` 是一个 Node.js CLI。它在仓库里生成 Harness:一套给 AI coding agent 使用的工作契约,覆盖目标、上下文、写入边界、验证、任务状态和长期记忆。
27
+
28
+ 它不是模型、不是 prompt 集,也不会生成业务代码。它解决的是工程流程问题:agent 在长任务里容易忘记上下文、扩大改动范围、跳过验证,或者中断后重新扫描仓库。
29
29
 
30
- 它不是 prompt 集合,也不是模型本身。它解决的是另一个问题:同一个 agent 为什么第一轮看起来很好,第二轮却开始忘记决策、扩大修改范围、跳过验证?
30
+ ## 当前实测
31
31
 
32
- ## 0.8.15 新增重点
32
+ 0.8.16 这版只写已经跑出来的数据:
33
33
 
34
- 这一版把“cache-first 设计”从原则推进到可复现实测:
34
+ - HarnessBench v0.2 本地生命周期 benchmark:每个模式 15 轮。直接写文件 baseline 安全完成 3/15;Harness safe path 安全完成 15/15。
35
+ - 受保护文件覆盖次数:baseline 21 次;Harness safe path 0 次。
36
+ - Claude Code L2 prompt-cache 样本:`harness-thin` warm median cache read 为 `98.7%`,比 provider-control 高 `+5.4` 个百分点;`/wf` wf-light 为 `99.1%`,高 `+5.8` 个百分点。
37
+ - 启动和更新链路:正常会话保持 thin startup,`Harness/specs/guides/SETUP.md` 只作为安装、迁移、升级参考;`/wf-update` 要汇报 `agent.releaseHighlights` 和验证结果。
35
38
 
36
- - 新增真实 Claude Code L2 telemetry:`Harness/scripts/l2-cache-telemetry.mjs` 会用受控预算采集 provider-control、thin-startup `/wf` light-route 的 usage、费用、耗时和 session 证据。
37
- - 本 dogfood 仓库的实测结果已经写入 README:`harness-thin` warm median cache read 为 `98.7%`,相对 provider-control 提升 `+5.4` 个百分点;`/wf` wf-light 为 `99.1%`,提升 `+5.8` 个百分点。
38
- - 增加缓存回归防线:L0 结构校验、L1 SHA-256 stable-prefix 模拟、L2 provider telemetry claim gate、以及 route-profile context budget。
39
- - 启动与升级链路更清晰:正常会话保持 thin startup,`Harness/specs/guides/SETUP.md` 保留为安装/bootstrap/迁移/升级参考,`/wf-update` 完成后必须向用户汇报 changelog 核心改进点和验证结果。
40
- - 新增 `wf-agents-docs`:沉淀 Claude Code、Codex、OpenCode 的 CLI 调用、JSON telemetry 解析、peer review 和 batch probe 规则。
39
+ 完整的模型任务成功率 A/B 还没有发布。要对外说“模型解题成功率提升”,必须用同一个模型、同一个 fixture、同一个 prompt、同一个预算和同一套验证命令跑完 raw logs。
41
40
 
42
- ## 一句话安装(已有项目推荐)
41
+ ## 一句话安装
43
42
 
44
- 把下面这句话原样丢给正在使用的 Agent:
43
+ 把下面这句话交给当前正在使用的 Agent:
45
44
 
46
45
  > 请根据 https://github.com/LiWeny16/create-harness-vibe-coding/blob/main/README-CN.md 安装 Harness 框架。
47
46
 
48
47
  ## 安装说明(Agent instruction)
49
48
 
50
- Agent 读取本 README 后,按项目状态选择安装路径:
49
+ Agent 读取本 README 后,按项目状态选择路径:
51
50
 
52
51
  | 项目状态 | Agent 执行 |
53
52
  |---|---|
54
53
  | 新项目 | `npx create-harness-vibe-coding@latest my-project -y` |
55
54
  | 已有项目 | `npx create-harness-vibe-coding@latest my-project . -y --on-conflict skip --json` |
56
- | 已有 `Harness/` 且存在 `Harness/scripts/wf-update-check.mjs` | `node Harness/scripts/wf-update-check.mjs --json`,走更新流程,不要重复安装;apply/finalize 后要汇报 `agent.releaseHighlights` 和验证结果 |
55
+ | 已有 `Harness/` 且存在 `Harness/scripts/wf-update-check.mjs` | `node Harness/scripts/wf-update-check.mjs --json`,走更新流程,不要重复安装;apply/finalize 后汇报 `agent.releaseHighlights` 和验证结果 |
57
56
  | 已有 `Harness/` 但缺少 `Harness/scripts/wf-update-check.mjs` | `npx create-harness-vibe-coding@latest my-project . -y --on-conflict skip --json`。然后执行 `node Harness/scripts/wf-update-check.mjs --json` |
58
57
  | 安装或更新完成 | `node Harness/scripts/validate-harness.mjs --strict` |
59
58
 
60
- 安装后的 handoff 按阶段区分:正常会话入口是 `CLAUDE.md`;`Harness/specs/guides/SETUP.md` 只用于安装/bootstrap、迁移或升级决策;需要 Harness 工作流路由时再读 `Harness/README.md`。遵守项目已有边界;先研究和计划,再修改代码;完成后运行测试、校验和审查,未验证不要声称完成。
59
+ 安装范围:默认是项目内安装。要写入一份机器级共享 runtime,用 `--install-scope global --global-dir <dir>`;commands/skills/agents 会以 copy 方式写入 Claude Code、Codex、OpenCode 的全局可发现目录,但每个项目自己的 `Harness/tasks/`、`Harness/PROGRESS.md`、项目 memory、项目事实和项目 settings 仍然留在项目内。
60
+
61
+ 用户不需要手动执行这些命令。Agent 负责安装、冲突处理、校验和汇报。
62
+
63
+ 安装后的入口按阶段区分:
61
64
 
62
- 用户不需要手动执行命令。把上面一句话交给 Agent,Agent 负责安装、冲突处理、校验和汇报。
65
+ - 正常会话入口是 `CLAUDE.md`。
66
+ - `Harness/specs/guides/SETUP.md` 只用于安装、bootstrap、迁移或升级决策。
67
+ - 需要 Harness 工作流路由时再读 `Harness/README.md`。
63
68
 
64
69
  ## WF 命令怎么选
65
70
 
66
- 不确定时,直接用 `/wf-help`。它会返回完整命令表;复杂任务优先用 `/wf`,需要多人并行时用 `/wf-max`。
71
+ 不确定时,用 `/wf-help`。在 Codex 里用 `$wf-help`。它只返回命令说明,不会启动工作流。
67
72
 
68
- | 命令 | 什么时候用 | 它会做什么 | 示例 |
73
+ | 命令 | 什么时候用 | 做什么 | 示例 |
69
74
  |---|---|---|---|
70
- | `/wf <任务>` | 多文件、架构、迁移、风险较高或反复失败 | 研究 计划 实现 测试 审查 验证 复盘 | `/wf 重构支付模块并补齐测试` |
71
- | `/wf-max <任务>` | 任务可拆成多个互不冲突的部分,需要最大并行度 | 在完整 WF 链路上增加 CEO Manager Worker 分工和并行波次 | `/wf-max 并行升级前端、后端和文档` |
72
- | `/wf-auto` | 希望 Agent 持续自我优化,通过自适应探测选择 | 持续执行优化循环,每轮保留计划、证据和反馈 | `/wf-auto 优化这个项目的稳定性` |
75
+ | `/wf <任务>` | 多文件、架构、迁移、风险较高或反复失败 | 研究 -> 计划 -> 实现 -> 测试 -> 审查 -> 验证 -> 复盘 | `/wf 重构支付模块并补齐测试` |
76
+ | `/wf-max <任务>` | 任务能拆成互不冲突的部分,需要最大并行度 | WF 链路上增加 CEO -> Manager -> Worker 分工和并行波次 | `/wf-max 并行升级前端、后端和文档` |
77
+ | `/wf-auto` | 希望 Agent 持续自我优化 | 连续执行优化循环,每轮保留计划、证据和反馈 | `/wf-auto 优化这个项目的稳定性` |
73
78
  | `/wf-auto-spark` | 需要外部灵感、竞品方向或长期路线图 | 搜索外部 spark,绑定 North Star 和里程碑,限制偏离范围 | `/wf-auto-spark 探索产品增长方向` |
74
- | `/wf-review [重点]` | 需要第二意见、同行审查或上线前复核 | 优先调用可用 peer CLI;没有时使用独立 reviewer 角色,并按严重程度反馈 | `/wf-review 重点检查安全和数据丢失` |
75
- | `/wf-learn` | 同类错误反复出现,或一次任务结束后要沉淀经验 | 汇总上下文、记忆和项目经验,形成下一次可复用规则 | `/wf-learn 总结这次返修原因` |
76
- | `/wf-browser <任务>` | 浏览器冒烟、E2E、截图、表单或页面验证 | 使用真实浏览器完成操作并提供截图、追踪和验证证据 | `/wf-browser 验证登录和支付流程` |
77
- | `/wf-readme <任务>` | README、安装文档、架构图或项目说明需要重写 | 保留事实,整理结构,补充安装和使用说明 | `/wf-readme 优化中文 README` |
78
- | `/wf-update` | 已经安装 Harness,需要检查和应用框架更新 | 比较版本,自动处理安全变更,把语义冲突留给 Agent,并从 changelog metadata 汇报本次升级核心变化 | `/wf-update` |
79
+ | `/wf-review [重点]` | 需要第二意见、同行审查或上线前复核 | 优先调用可用 peer CLI;没有时使用独立 reviewer 角色 | `/wf-review 重点检查安全和数据丢失` |
80
+ | `/wf-learn` | 同类错误反复出现,或一次任务结束后要沉淀经验 | 汇总上下文、记忆和项目经验 | `/wf-learn 总结这次返修原因` |
81
+ | `/wf-browser <任务>` | 浏览器冒烟、E2E、截图、表单或页面验证 | 使用真实浏览器并提供截图、trace 或状态证据 | `/wf-browser 验证登录和支付流程` |
82
+ | `/wf-readme <任务>` | README、安装文档、架构图或项目说明需要整理 | 保留事实,整理结构,补充安装和使用说明 | `/wf-readme 优化中文 README` |
83
+ | `/wf-update` | 已安装 Harness,需要检查和应用框架更新 | 比较版本,自动处理安全变更,把语义冲突留给 Agent | `/wf-update` |
79
84
  | `/wf-remove` | 需要卸载 Harness | 自动清理安全文件,保留用户数据,冲突文件先确认 | `/wf-remove` |
80
- | `/wf-help` | 不知道该用哪个命令 | 只返回命令、用途和用法,不启动工作流 | `/wf-help` |
81
85
 
82
- Claude Code 使用 `/wf-*`;Codex 使用对应的 `$wf-*`;OpenCode 使用已注册的命令或 Agent instruction。`/wf-auto` 和 `/wf-auto-spark` 是持续模式,启动前要给 Agent 清晰的目标、范围和验收标准。
83
-
84
- 常见场景可以这样起步:Web/API 先看正确性、安全、可靠性和验证;CLI/SDK 先看契约、兼容性、错误体验和文档;AI Agent 先看上下文质量、工具安全、评测和恢复;数据任务先看幂等性、失败恢复和可观测性。完整的自适应选择规则见 [WF-AUTO-ANGLES.md](Harness/specs/workflows/WF-AUTO-ANGLES.md)。
86
+ Claude Code 使用 `/wf-*`;Codex 使用对应的 `$wf-*`;OpenCode 使用已注册命令或 Agent instruction。常见任务起点见 [WF-AUTO-ANGLES.md](Harness/specs/workflows/WF-AUTO-ANGLES.md)。
85
87
 
86
88
  ## 它改变了什么?
87
89
 
88
- | 没有工作契约 | 使用 Harness |
89
- |---|---|
90
- | 想到哪写到哪,靠 prompt 维持方向 | 目标 约束 验收条件,先定义完成边界 |
91
- | Agent 读取整个仓库,关键信息被噪声淹没 | 路由按任务加载最小必要上下文 |
92
- | 长任务中断后重新发现项目事实 | `PROGRESS.md`、任务胶囊和 Memory 保存接力信息 |
93
- | 文件冲突靠人工临场判断 | 脚本先分类 create / skip / backup / overwrite / conflict |
94
- | “看起来完成了”就结束 | 测试、校验器、审查和人工证据共同决定完成 |
95
-
96
- 模型不是唯一变量。给它一个有边界、有记忆、会自检的工作台,普通模型也能少忘事、少跑偏、少让你回来救火。
97
-
98
- ## 工作方式
99
-
100
- Harness 把一次模糊请求变成一条可以追踪的路径:
101
-
102
- ```text
103
- 需求
104
-
105
- 研究 → PRD → 架构 → 验收条件
106
-
107
- 任务拆分 → 实现 → 测试 → 审查
108
-
109
- 验证 → 学习 → 更新下一次任务
90
+ | 问题 | 没有 Harness | 使用 Harness |
91
+ |---|---|---|
92
+ | 完成标准 | 看起来能跑就结束 | 验收条件、测试、validator review 一起决定是否完成 |
93
+ | 文件边界 | 靠 agent 临场判断 | 写入前先分类 create / skip / backup / overwrite / conflict |
94
+ | 中断恢复 | 重新扫描仓库和历史决策 | `Harness/PROGRESS.md`、任务状态和 Memory 提供接力信息 |
95
+ | 人工纠偏 | 人不断补上下文、盯冲突、催验证 | 人主要处理语义冲突和关键决策,`humanInterventions` 可记录 |
96
+ | 成本 | 前期省步骤,后期返工不可见 | 初始化成本明确,duration、token 和验证证据可记录 |
97
+
98
+ ## HarnessBench 本地生命周期 benchmark
99
+
100
+ 2026-07-26,本仓库运行 v0.2 本地 benchmark:
101
+
102
+ ```bash
103
+ node scripts/harness-bench-local.mjs --output benchmarks/results/harnessbench-local-v0.2.json
104
+ node scripts/harness-bench.mjs --input benchmarks/results/harnessbench-local-v0.2.json --markdown
110
105
  ```
111
106
 
112
- ### 三个核心支柱
107
+ | Mode | Tasks | Runs | Verified safe | Protected overwrites | Repair-triggering runs | Manual repair events | Required-file misses | Benchmark leaks | Boundary violations |
108
+ |---|---:|---:|---:|---:|---:|---:|---:|---:|---:|
109
+ | No Harness baseline (direct file writes) (`direct-run`) | 5 | 15 | 3/15 (20%) | 21 | 12 | 21 | 0 | 0 | 12 |
110
+ | Harness safe path (`harness-wf`) | 5 | 15 | 15/15 (100%) | 0 | 0 | 0 | 0 | 0 | 0 |
113
111
 
114
- 1. **目标与约束**:明确要解决什么、不能改什么、怎样算完成。
115
- 2. **上下文与记忆**:通过路由、按需加载和持久记忆,把正确的信息交给正确的 agent。
116
- 3. **分解与反馈**:把长任务切成有边界的小任务,每一步都留下验证和恢复入口。
112
+ 这组数据只证明本仓库内可复现的生命周期能力:新项目安装、已有 README/agent entry 保护、用户同名 skill 保护、旧 Harness 缺 updater 的恢复、以及 benchmark 不进入生成产物。
113
+
114
+ 它还不能证明任意前端、后端或嵌入式任务的模型成功率提升。完整 HarnessBench 会继续覆盖 Web/API、前端交互、嵌入式 UART/I2C/watchdog,以及生命周期恢复任务。未发布 raw logs 前,README 不写泛化成功率。
115
+
116
+ Benchmark runner、fixture、scorer 和 raw JSON 都是外部证明材料,不会打进用户安装后的 Harness。
117
+
118
+ ## Prompt-cache L2 样本
119
+
120
+ 2026-07-23,本 dogfood 仓库运行了一次有预算上限的 Claude Code L2 prompt-cache probe:
121
+
122
+ ```bash
123
+ node Harness/scripts/l2-cache-telemetry.mjs --groups provider-control,harness-thin,wf-light --turns 11 --turn-budget-usd 0.32 --total-budget-usd 1.20 --timeout-ms 240000
124
+ ```
125
+
126
+ 数据来自 Claude Code JSON usage 字段,尤其是 `usage.cache_read_input_tokens` 和 `usage.cache_creation_input_tokens`。读缓存比例按 `cache_read_input_tokens / (input_tokens + cache_creation_input_tokens + cache_read_input_tokens)` 计算。原始本地报告不提交进仓库,位置是 `~/.claude/cache-telemetry/harness-l2-claim-20260723-130331.json`。
127
+
128
+ | 路由 | Turns | 成功率 | Warm median cache read | Warm 区间 | Warm median latency | 相对 provider-control |
129
+ |---|---:|---:|---:|---:|---:|---:|
130
+ | provider-control | 11 | 11/11 | 93.3% | 91.1%-95.4% | 2123.5 ms | baseline |
131
+ | harness-thin | 11 | 11/11 | 98.7% | 98.1%-99.2% | 1786.5 ms | +5.4 个百分点 |
132
+ | `/wf` wf-light | 11 | 11/11 | 99.1% | 98.7%-99.7% | 2900 ms | +5.8 个百分点 |
133
+
134
+ 边界:这只说明本次 Claude Code 受控样本里有真实缓存读取,并测到了提升;不是对所有模型、仓库、任务或 provider 的承诺。
117
135
 
118
136
  ## 架构图
119
137
 
120
138
  <p align="center">
121
139
  <a href="docs/images/harness-architecture-light.png">
122
- <img src="docs/images/harness-architecture-light.png" alt="Harness Light 架构图:开发者请求经过目标与约束、优质上下文、分解与反馈,进入执行、验证、学习、更新闭环" width="100%">
140
+ <img src="docs/images/harness-architecture-light.png" alt="Harness Light 架构图:开发者请求经过目标与约束、上下文、分解与反馈,进入执行、验证、学习、更新闭环" width="100%">
123
141
  </a>
124
142
  <br>
125
143
  <sub>
126
- Light 风格架构图 · <a href="docs/images/harness-architecture.drawio">下载可编辑 Drawio 源文件</a>
144
+ Light 风格架构图 | <a href="docs/images/harness-architecture.drawio">可编辑 Drawio 源文件</a>
127
145
  </sub>
128
146
  </p>
129
147
 
148
+ 三个核心支柱:
149
+
150
+ 1. **目标与约束**:明确要解决什么、不能改什么、怎样算完成。
151
+ 2. **上下文与记忆**:通过路由、按需加载和持久记忆,把正确的信息交给正确的 agent。
152
+ 3. **分解与反馈**:把长任务切成有边界的小任务,每一步都留下验证和恢复入口。
153
+
130
154
  ## 你会得到什么
131
155
 
132
156
  | 目录或文件 | 作用 |
@@ -134,61 +158,31 @@ Harness 把一次模糊请求变成一条可以追踪的路径:
134
158
  | `CLAUDE.md`、`AGENTS.md` | agent 会话入口契约和兼容指针 |
135
159
  | `Harness/README.md`、`Harness/MEMORY.md` | Harness 工作流路由和资源索引 |
136
160
  | `Harness/tasks/`、`Harness/PROGRESS.md` | 跨会话保存任务状态和接力信息 |
137
- | `.claude/`、`.agents/`、`.codex/`、`.opencode/` | 不同 coding agent 的发现入口和配置 |
161
+ | `.claude/`、`.agents/skills/`、`.codex/`、`.opencode/` | 不同 coding agent 的发现入口和配置 |
138
162
  | `templates/common/`、`templates/optional/` | 可生成脚手架的声明式源文件 |
139
163
  | `Harness/scripts/validate-harness.mjs` | 检查脚手架结构和 bootstrap 完整度 |
140
164
 
141
- 生成项目不会替你选择业务技术栈,也不会生成业务代码。你可以在 bootstrap 后自由选择 React、FastAPI 或其他技术栈。
142
-
143
- ## 稳定性、返修率与人工纠偏:别让 Agent 靠运气交付
144
-
145
- 先把话说满:Harness 不是更花哨的 prompt,而是给 Agent 装上刹车、仪表盘和黑匣子。没有工作契约,任务能不能收尾往往靠运气;有了 Harness,目标、边界、验证和返修都会留下证据。
146
-
147
- 数字也必须说清楚:当前仓库还没有发布受控 A/B 实验,因此不能把“稳定性提升 50%”冒充成真实结果。真正能对外说的数字,只有用同一个模型、同一个仓库、同一个任务、同一个预算跑出来的结果。基准对比使用 `bare-agent`、`harness-wf`、`harness-wf-max` 三种模式。
148
-
149
- ### Prompt-cache L2 实测样本
150
-
151
- 2026-07-23,本 dogfood 仓库运行了一次有预算上限的 Claude Code L2 prompt-cache 探针:`node Harness/scripts/l2-cache-telemetry.mjs --groups provider-control,harness-thin,wf-light --turns 11 --turn-budget-usd 0.32 --total-budget-usd 1.20 --timeout-ms 240000`。
165
+ 生成项目不会替你选择业务技术栈,也不会生成业务代码。你可以在 bootstrap 后选择 React、FastAPI、嵌入式 C/C++ 或其他技术栈。
152
166
 
153
- 数据来源是 Claude Code JSON usage 字段,尤其是 `usage.cache_read_input_tokens` 和 `usage.cache_creation_input_tokens`。读缓存比例按 `cache_read_input_tokens / (input_tokens + cache_creation_input_tokens + cache_read_input_tokens)` 计算。原始本地报告不提交进仓库,位置是 `~/.claude/cache-telemetry/harness-l2-claim-20260723-130331.json`。
167
+ ## 和相邻工具相比
154
168
 
155
- | 路由 | Turns | 成功率 | Warm median cache read | Warm 区间 | Warm median latency | 相对 provider-control |
156
- |---|---:|---:|---:|---:|---:|---:|
157
- | provider-control | 11 | 11/11 | 93.3% | 91.1%-95.4% | 2123.5 ms | baseline |
158
- | harness-thin | 11 | 11/11 | 98.7% | 98.1%-99.2% | 1786.5 ms | +5.4 个百分点 |
159
- | `/wf` wf-light | 11 | 11/11 | 99.1% | 98.7%-99.7% | 2900 ms | +5.8 个百分点 |
160
-
161
- 边界:这能证明本次 Claude Code 有真实缓存读取,并且在这个受控样本里测到了提升;它不是对所有模型、仓库、任务或 provider 的泛化承诺。
169
+ Harness repo-local operating contract,可以叠在 Claude Code、Codex、OpenCode 或其他 agent 之上,不替代模型或编辑器本身。
162
170
 
163
- | 你真正关心的结果 | 没有 Harness | 使用 Harness | 可复现实测口径 |
164
- |---|---|---|---|
165
- | 稳定性 | 能跑就算完成,覆盖文件和漏验证常常事后才发现 | 写入前分类冲突,完成后必须经过测试、校验和审查 | 验证通过率、未授权覆盖次数、安全事故数 |
166
- | 返修率 | 返工藏在下一轮 prompt 里,没人知道到底重做了多少 | 任务胶囊、验收条件和验证闭环把返修显性化 | 后续纠偏运行次数 ÷ 已完成任务数 |
167
- | 人工纠偏 | 人类不断补上下文、盯进度、救火 | 人类只处理语义冲突和关键决策 | 每个任务的 `humanInterventions` |
168
- | 中断恢复 | Agent 重新扫描仓库,决策和背景再来一遍 | `PROGRESS.md`、任务状态和持久记忆直接接力 | 恢复时间、重复发现时间 |
169
- | 成本 | 前期省几分钟,后期可能付出几小时返工 | 有明确初始化成本,但时间、token 和验证开销可记录 | duration、tokenEstimate、验证命令 |
170
-
171
- 当前仓库能直接验证的是工程底座:冲突策略、写入边界、验证器、任务记录和 `humanInterventions` 指标已经存在;收益百分比要由 HarnessBench 实测产生。详见 [HarnessBench v0.1 评分设计](Harness/tasks/task-framework-metrics-and-entry-contract/PLAN.md#5-metrics-and-scoring)。
172
-
173
- ## 为什么人们会需要它
174
-
175
- 用三个真实顾虑来理解它:
176
-
177
- | 顾虑 | 你担心什么 | Harness 怎么回答 |
171
+ | 对比对象 | 主要层级 | Harness 的重点 |
178
172
  |---|---|---|
179
- | **嗔:损失厌恶** | 文件被覆盖、上下文漂移、任务返工 | 安全合并、冲突分类、写入边界、验证器 |
180
- | **贪:效率杠杆** | 同一个 agent 反复解释,长任务总要重来 | 路由、任务胶囊、并行角色、持久记忆 |
181
- | **痴:流程盲点** | 以为更好的 prompt 就能解决所有问题 | 把目标、约束、测试、审查和反馈变成可检查的流程 |
173
+ | Direct agent run | 一次 prompt 加临时上下文 | 持久任务状态、显式写入边界、验证 gate、可恢复 handoff |
174
+ | [Claude Code](https://code.claude.com/docs/en/overview)、[Codex](https://developers.openai.com/codex)、[OpenCode](https://opencode.ai/docs/) | Coding agent / runtime | runtime 的同一套 repo contract、命令面、memory 形状、validator 和更新策略 |
175
+ | [Aider](https://github.com/aider-ai/aider) | Terminal pair-programming、repo map、git/test loop | 安装/更新安全、任务胶囊、外部 benchmark 证据和多 runtime 工作流路由 |
176
+ | [Superpowers](https://github.com/obra/Superpowers) | Skills-based development methodology | npm scaffold、机器可读 ownership/version manifest、安全合并/更新脚本和生成后的 repo-local state |
182
177
 
183
178
  ## 可选工作流
184
179
 
185
180
  把需求直接交给 Agent:
186
181
 
187
- > 请为当前 Harness 项目加入 `browser-e2e` 和 `ui-ux-review`,保留已有文件,完成后运行严格校验,并准确汇报发生了什么变化。
182
+ > 请为当前 Harness 项目加入 `ui-ux-review` 和 `ts-react-frontend`,保留已有文件,完成后运行严格校验,并准确汇报发生了什么变化。
188
183
 
189
184
  | 工作流 | 适合场景 |
190
185
  |---|---|
191
- | `browser-e2e` | 浏览器截图、追踪、冒烟测试 |
192
186
  | `ui-ux-review` | 响应式、无障碍和界面打磨 |
193
187
  | `ts-react-frontend` | TypeScript、React、Vite 项目 |
194
188
  | `python-backend` | FastAPI、pytest 项目 |
@@ -222,11 +216,11 @@ npm run check:mirrors
222
216
 
223
217
  ## 所有权清单
224
218
 
225
- `Harness/ownership.manifest.json` 是安装/更新时文件分类的机器可读唯一事实来源,由 `node scripts/build-version.mjs` 从 `templates/common/` + `templates/optional/catalog.json` 自动生成。框架拥有的文件覆盖升级;用户数据(tasks、memory、research、README、package、PROGRESS)一律保留;CLAUDE/AGENTS/Harness README 走合并;同名用户 agent/command/skill(无 marker)绝不覆盖。
219
+ `Harness/ownership.manifest.json` 是安装和更新时文件分类的机器可读事实来源,由 `node scripts/build-version.mjs` 从 `templates/common/` `templates/optional/catalog.json` 生成。框架拥有的文件走安全升级;用户数据(tasks、memory、research、README、package、PROGRESS)保留;CLAUDEAGENTSHarness README 走合并;同名用户 agentcommandskill(无 marker)不会被覆盖。
226
220
 
227
221
  ## 发布门禁
228
222
 
229
- 铁律:每次 Harness 更新发版都必须同时保持两个更新通道可用:
223
+ 每次 Harness 更新发版都必须同时保持两个更新通道可用:
230
224
 
231
225
  - Canonical:npm `create-harness-vibe-coding@latest` 和 `https://github.com/LiWeny16/create-harness-vibe-coding`
232
226
  - 低版本兼容镜像:`https://github.com/zingspark/create-harness-vibe-coding`
@@ -238,29 +232,8 @@ npm run check:mirrors
238
232
  ## 适配范围与体积
239
233
 
240
234
  - 支持 Claude Code、Codex 和 OpenCode 的共享 Harness 工作流。
241
- - Node.js 18。
235
+ - Node.js >= 18。
242
236
  - 运行时无额外依赖;CLI 依赖 `@clack/prompts` 和 `picocolors`。
243
237
  - 生成的是工作基础设施,不是业务应用代码。
244
238
 
245
- ## 项目结构
246
-
247
- ```text
248
- my-project/
249
- ├── CLAUDE.md / AGENTS.md ← agent 入口
250
- ├── Harness/
251
- │ ├── README.md ← 文档路由器
252
- │ ├── MEMORY.md ← 资源索引
253
- │ ├── PROGRESS.md ← 任务追踪器
254
- │ ├── settings.json ← 框架配置
255
- │ ├── specs/ ← 工作流、协议、运行时与安装指南
256
- │ ├── project/ ← 项目架构文档
257
- │ ├── tasks/ ← 任务胶囊
258
- │ ├── research/ ← PRD 与研究模板
259
- │ └── scripts/ ← 校验器
260
- ├── .claude/ ← Claude Code 配置
261
- ├── .agents/skills/ ← Codex repo skills
262
- ├── .codex/ ← Codex 配置
263
- └── .opencode/ ← OpenCode 配置
264
- ```
265
-
266
239
  MIT © [LiWeny16](https://github.com/LiWeny16)
package/README.md CHANGED
@@ -16,8 +16,8 @@
16
16
  </p>
17
17
 
18
18
  <p align="center">
19
- <a href="README-CN.md">Chinese</a> ·
20
- <a href="https://github.com/LiWeny16/create-harness-vibe-coding">GitHub</a> ·
19
+ <a href="README-CN.md">Chinese</a> |
20
+ <a href="https://github.com/LiWeny16/create-harness-vibe-coding">GitHub</a> |
21
21
  <a href="https://www.npmjs.com/package/create-harness-vibe-coding">npm</a>
22
22
  </p>
23
23
 
@@ -30,25 +30,24 @@ It is not a prompt pack and it does not generate business code. It gives Claude
30
30
  Without a framework:
31
31
 
32
32
  ```text
33
- Idea prompt patch demo rediscover context repair drift
33
+ Idea -> prompt -> patch -> demo -> rediscover context -> repair drift
34
34
  ```
35
35
 
36
36
  With Harness:
37
37
 
38
38
  ```text
39
- Idea Research PRD Architecture Acceptance Criteria
40
- Build Test Review Verify Learn Update
39
+ Idea -> Research -> PRD -> Architecture -> Acceptance Criteria
40
+ -> Build -> Test -> Review -> Verify -> Learn -> Update
41
41
  ```
42
42
 
43
- ## What's new in 0.8.15
43
+ ## Measured status in 0.8.16
44
44
 
45
- This release turns cache-friendliness from documentation into measured evidence:
45
+ Current evidence in this repository:
46
46
 
47
- - Real Claude Code L2 telemetry: `Harness/scripts/l2-cache-telemetry.mjs` runs bounded provider-control, thin-startup, and `/wf` light-route probes with usage/cost/duration/session evidence.
48
- - Measured prompt-cache result in this dogfood repo: `harness-thin` reached `98.7%` warm median cache read (`+5.4` percentage points vs provider-control), and `/wf` wf-light reached `99.1%` (`+5.8` percentage points).
49
- - Cache regression guardrails: L0 validator checks, L1 SHA-256 stable-prefix simulation, L2 provider telemetry claim gates, and route-profile context budgets.
50
- - Cleaner startup and upgrade chain: normal sessions stay thin, `Harness/specs/guides/SETUP.md` is retained as a setup/migration reference, and `/wf-update` now reports the release highlights as well as file-level update results.
51
- - Cross-runtime CLI docs: `wf-agents-docs` records source-backed Claude Code, Codex, and OpenCode invocation patterns for peer review, batch probes, and cache telemetry.
47
+ - HarnessBench v0.2 local lifecycle proof: 15 runs per mode. Direct file writes completed safely in 3/15 runs; the Harness safe path completed safely in 15/15 runs.
48
+ - Protected overwrites in that proof: 21 for direct file writes, 0 for the Harness safe path.
49
+ - Claude Code L2 prompt-cache sample: `harness-thin` reached `98.7%` warm median cache read (`+5.4` percentage points vs provider-control); `/wf` wf-light reached `99.1%` (`+5.8` percentage points).
50
+ - Startup and update chain: thin startup remains the default, `Harness/specs/guides/SETUP.md` is only setup/migration reference material, and `/wf-update` reports `agent.releaseHighlights` plus validation results.
52
51
 
53
52
  ## One-line install (recommended for existing repos)
54
53
 
@@ -68,18 +67,20 @@ After reading this README, the agent selects the path that matches the project:
68
67
  | Existing `Harness/` but missing `Harness/scripts/wf-update-check.mjs` | `npx create-harness-vibe-coding@latest my-project . -y --on-conflict skip --json`. Then run `node Harness/scripts/wf-update-check.mjs --json` |
69
68
  | After install or update | `node Harness/scripts/validate-harness.mjs --strict` |
70
69
 
70
+ Install scope: project-local is the default. To seed a shared machine-level runtime, use `--install-scope global --global-dir <dir>`; commands/skills/agents are copied into Claude Code, Codex, and OpenCode host-global directories, while `Harness/tasks/`, `Harness/PROGRESS.md`, project memory, project facts, and project settings stay inside each target project.
71
+
71
72
  After installation, hand off by phase: use `CLAUDE.md` as the normal session entry, use `Harness/specs/guides/SETUP.md` only for install/bootstrap, migration, or upgrade decisions, and use `Harness/README.md` as the Harness workflow router when a routed task needs it. Preserve project boundaries; research and plan before editing; run tests, validation, and review before claiming completion.
72
73
 
73
74
  The user does not need to run commands manually. The agent handles installation, conflict handling, validation, and the handoff.
74
75
 
75
76
  ## Which WF command should you use?
76
77
 
77
- When in doubt, use `/wf-help`. It returns the full command table. Use `/wf` for complex work and `/wf-max` when the work can be safely parallelized.
78
+ When in doubt, use `/wf-help` (or `$wf-help` in Codex). It returns the full command table. Use `/wf` for complex work and `/wf-max` when the work can be safely parallelized.
78
79
 
79
80
  | Command | Use it when | What it does | Example |
80
81
  |---|---|---|---|
81
- | `/wf <task>` | Multi-file, architectural, risky, migration, or repeatedly failing work | Research plan implement test review verify reflect | `/wf refactor the payment module and add tests` |
82
- | `/wf-max <task>` | The task splits into independent work and needs maximum parallelism | Adds CEO Manager Worker roles and parallel waves to the full WF chain | `/wf-max upgrade frontend, backend, and docs in parallel` |
82
+ | `/wf <task>` | Multi-file, architectural, risky, migration, or repeatedly failing work | Research -> plan -> implement -> test -> review -> verify -> reflect | `/wf refactor the payment module and add tests` |
83
+ | `/wf-max <task>` | The task splits into independent work and needs maximum parallelism | Adds CEO -> Manager -> Worker roles and parallel waves to the full WF chain | `/wf-max upgrade frontend, backend, and docs in parallel` |
83
84
  | `/wf-auto` | You want continuous self-directed optimization with adaptive probe selection | Runs repeated optimization cycles with plans, evidence, and feedback | `/wf-auto improve this project's stability` |
84
85
  | `/wf-auto-spark` | You need external inspiration, competitive direction, or a long-term roadmap | Searches for sparks, anchors work to a North Star and milestones, and guards scope drift | `/wf-auto-spark explore product growth directions` |
85
86
  | `/wf-review [focus]` | You need a second opinion, peer review, or a pre-release check | Uses a peer CLI when available, otherwise an independent reviewer role, and classifies findings by severity | `/wf-review focus on security and data loss` |
@@ -90,26 +91,46 @@ When in doubt, use `/wf-help`. It returns the full command table. Use `/wf` for
90
91
  | `/wf-remove` | You need to uninstall Harness | Removes safe files, preserves user data, and asks before touching conflicts | `/wf-remove` |
91
92
  | `/wf-help` | You do not know which command to use | Returns command usage without starting a workflow | `/wf-help` |
92
93
 
93
- Claude Code uses `/wf-*`; Codex uses the matching `$wf-*`; OpenCode uses the registered command or Agent instruction. `/wf-auto` and `/wf-auto-spark` are continuous modes, so give the agent a clear goal, scope, and acceptance criteria before starting.
94
+ Claude Code uses `/wf-*`; Codex uses the matching `$wf-*`; OpenCode uses the registered command or Agent instruction. Browser E2E guidance is built into `wf-browser`. `/wf-auto` and `/wf-auto-spark` are continuous modes, so give the agent a clear goal, scope, and acceptance criteria before starting.
94
95
 
95
96
  Common starting points: Web/API work starts with correctness, security, reliability, and verification; CLI/SDK work starts with contracts, compatibility, error UX, and docs; AI-agent work starts with context quality, tool safety, evaluation, and recovery; data jobs start with idempotency, failure recovery, and observability. See the full [WF-AUTO-ANGLES.md](Harness/specs/workflows/WF-AUTO-ANGLES.md) selection protocol.
96
97
 
97
98
  Chinese README: [README-CN.md](README-CN.md)
98
99
 
99
- ## Why this matters: the measurable difference
100
+ ## Measured difference
100
101
 
101
- Better prompts can improve one turn. A harness improves the conditions around every turn: what the agent may read, what it may change, how success is checked, and how the next session recovers.
102
+ Harness does not make the model smarter. It reduces uncontrolled parts of agent
103
+ work: which files may change, how conflicts are handled, how recovery works, and
104
+ what evidence counts as complete.
102
105
 
103
- | Dimension | Prompt-only / no Harness | With Harness | What to measure |
104
- |---|---|---|---|
105
- | Verified completion | “It looks finished” after a demo | Acceptance criteria, tests, validators, and review are part of the task boundary | Verified completion rate |
106
- | Stability and safety | File ownership and conflict handling are ad hoc | Script-first plans classify create/skip/backup/overwrite/conflict before writes | Safety incidents and unauthorized overwrites |
107
- | Rework rate | Drift is discovered late, so correction work is hidden in follow-up prompts | Task capsules, explicit boundaries, and closed-loop verification expose and reduce avoidable rework | `follow-up corrective runs ÷ completed tasks` |
108
- | Human correction | People repeatedly restate context and rescue the agent | Humans focus on semantic conflicts and decisions; deterministic work stays in scripts | `humanInterventions` per task |
109
- | Recovery after interruption | Rediscover the repository and decisions from scratch | `Harness/PROGRESS.md`, task capsules, and durable memory preserve the handoff | Recovery time and duplicated discovery |
110
- | Cost | Lower setup cost, unpredictable downstream cost | More upfront structure, with token/time overhead recorded against the baseline | Duration, tokens, and cost overhead |
106
+ The current published benchmark is a deterministic local lifecycle proof, not a
107
+ full LLM feature-success A/B result. It creates 5 fixture families x 3 seeds per
108
+ mode and checks the filesystem after each run. See
109
+ [HarnessBench v0.2](docs/benchmarks/HarnessBench.md).
110
+
111
+ Benchmark assets stay outside generated installs: users get the published
112
+ summary, not the runner, fixtures, scorer, or raw logs.
113
+
114
+ ### HarnessBench local lifecycle proof
115
+
116
+ Run on 2026-07-26:
117
+
118
+ ```bash
119
+ node scripts/harness-bench-local.mjs --output benchmarks/results/harnessbench-local-v0.2.json
120
+ node scripts/harness-bench.mjs --input benchmarks/results/harnessbench-local-v0.2.json --markdown
121
+ ```
122
+
123
+ | Mode | Tasks | Runs | Verified safe | Protected overwrites | Repair-triggering runs | Manual repair events | Required-file misses | Benchmark leaks | Boundary violations |
124
+ |---|---:|---:|---:|---:|---:|---:|---:|---:|---:|
125
+ | No Harness baseline (direct file writes) (`direct-run`) | 5 | 15 | 3/15 (20%) | 21 | 12 | 21 | 0 | 0 | 12 |
126
+ | Harness safe path (`harness-wf`) | 5 | 15 | 15/15 (100%) | 0 | 0 | 0 | 0 | 0 | 0 |
111
127
 
112
- The honest status: this repository defines the comparison protocol, but it does not publish fabricated “50% fewer bugs” numbers. Run the same model, repo, prompt, budget, and verification in three modes—`bare-agent`, `harness-wf`, and `harness-wf-max`—before making a quantitative claim. See the [HarnessBench v0.1 scoring design](Harness/tasks/task-framework-metrics-and-entry-contract/PLAN.md#5-metrics-and-scoring).
128
+ What this proves: Harness has measurable boundary value for fresh install,
129
+ existing-project preservation, same-name user skill protection, old-Harness
130
+ updater recovery, and generated-install benchmark exclusion. It does not prove
131
+ that any model solves arbitrary frontend, backend, or embedded feature work at a
132
+ higher rate. That requires the full HarnessBench LLM A/B suite with raw run
133
+ logs.
113
134
 
114
135
  ### Prompt-cache L2 sample
115
136
 
@@ -125,15 +146,16 @@ Source: Claude Code JSON usage fields, especially `usage.cache_read_input_tokens
125
146
 
126
147
  Claim boundary: this proves real cache reads and a measured improvement in this bounded Claude Code sample. It is not a universal claim for every model, repository, task, or provider.
127
148
 
128
- ## Three human motivations, used ethically
149
+ ### Compared with adjacent tools
129
150
 
130
- README structure should meet people where decisions actually happen. Harness uses the three motivations below to make the trade-off explicit—not to manufacture urgency or hide uncertainty.
151
+ Harness is a repo-local operating contract. It can sit above Claude Code, Codex, OpenCode, or another agent instead of replacing them.
131
152
 
132
- | Motivation | The reader is thinking | Harness answers with |
153
+ | Compared with | Primary layer | Harness advantage |
133
154
  |---|---|---|
134
- | **Loss aversion** | “I cannot afford lost files, silent drift, or another repair cycle.” | Safe-merge conflict policies, scoped write sets, validators, and review evidence |
135
- | **Leverage** | “I want the same agent to finish more work with less repeated explanation.” | Router-based context loading, task capsules, parallel role dispatch, and durable memory |
136
- | **Blind spot** | “A better prompt should be enough.” | A visible process: goal constraints tests feedback, plus a benchmarkable baseline |
155
+ | Direct agent run | One prompt plus ad hoc context | Persistent task state, explicit write boundaries, verification gates, and recoverable handoff |
156
+ | [Claude Code](https://code.claude.com/docs/en/overview), [Codex](https://developers.openai.com/codex), [OpenCode](https://opencode.ai/docs/) | Coding agents and runtimes | Cross-runtime repo contract with the same commands, memory shape, validator, and update policy |
157
+ | [Aider](https://github.com/aider-ai/aider) | Terminal pair-programming, repo map, git/test loop | Harness focuses on install/update safety, task capsules, external benchmark evidence, and multi-runtime workflow routing |
158
+ | [Superpowers](https://github.com/obra/Superpowers) | Skills-based development methodology | Harness adds an npm scaffold, machine-readable ownership/version manifests, safe merge/update scripts, and generated repo-local state |
137
159
 
138
160
  ## Architecture
139
161
 
@@ -143,15 +165,15 @@ README structure should meet people where decisions actually happen. Harness use
143
165
  </a>
144
166
  <br>
145
167
  <sub>
146
- Light infographic · <a href="docs/images/harness-architecture.drawio">editable Drawio source</a>
168
+ Light infographic - <a href="docs/images/harness-architecture.drawio">editable Drawio source</a>
147
169
  </sub>
148
170
  </p>
149
171
 
150
172
  The architecture has three pillars:
151
173
 
152
- 1. **Goals & Constraints** PRD research architecture acceptance criteria.
153
- 2. **Quality Context** a router, context-loading protocol, and durable memory keep attention on the right evidence.
154
- 3. **Decomposition & Feedback** `/wf` and `/wf-max` assign bounded work, then review, verify, learn, and update the next task.
174
+ 1. **Goals & Constraints** - PRD -> research -> architecture -> acceptance criteria.
175
+ 2. **Quality Context** - a router, context-loading protocol, and durable memory keep attention on the right evidence.
176
+ 3. **Decomposition & Feedback** - `/wf` and `/wf-max` assign bounded work, then review, verify, learn, and update the next task.
155
177
 
156
178
  ## What gets scaffolded
157
179
 
@@ -182,11 +204,10 @@ If `Harness/` already exists, first check whether `Harness/scripts/wf-update-che
182
204
 
183
205
  Ask your agent to add the capability you need:
184
206
 
185
- > Add `browser-e2e` and `ui-ux-review` to this Harness project, preserve existing files, run the strict validator, and report exactly what changed.
207
+ > Add `ui-ux-review` and `ts-react-frontend` to this Harness project, preserve existing files, run the strict validator, and report exactly what changed.
186
208
 
187
209
  | Workflow | Use it for |
188
210
  |---|---|
189
- | `browser-e2e` | Screenshots, traces, and smoke tests |
190
211
  | `ui-ux-review` | Responsive, accessibility, and polish review |
191
212
  | `ts-react-frontend` | TypeScript, React, and Vite projects |
192
213
  | `python-backend` | FastAPI and pytest projects |
@@ -239,11 +260,11 @@ Low-version installs can have updater scripts hardcoded to the legacy mirror. Do
239
260
  |---|---|
240
261
  | Runtime | None |
241
262
  | Dependencies | 2 (`@clack/prompts`, `picocolors`) |
242
- | Node.js | 18 |
263
+ | Node.js | >=18 |
243
264
  | Generated application code | None until you choose a stack |
244
265
 
245
266
  ## Keywords and related concepts
246
267
 
247
- AI coding agent framework · agentic workflow · context engineering · long-running coding tasks · task orchestration · durable memory · safe merge · conflict handling · acceptance criteria · Claude Code · Codex · OpenCode · Node.js CLI · developer productivity
268
+ AI coding agent framework; agentic workflow; context engineering; long-running coding tasks; task orchestration; durable memory; safe merge; conflict handling; acceptance criteria; Claude Code; Codex; OpenCode; Node.js CLI; developer productivity
248
269
 
249
- MIT © [LiWeny16](https://github.com/LiWeny16)
270
+ MIT (c) [LiWeny16](https://github.com/LiWeny16)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-harness-vibe-coding",
3
- "version": "0.8.16",
3
+ "version": "0.8.18",
4
4
  "description": "Scaffold a 0-1 product harness for AI-assisted research, PRD, planning, architecture, build, test, and feedback loops",
5
5
  "type": "module",
6
6
  "bin": {