create-harness-vibe-coding 0.8.13 → 0.8.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +165 -0
- package/README-CN.md +41 -9
- package/README.md +39 -9
- package/package.json +2 -1
- package/src/generator.js +601 -472
- package/src/index.js +4 -4
- package/templates/common/.claude/agents/architect-manager.md +1 -0
- package/templates/common/.claude/agents/architect.md +2 -1
- package/templates/common/.claude/agents/codebase-explorer.md +1 -0
- package/templates/common/.claude/agents/context-master.md +2 -1
- package/templates/common/.claude/agents/debugger.md +1 -0
- package/templates/common/.claude/agents/docs-researcher.md +2 -1
- package/templates/common/.claude/agents/explore-manager.md +1 -0
- package/templates/common/.claude/agents/implement-manager.md +1 -0
- package/templates/common/.claude/agents/implementer.md +1 -0
- package/templates/common/.claude/agents/memory-master.md +2 -1
- package/templates/common/.claude/agents/planner.md +3 -2
- package/templates/common/.claude/agents/reflector.md +1 -0
- package/templates/common/.claude/agents/researcher.md +1 -0
- package/templates/common/.claude/agents/review-manager.md +1 -0
- package/templates/common/.claude/agents/reviewer.md +2 -1
- package/templates/common/.claude/agents/task-scribe.md +1 -0
- package/templates/common/.claude/agents/tdd-guide.md +5 -4
- package/templates/common/.claude/agents/test-writer.md +6 -5
- package/templates/common/.claude/agents/verifier.md +1 -0
- package/templates/common/.claude/commands/wf-help.md +1 -0
- package/templates/common/.claude/commands/wf-update.md +68 -10
- package/templates/common/.claude/rules/ecc/common.md +6 -5
- package/templates/common/.claude/skills/subagent-orchestrator/SKILL.md +12 -6
- package/templates/common/.claude/skills/tdd/SKILL.md +5 -5
- package/templates/common/.claude/skills/wf/SKILL.md +13 -5
- package/templates/common/.claude/skills/wf-agents-docs/SKILL.md +119 -0
- package/templates/common/.claude/skills/wf-auto/SKILL.md +27 -7
- package/templates/common/.claude/skills/wf-auto-spark/SKILL.md +12 -5
- package/templates/common/.claude/skills/wf-learn/SKILL.md +6 -0
- package/templates/common/.claude/skills/wf-max/SKILL.md +22 -7
- package/templates/common/.claude/skills/wf-readme/SKILL.md +8 -2
- package/templates/common/.claude/skills/wf-remove/SKILL.md +6 -0
- package/templates/common/.claude/skills/wf-review/SKILL.md +10 -3
- package/templates/common/.claude/skills/wf-update/SKILL.md +41 -4
- package/templates/common/.harness-version +290 -128
- package/templates/common/.opencode/agents/architect-manager.md +1 -0
- package/templates/common/.opencode/agents/architect.md +2 -1
- package/templates/common/.opencode/agents/codebase-explorer.md +1 -0
- package/templates/common/.opencode/agents/context-master.md +2 -1
- package/templates/common/.opencode/agents/debugger.md +1 -0
- package/templates/common/.opencode/agents/docs-researcher.md +2 -1
- package/templates/common/.opencode/agents/explore-manager.md +1 -0
- package/templates/common/.opencode/agents/implement-manager.md +1 -0
- package/templates/common/.opencode/agents/implementer.md +1 -0
- package/templates/common/.opencode/agents/memory-master.md +2 -1
- package/templates/common/.opencode/agents/planner.md +3 -2
- package/templates/common/.opencode/agents/reflector.md +1 -0
- package/templates/common/.opencode/agents/researcher.md +1 -0
- package/templates/common/.opencode/agents/review-manager.md +1 -0
- package/templates/common/.opencode/agents/reviewer.md +2 -1
- package/templates/common/.opencode/agents/task-scribe.md +1 -0
- package/templates/common/.opencode/agents/tdd-guide.md +5 -4
- package/templates/common/.opencode/agents/test-writer.md +6 -5
- package/templates/common/.opencode/agents/verifier.md +1 -0
- package/templates/common/.opencode/commands/wf-auto-spark.md +3 -2
- package/templates/common/.opencode/commands/wf-auto.md +3 -2
- package/templates/common/.opencode/commands/wf-help.md +1 -0
- package/templates/common/.opencode/commands/wf-learn.md +3 -2
- package/templates/common/.opencode/commands/wf-max.md +3 -2
- package/templates/common/.opencode/commands/wf-readme.md +3 -2
- package/templates/common/.opencode/commands/wf-remove.md +3 -2
- package/templates/common/.opencode/commands/wf-review.md +3 -2
- package/templates/common/.opencode/commands/wf-update.md +68 -10
- package/templates/common/.opencode/commands/wf.md +3 -2
- package/templates/common/CLAUDE.md +14 -12
- package/templates/common/Harness/MEMORY.md +21 -18
- package/templates/common/Harness/README.md +41 -39
- package/templates/common/Harness/ownership.manifest.json +815 -0
- package/templates/common/Harness/{architecture.md → project/architecture.md} +1 -1
- package/templates/common/Harness/research/README.md +3 -3
- package/templates/common/Harness/scripts/context-budget.mjs +95 -0
- package/templates/common/Harness/scripts/l2-cache-telemetry.mjs +703 -0
- package/templates/common/Harness/scripts/scan-clean.mjs +13 -3
- package/templates/common/Harness/scripts/validate-harness.mjs +332 -175
- package/templates/common/Harness/scripts/wf-remove.mjs +60 -34
- package/templates/common/Harness/scripts/wf-update-check.mjs +355 -45
- package/templates/common/Harness/settings.json +43 -0
- package/templates/common/Harness/{ECC-GUIDE.md → specs/guides/ECC-GUIDE.md} +4 -4
- package/templates/common/Harness/{SETUP.md → specs/guides/SETUP.md} +32 -35
- package/templates/common/Harness/{extension.md → specs/guides/extension.md} +3 -3
- package/templates/common/Harness/{lifecycle.md → specs/guides/lifecycle.md} +2 -2
- package/templates/common/Harness/{agent-workflow.md → specs/runtime/agent-workflow.md} +6 -6
- package/templates/common/Harness/{context-loading.md → specs/runtime/context-loading.md} +85 -21
- package/templates/common/Harness/{dispatch.md → specs/runtime/dispatch.md} +3 -2
- package/templates/common/Harness/{subagents.md → specs/runtime/subagents.md} +10 -5
- package/templates/common/Harness/{WF-AUTO-SPARK.md → specs/workflows/WF-AUTO-SPARK.md} +2 -2
- package/templates/common/Harness/{WF-AUTO.md → specs/workflows/WF-AUTO.md} +6 -1
- package/templates/common/Harness/{WF-KERNEL.md → specs/workflows/WF-KERNEL.md} +10 -0
- package/templates/common/Harness/{WF-MAX.md → specs/workflows/WF-MAX.md} +10 -5
- package/templates/common/Harness/{WF-STATE.md → specs/workflows/WF-STATE.md} +5 -0
- package/templates/common/Harness/{WF.md → specs/workflows/WF.md} +12 -1
- package/templates/common/README.md +8 -6
- package/templates/common/memory/startup-hints.md +19 -17
- package/templates/optional/skills/browser-e2e/.claude/skills/browser-e2e/SKILL.md +1 -1
- package/templates/optional/skills/browser-e2e/.claude/skills/wf-browser/SKILL.md +7 -0
- package/templates/optional/skills/browser-e2e/.opencode/commands/wf-browser.md +3 -2
- package/templates/optional/skills/browser-e2e/Harness/workflows/browser-e2e.md +4 -4
- package/templates/optional/skills/github-pr-review/.claude/skills/github-pr-review/SKILL.md +1 -1
- package/templates/optional/skills/python-backend/.claude/skills/python-backend/SKILL.md +1 -1
- package/templates/optional/skills/ts-react-frontend/.claude/skills/ts-react-frontend/SKILL.md +1 -1
- package/templates/optional/skills/ui-ux-review/.claude/skills/ui-ux-review/SKILL.md +1 -1
- /package/templates/common/Harness/{ACCEPTANCE_PROTOCOL.md → specs/protocols/ACCEPTANCE_PROTOCOL.md} +0 -0
- /package/templates/common/Harness/{AGENT_ISOLATION.md → specs/protocols/AGENT_ISOLATION.md} +0 -0
- /package/templates/common/Harness/{DEBUG_PROTOCOL.md → specs/protocols/DEBUG_PROTOCOL.md} +0 -0
- /package/templates/common/Harness/{HARNESS_BRIDGE.md → specs/protocols/HARNESS_BRIDGE.md} +0 -0
- /package/templates/common/Harness/{MEMORY_PROTOCOL.md → specs/protocols/MEMORY_PROTOCOL.md} +0 -0
- /package/templates/common/Harness/{TASK_ARCHIVE.md → specs/protocols/TASK_ARCHIVE.md} +0 -0
- /package/templates/common/Harness/{TDD-GUIDE.md → specs/protocols/TDD-GUIDE.md} +0 -0
- /package/templates/common/Harness/{WF-AUTO-ANGLES.md → specs/workflows/WF-AUTO-ANGLES.md} +0 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.8.16] - 2026-07-23
|
|
4
|
+
|
|
5
|
+
- 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.
|
|
6
|
+
- Register `/wf-update` in `Harness/MEMORY.md` as a direct command and add validator coverage for the route.
|
|
7
|
+
- Clean `wf-remove.mjs` human-readable output to remove replacement characters and add a validator guard against future encoding pollution.
|
|
8
|
+
|
|
9
|
+
## [0.8.15] - 2026-07-23
|
|
10
|
+
|
|
11
|
+
- Add real Claude Code L2 prompt-cache telemetry via `Harness/scripts/l2-cache-telemetry.mjs`, including bounded provider-control, thin-startup, and `/wf` light-route probes.
|
|
12
|
+
- Record the measured cache result in README: harness-thin warm median cache read `98.7%` (`+5.4` percentage points vs provider-control) and `/wf` wf-light `99.1%` (`+5.8` percentage points), with the raw local report path and the exact usage-field formula.
|
|
13
|
+
- Add cache regression gates: L0 structure checks, L1 SHA-256 stable-prefix simulation, L2 claim-gated provider telemetry, and context-budget guards for route profiles.
|
|
14
|
+
- Tighten startup routing: normal sessions stay thin (`CLAUDE.md` + `Harness/memory/startup-hints.md`), `Harness/specs/guides/SETUP.md` is retained only as install/bootstrap/migration/upgrade reference, and `Harness/README.md` remains the routed workflow router.
|
|
15
|
+
- Add `wf-agents-docs` CLI invocation guidance for Claude Code, Codex, and OpenCode automation, including JSON telemetry parsing and cache-attribution boundaries.
|
|
16
|
+
- Align `/wf-update` direct commands with the 8-step safe update flow: safe apply first, script-recorded conflict decisions, finalize only after conflicts are resolved, then validate and scan.
|
|
17
|
+
- Harden update/remove consistency: remove script recognizes new built-in agents/skills, updater keeps `Harness/specs/guides/SETUP.md` instead of treating it as disposable bootstrap debt, and validators catch route/cache/update drift.
|
|
18
|
+
|
|
19
|
+
## [0.8.14] - 2026-07-22
|
|
20
|
+
|
|
21
|
+
- Introduce `Harness/ownership.manifest.json` as the machine-readable source of truth for install/update file classification; auto-generated by `node scripts/build-version.mjs` from `templates/common/` + `templates/optional/catalog.json`, manifest-first with content-marker fallback for old installs.
|
|
22
|
+
- Fix optional-skill collision: user same-name skills (e.g. `browser-e2e`) are no longer overwritten when the option is not installed (`optionalOwned` → `safe-if-installed`).
|
|
23
|
+
- Normalize line endings via `.gitattributes` so `git diff --check` stays clean across Windows/POSIX.
|
|
24
|
+
- Release gate reminder: legacy `zingspark` mirror sync AND `npm publish` must both complete before announcing an update as available to existing users.
|
|
25
|
+
- Install collision guard: same-name user-authored agents/commands/skills are preserved under overwrite/backup/skip and surface as conflicts under fail; only files carrying a Harness ownership marker upgrade, and a warning names each preserved user file.
|
|
26
|
+
- Tighten Harness-ownership detection: drop the broad `/wf` substring marker that false-matched user files merely mentioning `/wf`; frontmatter and specific identity markers remain.
|
|
27
|
+
- Docs: align `/wf-update` command and skill with updater behavior — carry-forward covers all merge-tier files (CLAUDE.md, AGENTS.md, MEMORY.md, Harness/MEMORY.md, Harness/README.md), root README.md is PRESERVE while Harness/README.md is merge-tier, and safe-apply covers SAFE/NEW/adopted files.
|
|
28
|
+
- Release gate: legacy mirror must also publish the tag's GitHub Release, not only commit/tag/manifest.
|
|
29
|
+
- Carry forward unchanged accepted CLAUDE.md/AGENTS.md conflict decisions so update checks do not re-ask for the same keep-local choice every release.
|
|
30
|
+
- Detect existing untracked Harness-owned agent/command/skill files by content markers before overwriting; same-name user files remain real conflicts.
|
|
31
|
+
- Add `harness: wf-agent` markers to built-in agent frontmatter for future content-based ownership checks.
|
|
32
|
+
- Prepare SAFE/NEW update files concurrently while preserving all-or-nothing checksum validation before writing.
|
|
33
|
+
|
|
34
|
+
## [0.8.13] - 2026-07-22
|
|
35
|
+
|
|
36
|
+
- Make Harness updates resolve from npm `create-harness-vibe-coding@latest` first, with `LiWeny16/create-harness-vibe-coding` as the canonical GitHub fallback and `zingspark/create-harness-vibe-coding` as the legacy mirror fallback.
|
|
37
|
+
- Keep generated installs on the canonical `LiWeny16` source while requiring `zingspark` legacy mirror sync for old updaters.
|
|
38
|
+
- Make `--apply-safe` validate all remote hashes before writing any SAFE/NEW files.
|
|
39
|
+
- Force the latest install CLI's existing-Harness update switch to pass the canonical `LiWeny16` source to older updater scripts.
|
|
40
|
+
|
|
41
|
+
## [0.8.12] - 2026-07-22
|
|
42
|
+
|
|
43
|
+
- Harden `/wf-auto-spark` with documented search fallbacks, reflector escalation, and drift/delegation anti-pattern guards.
|
|
44
|
+
- Make task-scribe the default process-file writer for spark and WF-MAX task-state updates.
|
|
45
|
+
- Add validator and generator coverage for the new spark protocol contract.
|
|
46
|
+
- Refresh the homepage 3D Act 1 opening layout and interaction refinements.
|
|
47
|
+
|
|
48
|
+
## [0.8.11] - 2026-07-21
|
|
49
|
+
|
|
50
|
+
- Move repository metadata, README links, and Harness update sources to `LiWeny16/create-harness-vibe-coding`.
|
|
51
|
+
- Prepare personal-repo maintenance as the canonical public source.
|
|
52
|
+
|
|
53
|
+
## [0.8.10] - 2026-07-21
|
|
54
|
+
|
|
55
|
+
- Move Harness update reminders to startup-only hooks for Claude, Codex, and OpenCode.
|
|
56
|
+
- Harden `wf-update-check.mjs` so stable updates prefer a usable GitHub release, ignore prerelease generators, and fall back to `main` when release metadata is stale.
|
|
57
|
+
- Add validator, generator, E2E, pack-smoke, and CI/pre-push coverage for startup-only update checks.
|
|
58
|
+
- Reject drive-letter paths in Harness update/remove/clean scripts across platforms.
|
|
59
|
+
|
|
60
|
+
## [0.8.9] - 2026-07-17
|
|
61
|
+
|
|
62
|
+
- Add safe recovery for older Harness installs missing `wf-update-check.mjs`.
|
|
63
|
+
- Tighten update-check JSON output and WF-AUTO hook output to keep default agent context small.
|
|
64
|
+
- Add L2 startup memory hints and L3 memory route indexing to generated Harness installs.
|
|
65
|
+
- Add symlink write-path protection and P0 regressions for scaffold safety.
|
|
66
|
+
- Include the README icon in the published npm package.
|
|
67
|
+
|
|
68
|
+
## [0.5.0] - 2026-06-25
|
|
69
|
+
|
|
70
|
+
- `/wf-learn` command: force memory learning cycle (context-master → memory-master → project + global memory).
|
|
71
|
+
- Fix auto-trigger: replace unreliable "3x failure" rule with mandatory closeout gate in wf-mode.
|
|
72
|
+
- Register `/wf-learn` in all routers (CLAUDE.md, MEMORY.md, README.md).
|
|
73
|
+
|
|
74
|
+
## [0.4.3] - 2026-06-25
|
|
75
|
+
|
|
76
|
+
- Add CHANGELOG.md with full version history (0.1.4 → 0.4.2).
|
|
77
|
+
- Create git tags v0.3.0–v0.4.2 and GitHub Releases for all major versions.
|
|
78
|
+
- Bump harness-version to 0.4.2.
|
|
79
|
+
|
|
80
|
+
## [0.4.2] - 2026-06-25
|
|
81
|
+
|
|
82
|
+
- Simplify CLAUDE.md Section 7: route to WF.md/WF-MAX.md instead of inline dispatch rules.
|
|
83
|
+
|
|
84
|
+
## [0.4.1] - 2026-06-25
|
|
85
|
+
|
|
86
|
+
- CEO must not write code directly in `/wf` or `/wf-max` mode — delegate only.
|
|
87
|
+
- Reinforce CEO constraint in WF-MAX.md.
|
|
88
|
+
|
|
89
|
+
## [0.4.0] - 2026-06-25
|
|
90
|
+
|
|
91
|
+
- `/wf <task/mission>`: command now accepts a required task argument.
|
|
92
|
+
- `/wf-max [task]`: renamed from `/wf max`, accepts an optional task argument.
|
|
93
|
+
- Remove `wf-mode` as a standalone slash command (skill still handles natural-language triggers).
|
|
94
|
+
- CEO must not call `EnterPlanMode` — delegate planning to `planner` subagents.
|
|
95
|
+
- Sync all trigger keywords across CLAUDE.md, Harness docs, validators, and templates.
|
|
96
|
+
|
|
97
|
+
## [0.3.4] - 2026-06-25
|
|
98
|
+
|
|
99
|
+
- Fix markdown bold syntax — move punctuation outside `**` markers.
|
|
100
|
+
- Full README rewrite: concise, punchy, scannable.
|
|
101
|
+
- Sync README EN/CN: agent prompt top, full CN alignment.
|
|
102
|
+
|
|
103
|
+
## [0.3.3] - 2026-06-24
|
|
104
|
+
|
|
105
|
+
- WF-MAX cross-reference integrity fix.
|
|
106
|
+
- Sync harness dogfood to 0.3.3: version bump, SETUP.md, recompute checksums.
|
|
107
|
+
|
|
108
|
+
## [0.3.2] - 2026-06-24
|
|
109
|
+
|
|
110
|
+
- `/wf max`: three-tier enterprise hierarchy (CEO → Managers → Workers).
|
|
111
|
+
- Span formula, leaf condition, wave orchestration, manager synthesis protocol.
|
|
112
|
+
|
|
113
|
+
## [0.3.1] - 2026-06-23
|
|
114
|
+
|
|
115
|
+
- Fix README-CN mermaid syntax.
|
|
116
|
+
- Sync README-CN with English, add mermaid workflow diagram.
|
|
117
|
+
|
|
118
|
+
## [0.3.0] - 2026-06-23
|
|
119
|
+
|
|
120
|
+
- PROGRESS.md + tasks/ task capsules.
|
|
121
|
+
- WF update mechanism (`/wf update`).
|
|
122
|
+
- memory-master and context-master agents.
|
|
123
|
+
- Cohesion rule (feature doc < Worker granularity).
|
|
124
|
+
|
|
125
|
+
## [0.2.1] - 2026-06-22
|
|
126
|
+
|
|
127
|
+
- WF multi-agent routing with subagent orchestration.
|
|
128
|
+
|
|
129
|
+
## [0.2.0] - 2026-06-22
|
|
130
|
+
|
|
131
|
+
- Harness root workflow (`/wf`).
|
|
132
|
+
- CLAUDE.md, Harness/ docs structure, and initial agent roster.
|
|
133
|
+
|
|
134
|
+
## [0.1.10] - 2026-06-21
|
|
135
|
+
|
|
136
|
+
- Non-invasive harness bootstrap.
|
|
137
|
+
- Optional skills catalog.
|
|
138
|
+
- `--json` output flag.
|
|
139
|
+
|
|
140
|
+
## [0.1.9] - 2026-06-21
|
|
141
|
+
|
|
142
|
+
- Feature versioning: iterate vs new based on 85% overlap rule.
|
|
143
|
+
|
|
144
|
+
## [0.1.8] - 2026-06-21
|
|
145
|
+
|
|
146
|
+
- Template Fill Guide in SETUP.md: map every placeholder to expected content.
|
|
147
|
+
|
|
148
|
+
## [0.1.7] - 2026-06-21
|
|
149
|
+
|
|
150
|
+
- Skill-discovery guide.
|
|
151
|
+
- CLAUDE.md renumbering.
|
|
152
|
+
- SETUP.md isolation.
|
|
153
|
+
|
|
154
|
+
## [0.1.6] - 2026-06-20
|
|
155
|
+
|
|
156
|
+
- Wire architecture research refs, seed repos, and user-confirmation protocol into harness.
|
|
157
|
+
|
|
158
|
+
## [0.1.5] - 2026-06-20
|
|
159
|
+
|
|
160
|
+
- Add `-y`/`--yes` and `-h`/`--help` flags.
|
|
161
|
+
- Document agent self-bootstrapping.
|
|
162
|
+
|
|
163
|
+
## [0.1.4] - 2026-06-20
|
|
164
|
+
|
|
165
|
+
- Initial public release.
|
package/README-CN.md
CHANGED
|
@@ -29,6 +29,16 @@
|
|
|
29
29
|
|
|
30
30
|
它不是 prompt 集合,也不是模型本身。它解决的是另一个问题:同一个 agent 为什么第一轮看起来很好,第二轮却开始忘记决策、扩大修改范围、跳过验证?
|
|
31
31
|
|
|
32
|
+
## 0.8.15 新增重点
|
|
33
|
+
|
|
34
|
+
这一版把“cache-first 设计”从原则推进到可复现实测:
|
|
35
|
+
|
|
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 规则。
|
|
41
|
+
|
|
32
42
|
## 一句话安装(已有项目推荐)
|
|
33
43
|
|
|
34
44
|
把下面这句话原样丢给正在使用的 Agent:
|
|
@@ -43,11 +53,11 @@ Agent 读取本 README 后,按项目状态选择安装路径:
|
|
|
43
53
|
|---|---|
|
|
44
54
|
| 新项目 | `npx create-harness-vibe-coding@latest my-project -y` |
|
|
45
55
|
| 已有项目 | `npx create-harness-vibe-coding@latest my-project . -y --on-conflict skip --json` |
|
|
46
|
-
| 已有 `Harness/` 且存在 `Harness/scripts/wf-update-check.mjs` | `node Harness/scripts/wf-update-check.mjs --json
|
|
56
|
+
| 已有 `Harness/` 且存在 `Harness/scripts/wf-update-check.mjs` | `node Harness/scripts/wf-update-check.mjs --json`,走更新流程,不要重复安装;apply/finalize 后要汇报 `agent.releaseHighlights` 和验证结果 |
|
|
47
57
|
| 已有 `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` |
|
|
48
58
|
| 安装或更新完成 | `node Harness/scripts/validate-harness.mjs --strict` |
|
|
49
59
|
|
|
50
|
-
安装后的
|
|
60
|
+
安装后的 handoff 按阶段区分:正常会话入口是 `CLAUDE.md`;`Harness/specs/guides/SETUP.md` 只用于安装/bootstrap、迁移或升级决策;需要 Harness 工作流路由时再读 `Harness/README.md`。遵守项目已有边界;先研究和计划,再修改代码;完成后运行测试、校验和审查,未验证不要声称完成。
|
|
51
61
|
|
|
52
62
|
用户不需要手动执行命令。把上面一句话交给 Agent,Agent 负责安装、冲突处理、校验和汇报。
|
|
53
63
|
|
|
@@ -65,13 +75,13 @@ Agent 读取本 README 后,按项目状态选择安装路径:
|
|
|
65
75
|
| `/wf-learn` | 同类错误反复出现,或一次任务结束后要沉淀经验 | 汇总上下文、记忆和项目经验,形成下一次可复用规则 | `/wf-learn 总结这次返修原因` |
|
|
66
76
|
| `/wf-browser <任务>` | 浏览器冒烟、E2E、截图、表单或页面验证 | 使用真实浏览器完成操作并提供截图、追踪和验证证据 | `/wf-browser 验证登录和支付流程` |
|
|
67
77
|
| `/wf-readme <任务>` | README、安装文档、架构图或项目说明需要重写 | 保留事实,整理结构,补充安装和使用说明 | `/wf-readme 优化中文 README` |
|
|
68
|
-
| `/wf-update` | 已经安装 Harness,需要检查和应用框架更新 | 比较版本,自动处理安全变更,把语义冲突留给 Agent | `/wf-update` |
|
|
78
|
+
| `/wf-update` | 已经安装 Harness,需要检查和应用框架更新 | 比较版本,自动处理安全变更,把语义冲突留给 Agent,并从 changelog metadata 汇报本次升级核心变化 | `/wf-update` |
|
|
69
79
|
| `/wf-remove` | 需要卸载 Harness | 自动清理安全文件,保留用户数据,冲突文件先确认 | `/wf-remove` |
|
|
70
80
|
| `/wf-help` | 不知道该用哪个命令 | 只返回命令、用途和用法,不启动工作流 | `/wf-help` |
|
|
71
81
|
|
|
72
82
|
Claude Code 使用 `/wf-*`;Codex 使用对应的 `$wf-*`;OpenCode 使用已注册的命令或 Agent instruction。`/wf-auto` 和 `/wf-auto-spark` 是持续模式,启动前要给 Agent 清晰的目标、范围和验收标准。
|
|
73
83
|
|
|
74
|
-
常见场景可以这样起步:Web/API 先看正确性、安全、可靠性和验证;CLI/SDK 先看契约、兼容性、错误体验和文档;AI Agent 先看上下文质量、工具安全、评测和恢复;数据任务先看幂等性、失败恢复和可观测性。完整的自适应选择规则见 [WF-AUTO-ANGLES.md](Harness/WF-AUTO-ANGLES.md)。
|
|
84
|
+
常见场景可以这样起步:Web/API 先看正确性、安全、可靠性和验证;CLI/SDK 先看契约、兼容性、错误体验和文档;AI Agent 先看上下文质量、工具安全、评测和恢复;数据任务先看幂等性、失败恢复和可观测性。完整的自适应选择规则见 [WF-AUTO-ANGLES.md](Harness/specs/workflows/WF-AUTO-ANGLES.md)。
|
|
75
85
|
|
|
76
86
|
## 它改变了什么?
|
|
77
87
|
|
|
@@ -121,8 +131,8 @@ Harness 把一次模糊请求变成一条可以追踪的路径:
|
|
|
121
131
|
|
|
122
132
|
| 目录或文件 | 作用 |
|
|
123
133
|
|---|---|
|
|
124
|
-
| `CLAUDE.md`、`AGENTS.md` | agent
|
|
125
|
-
| `Harness/README.md`、`Harness/MEMORY.md` |
|
|
134
|
+
| `CLAUDE.md`、`AGENTS.md` | agent 会话入口契约和兼容指针 |
|
|
135
|
+
| `Harness/README.md`、`Harness/MEMORY.md` | Harness 工作流路由和资源索引 |
|
|
126
136
|
| `Harness/tasks/`、`Harness/PROGRESS.md` | 跨会话保存任务状态和接力信息 |
|
|
127
137
|
| `.claude/`、`.agents/`、`.codex/`、`.opencode/` | 不同 coding agent 的发现入口和配置 |
|
|
128
138
|
| `templates/common/`、`templates/optional/` | 可生成脚手架的声明式源文件 |
|
|
@@ -136,6 +146,20 @@ Harness 把一次模糊请求变成一条可以追踪的路径:
|
|
|
136
146
|
|
|
137
147
|
数字也必须说清楚:当前仓库还没有发布受控 A/B 实验,因此不能把“稳定性提升 50%”冒充成真实结果。真正能对外说的数字,只有用同一个模型、同一个仓库、同一个任务、同一个预算跑出来的结果。基准对比使用 `bare-agent`、`harness-wf`、`harness-wf-max` 三种模式。
|
|
138
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`。
|
|
152
|
+
|
|
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`。
|
|
154
|
+
|
|
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 的泛化承诺。
|
|
162
|
+
|
|
139
163
|
| 你真正关心的结果 | 没有 Harness | 使用 Harness | 可复现实测口径 |
|
|
140
164
|
|---|---|---|---|
|
|
141
165
|
| 稳定性 | 能跑就算完成,覆盖文件和漏验证常常事后才发现 | 写入前分类冲突,完成后必须经过测试、校验和审查 | 验证通过率、未授权覆盖次数、安全事故数 |
|
|
@@ -170,7 +194,7 @@ Harness 把一次模糊请求变成一条可以追踪的路径:
|
|
|
170
194
|
| `python-backend` | FastAPI、pytest 项目 |
|
|
171
195
|
| `github-pr-review` | PR diff 审查和 CI 证据 |
|
|
172
196
|
|
|
173
|
-
外部推荐只会记录到 `Harness/SETUP.md`,不会自动安装:
|
|
197
|
+
外部推荐只会记录到 `Harness/specs/guides/SETUP.md`,不会自动安装:
|
|
174
198
|
|
|
175
199
|
| 推荐 | 用途 | 来源 |
|
|
176
200
|
|---|---|---|
|
|
@@ -196,6 +220,10 @@ node Harness/scripts/validate-harness.mjs --strict
|
|
|
196
220
|
npm run check:mirrors
|
|
197
221
|
```
|
|
198
222
|
|
|
223
|
+
## 所有权清单
|
|
224
|
+
|
|
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)绝不覆盖。
|
|
226
|
+
|
|
199
227
|
## 发布门禁
|
|
200
228
|
|
|
201
229
|
铁律:每次 Harness 更新发版都必须同时保持两个更新通道可用:
|
|
@@ -203,7 +231,9 @@ npm run check:mirrors
|
|
|
203
231
|
- Canonical:npm `create-harness-vibe-coding@latest` 和 `https://github.com/LiWeny16/create-harness-vibe-coding`
|
|
204
232
|
- 低版本兼容镜像:`https://github.com/zingspark/create-harness-vibe-coding`
|
|
205
233
|
|
|
206
|
-
低版本用户的 updater 可能已经硬编码到旧的 `zingspark` 仓库。发布不能只更新新仓库;必须等 legacy mirror 拥有同一份 commit
|
|
234
|
+
低版本用户的 updater 可能已经硬编码到旧的 `zingspark` 仓库。发布不能只更新新仓库;必须等 legacy mirror 拥有同一份 `main` 分支 commit、版本 tag、生成后的 template manifest(`templates/common/.harness-version` 与 `templates/common/Harness/ownership.manifest.json`),且该 tag 对应的 GitHub Release artifact 已在 legacy mirror 上发布,且全部与 canonical 一致,才算发版完成。新安装生成的 `Harness/.harness-version` 仍然记录 canonical `LiWeny16` source;`zingspark` 只作为旧用户兼容镜像保留。
|
|
235
|
+
|
|
236
|
+
“代码就绪”不等于“用户可更新”。已发布 npm 的用户只有在 `npm publish` 完成、GitHub release/tag 已创建、且两个镜像都已同步之后,才能拿到新版本。在三者全部完成之前,不要向现有用户宣布更新可用。
|
|
207
237
|
|
|
208
238
|
## 适配范围与体积
|
|
209
239
|
|
|
@@ -219,9 +249,11 @@ my-project/
|
|
|
219
249
|
├── CLAUDE.md / AGENTS.md ← agent 入口
|
|
220
250
|
├── Harness/
|
|
221
251
|
│ ├── README.md ← 文档路由器
|
|
222
|
-
│ ├── SETUP.md ← bootstrap 指南
|
|
223
252
|
│ ├── MEMORY.md ← 资源索引
|
|
224
253
|
│ ├── PROGRESS.md ← 任务追踪器
|
|
254
|
+
│ ├── settings.json ← 框架配置
|
|
255
|
+
│ ├── specs/ ← 工作流、协议、运行时与安装指南
|
|
256
|
+
│ ├── project/ ← 项目架构文档
|
|
225
257
|
│ ├── tasks/ ← 任务胶囊
|
|
226
258
|
│ ├── research/ ← PRD 与研究模板
|
|
227
259
|
│ └── scripts/ ← 校验器
|
package/README.md
CHANGED
|
@@ -40,6 +40,16 @@ Idea → Research → PRD → Architecture → Acceptance Criteria
|
|
|
40
40
|
→ Build → Test → Review → Verify → Learn → Update
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
+
## What's new in 0.8.15
|
|
44
|
+
|
|
45
|
+
This release turns cache-friendliness from documentation into measured evidence:
|
|
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.
|
|
52
|
+
|
|
43
53
|
## One-line install (recommended for existing repos)
|
|
44
54
|
|
|
45
55
|
Paste this into your agent:
|
|
@@ -54,11 +64,11 @@ After reading this README, the agent selects the path that matches the project:
|
|
|
54
64
|
|---|---|
|
|
55
65
|
| New project | `npx create-harness-vibe-coding@latest my-project -y` |
|
|
56
66
|
| Existing project | `npx create-harness-vibe-coding@latest my-project . -y --on-conflict skip --json` |
|
|
57
|
-
| Existing `Harness/` with `Harness/scripts/wf-update-check.mjs` | `node Harness/scripts/wf-update-check.mjs --json`; update, do not reinstall |
|
|
67
|
+
| Existing `Harness/` with `Harness/scripts/wf-update-check.mjs` | `node Harness/scripts/wf-update-check.mjs --json`; update, do not reinstall; after apply/finalize, report `agent.releaseHighlights` plus validation results |
|
|
58
68
|
| 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` |
|
|
59
69
|
| After install or update | `node Harness/scripts/validate-harness.mjs --strict` |
|
|
60
70
|
|
|
61
|
-
After installation,
|
|
71
|
+
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.
|
|
62
72
|
|
|
63
73
|
The user does not need to run commands manually. The agent handles installation, conflict handling, validation, and the handoff.
|
|
64
74
|
|
|
@@ -76,13 +86,13 @@ When in doubt, use `/wf-help`. It returns the full command table. Use `/wf` for
|
|
|
76
86
|
| `/wf-learn` | The same mistakes keep recurring or a completed task needs to become reusable knowledge | Consolidates context, memory, and project lessons | `/wf-learn summarize why this task needed rework` |
|
|
77
87
|
| `/wf-browser <task>` | Browser smoke tests, E2E, screenshots, forms, or UI verification | Uses a real browser and returns screenshots, traces, and evidence | `/wf-browser verify login and checkout` |
|
|
78
88
|
| `/wf-readme <task>` | README, install docs, architecture diagrams, or project docs need work | Preserves facts while improving structure, setup, and usage guidance | `/wf-readme improve the Chinese README` |
|
|
79
|
-
| `/wf-update` | Harness is already installed and needs an update | Compares versions, applies safe changes,
|
|
89
|
+
| `/wf-update` | Harness is already installed and needs an update | Compares versions, applies safe changes, leaves semantic conflicts to the agent, and reports release highlights from the changelog metadata | `/wf-update` |
|
|
80
90
|
| `/wf-remove` | You need to uninstall Harness | Removes safe files, preserves user data, and asks before touching conflicts | `/wf-remove` |
|
|
81
91
|
| `/wf-help` | You do not know which command to use | Returns command usage without starting a workflow | `/wf-help` |
|
|
82
92
|
|
|
83
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.
|
|
84
94
|
|
|
85
|
-
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/WF-AUTO-ANGLES.md) selection protocol.
|
|
95
|
+
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.
|
|
86
96
|
|
|
87
97
|
Chinese README: [README-CN.md](README-CN.md)
|
|
88
98
|
|
|
@@ -101,6 +111,20 @@ Better prompts can improve one turn. A harness improves the conditions around ev
|
|
|
101
111
|
|
|
102
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).
|
|
103
113
|
|
|
114
|
+
### Prompt-cache L2 sample
|
|
115
|
+
|
|
116
|
+
On 2026-07-23, this dogfood repository ran a bounded Claude Code L2 prompt-cache probe with `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`.
|
|
117
|
+
|
|
118
|
+
Source: Claude Code JSON usage fields, especially `usage.cache_read_input_tokens` and `usage.cache_creation_input_tokens`. Read ratio is `cache_read_input_tokens / (input_tokens + cache_creation_input_tokens + cache_read_input_tokens)`. The raw local report is outside the repo at `~/.claude/cache-telemetry/harness-l2-claim-20260723-130331.json`.
|
|
119
|
+
|
|
120
|
+
| Route | Turns | Success | Warm median cache read | Warm range | Warm median latency | Uplift vs provider-control |
|
|
121
|
+
|---|---:|---:|---:|---:|---:|---:|
|
|
122
|
+
| provider-control | 11 | 11/11 | 93.3% | 91.1%-95.4% | 2123.5 ms | baseline |
|
|
123
|
+
| harness-thin | 11 | 11/11 | 98.7% | 98.1%-99.2% | 1786.5 ms | +5.4 percentage points |
|
|
124
|
+
| `/wf` wf-light | 11 | 11/11 | 99.1% | 98.7%-99.7% | 2900 ms | +5.8 percentage points |
|
|
125
|
+
|
|
126
|
+
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
|
+
|
|
104
128
|
## Three human motivations, used ethically
|
|
105
129
|
|
|
106
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.
|
|
@@ -133,8 +157,8 @@ The architecture has three pillars:
|
|
|
133
157
|
|
|
134
158
|
| Layer | Purpose |
|
|
135
159
|
|---|---|
|
|
136
|
-
| `CLAUDE.md`, `AGENTS.md` | Agent entry contract and
|
|
137
|
-
| `Harness/README.md`, `Harness/MEMORY.md` |
|
|
160
|
+
| `CLAUDE.md`, `AGENTS.md` | Agent session entry contract and compatibility pointer |
|
|
161
|
+
| `Harness/README.md`, `Harness/MEMORY.md` | Harness workflow router and resource index |
|
|
138
162
|
| `Harness/tasks/`, `Harness/PROGRESS.md` | Resumable task state across sessions |
|
|
139
163
|
| `.claude/`, `.agents/`, `.codex/`, `.opencode/` | Tool-specific discovery and configuration |
|
|
140
164
|
| `templates/common/`, `templates/optional/` | Declarative scaffold source and optional workflows |
|
|
@@ -150,7 +174,7 @@ Paste this to your agent:
|
|
|
150
174
|
Read and follow https://github.com/LiWeny16/create-harness-vibe-coding exactly to configure this project with create-harness-vibe-coding.
|
|
151
175
|
```
|
|
152
176
|
|
|
153
|
-
The agent-first path previews the target before writing and preserves project-owned files.
|
|
177
|
+
The agent-first path previews the target before writing and preserves project-owned files. `Harness/specs/guides/SETUP.md` is the retained bootstrap/migration reference created by the scaffold; it is not the normal session entry.
|
|
154
178
|
|
|
155
179
|
If `Harness/` already exists, first check whether `Harness/scripts/wf-update-check.mjs` exists. If it does, use `/wf-update`, `$wf-update`, or `node Harness/scripts/wf-update-check.mjs --json` instead of reinstalling blindly. If it is missing, run the safe CLI recovery command from the installation table first, then run the updater.
|
|
156
180
|
|
|
@@ -168,7 +192,7 @@ Ask your agent to add the capability you need:
|
|
|
168
192
|
| `python-backend` | FastAPI and pytest projects |
|
|
169
193
|
| `github-pr-review` | PR diff review and CI evidence |
|
|
170
194
|
|
|
171
|
-
External recommendations are recorded in `Harness/SETUP.md`; they are not auto-installed.
|
|
195
|
+
External recommendations are recorded in `Harness/specs/guides/SETUP.md`; they are not auto-installed.
|
|
172
196
|
|
|
173
197
|
| Recommendation | Use it for | Source |
|
|
174
198
|
|---|---|---|
|
|
@@ -194,6 +218,10 @@ node Harness/scripts/validate-harness.mjs --strict
|
|
|
194
218
|
npm run check:mirrors
|
|
195
219
|
```
|
|
196
220
|
|
|
221
|
+
## Ownership manifest
|
|
222
|
+
|
|
223
|
+
`Harness/ownership.manifest.json` is the machine-readable source of truth for file classification during install/update. It is auto-generated from `templates/common/` + `templates/optional/catalog.json` by `node scripts/build-version.mjs`. Framework-owned files overwrite-upgrade; user data (tasks, memory, research, README, package, PROGRESS) is preserved; CLAUDE/AGENTS/Harness README merge; same-name user agents/commands/skills (no marker) are never overwritten.
|
|
224
|
+
|
|
197
225
|
## Release gate
|
|
198
226
|
|
|
199
227
|
Iron rule: every update release must keep both update channels live:
|
|
@@ -201,7 +229,9 @@ Iron rule: every update release must keep both update channels live:
|
|
|
201
229
|
- Canonical: npm `create-harness-vibe-coding@latest` and `https://github.com/LiWeny16/create-harness-vibe-coding`
|
|
202
230
|
- Legacy compatibility mirror: `https://github.com/zingspark/create-harness-vibe-coding`
|
|
203
231
|
|
|
204
|
-
Low-version installs can have updater scripts hardcoded to the legacy mirror. Do not mark a release complete until the legacy mirror exposes the same commit
|
|
232
|
+
Low-version installs can have updater scripts hardcoded to the legacy mirror. Do not mark a release complete until the legacy mirror exposes the same commit on `main`, the version tag, the generated template manifest (`templates/common/.harness-version` AND `templates/common/Harness/ownership.manifest.json`), and the tag's GitHub Release artifact, all matching canonical. Generated installs still record the canonical `LiWeny16` source; the `zingspark` repo is kept for backward compatibility.
|
|
233
|
+
|
|
234
|
+
"Code ready" is not "users can update". Users on published npm receive the new version only AFTER `npm publish` completes AND the GitHub release/tag is cut AND both mirrors are synced. Do not announce the update as available to existing users until all three are done.
|
|
205
235
|
|
|
206
236
|
## Footprint
|
|
207
237
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-harness-vibe-coding",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.16",
|
|
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": {
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"docs/images/harness-icon.png",
|
|
14
14
|
"docs/images/harness-architecture-light.png",
|
|
15
15
|
"docs/images/harness-architecture.drawio",
|
|
16
|
+
"CHANGELOG.md",
|
|
16
17
|
"README-CN.md"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|