spec-wave 2.1.2 → 2.1.3
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/README.md +16 -16
- package/README.zh-CN.md +16 -16
- package/RELEASING.md +31 -22
- package/assets/harness/discipline-coverage.yaml +1 -1
- package/assets/ide/host-adapt/README.md +5 -5
- package/assets/ontology.yaml +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[简体中文](README.zh-CN.md) | English
|
|
4
4
|
|
|
5
|
-
**SpecWave** (`spec-wave@2.1.
|
|
5
|
+
**SpecWave** (`spec-wave@2.1.3`) is a **multi-host coding CLI** (Cursor · Claude Code · optional DSH) with **P0 gate / Harness process commands** and IDE landing. Formerly **SpecGate** / **dsh-coding-kit**. Discipline assets remain ICVO (Inform · Constrain · Verify · Orchestrate).
|
|
6
6
|
|
|
7
7
|
> **Loading ≠ injecting.** Installing or loading the optional DSH plugin does **not** automatically rewrite the system prompt. `apply()` only registers tools. Only after you or the model calls `apply_coding_standards` will later turns' runtime context contain `# Coding Standards`.
|
|
8
8
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
| Cursor / Claude Code / CI on existing repos | `npx spec-wave` (+ optional `host apply`) | Don't treat the plugin `init_coding_kit` and the CLI `init` as the same entry |
|
|
14
14
|
| DSH session / model calling tools (optional) | `dsh plugin add spec-wave` (`dsh-coding-kit` **deprecated** — do not add the old name) | Don't just `npm install` (without the bundle layer the tools won't appear) |
|
|
15
15
|
|
|
16
|
-
Primary entry is **`npx spec-wave`** from npm package **`spec-wave@2.1.
|
|
16
|
+
Primary entry is **`npx spec-wave`** from npm package **`spec-wave@2.1.3`**. Transition bins `specgate` and `dsh-coding-kit` still work. The plugin surface and the CLI surface do not replace each other.
|
|
17
17
|
|
|
18
18
|
### Multi-host in one package (F6 · 2.0 + skills/orch · 2.1 · tools UX · 2.1.1)
|
|
19
19
|
|
|
@@ -40,17 +40,17 @@ One declarative table → native landing on several hosts (always_on + skills +
|
|
|
40
40
|
Shortest path (dry-run first, then write):
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
npx spec-wave@2.1.
|
|
44
|
-
npx spec-wave@2.1.
|
|
45
|
-
npx spec-wave@2.1.
|
|
43
|
+
npx spec-wave@2.1.3 host validate
|
|
44
|
+
npx spec-wave@2.1.3 host apply --tools cursor,claude,dsh --profile core
|
|
45
|
+
npx spec-wave@2.1.3 host apply --tools cursor,claude,dsh --profile core --yes
|
|
46
46
|
# optional: --profile expanded # kit-hat-* thin shells
|
|
47
47
|
# optional: --tools all
|
|
48
48
|
|
|
49
49
|
# After upgrading the package: refresh sticky hosts (no need to re-list --tools)
|
|
50
|
-
npx spec-wave@2.1.
|
|
50
|
+
npx spec-wave@2.1.3 host update --yes
|
|
51
51
|
|
|
52
52
|
# First-time / CI: init + host selection (process-root only: --tools none)
|
|
53
|
-
npx spec-wave@2.1.
|
|
53
|
+
npx spec-wave@2.1.3 init --preset harness-only --tools cursor,claude,dsh --yes
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
After `--yes`, Cursor Command Palette should see `kit-verify` / `kit-gate-status` / …; Claude Code should see `/kit:verify` etc.; DSH should list matching `.dsh/skills/kit-*`. Full matrix: [`assets/ide/host-adapt/README.md`](assets/ide/host-adapt/README.md) · dogfood/recording: [`docs/guides/DOGFOOD_host_adapt_cursor_claude_录屏清单_v1_zh.md`](docs/guides/DOGFOOD_host_adapt_cursor_claude_录屏清单_v1_zh.md) · plan: [`docs/roadmap/PLAN_2_1_1_host_tools_ux_v1_zh.md`](docs/roadmap/PLAN_2_1_1_host_tools_ux_v1_zh.md).
|
|
@@ -159,7 +159,7 @@ This **source repo** dogfoods `graph yaml compile|check|export` against `docs/_t
|
|
|
159
159
|
|
|
160
160
|
Since 1.7.0 the graph-facing behavior of `graph yaml export` / `graph yaml check` is corrected: ① export writes `graph_id` from the yaml-declared value (`data.graph_id`, e.g. `00_main`) as the single source of truth into graphs/nodes/edges, no longer the path-namespaced id (e.g. `l0/00_main`) — path ids remain input-compat only (`--graph-id` / file discovery); ② `check --all` filters graph.json slices with the same declared-value source as export output, so kit-produced root graph.json and check mutually recognize each other; ③ export preserves edge labels for every mark type (`?>` / `~>` / `::…` / `[…]`) — topology-protocol marks are carried as edge attributes instead of dropping the label text; ④ the Mermaid class block emitted by compile is driven by `nodes[].kind` (`flow`/`struct`/`external` → `phase`/`doc`/`infra`), with id-based inference kept as a fallback for nodes without `kind`. Exit codes are unchanged. **Consumer note**: consumers depending on the old export output (namespaced graph_id / dropped labels) must re-run `graph yaml export`.
|
|
161
161
|
|
|
162
|
-
`check` compares `manifest.version` against the package version three ways (up-to-date / upgradeable / higher). Since 1.5.2, when the manifest carries a non-null `from_version` (i.e. it was migrated from the old `@cyning/harness` product line), a "higher" comparison reports a cross-product-line migration (`@cyning/harness X →
|
|
162
|
+
`check` compares `manifest.version` against the package version three ways (up-to-date / upgradeable / higher). Since 1.5.2, when the manifest carries a non-null `from_version` (i.e. it was migrated from the old `@cyning/harness` product line), a "higher" comparison reports a cross-product-line migration (`@cyning/harness X → spec-wave Y` — version numbers are not comparable across product lines) and suggests `npx spec-wave upgrade --yes`, instead of a misleading "possible downgrade" warning; since 1.7.0 this criterion is narrowed so only a `from_version` in the old product line's vocabulary (the 2.x series) takes the migration wording — a kit-line (1.x) `from_version` and `from_version: null` both keep the original three-way wording. The exit code is unchanged (always 0).
|
|
163
163
|
|
|
164
164
|
### refresh-ide-blocks (R-07 · literal refresh of stale commands in existing IDE blocks)
|
|
165
165
|
|
|
@@ -228,15 +228,15 @@ When a task declares `test_strategy=required`, `audit` / `verify` run the D5 har
|
|
|
228
228
|
|
|
229
229
|
Full checklist, layout rules (F4 scheme B), and **published** EOS / deprecate calendar: see [`MIGRATION.md`](./MIGRATION.md).
|
|
230
230
|
|
|
231
|
-
After pinning **spec-wave@2.1.
|
|
231
|
+
After pinning **spec-wave@2.1.3** you can drop `@cyning/harness`. Minimal path, three steps (required, in order):
|
|
232
232
|
|
|
233
|
-
1. Replace the `devDependency` `@cyning/harness` with `spec-wave` (pin `2.1.
|
|
234
|
-
2. Run `npx spec-wave upgrade --yes` at the repo root (reads `.coding-kit/manifest.json` if present, else legacy `.cyning-harness/manifest.json`; **writes** `.coding-kit/manifest.json` with `version` pinned at 2.1.
|
|
233
|
+
1. Replace the `devDependency` `@cyning/harness` with `spec-wave` (pin `2.1.3`; formerly `dsh-coding-kit`).
|
|
234
|
+
2. Run `npx spec-wave upgrade --yes` at the repo root (reads `.coding-kit/manifest.json` if present, else legacy `.cyning-harness/manifest.json`; **writes** `.coding-kit/manifest.json` with `version` pinned at 2.1.3 and `from_version` recording the old number; **does not delete** `.cyning-harness/`).
|
|
235
235
|
3. In CI / scripts, replace `npx @cyning/harness` / `npx dsh-coding-kit` with `npx spec-wave`.
|
|
236
236
|
|
|
237
237
|
**Layout**: new kit process files land under **`.coding-kit/`**. `.cyning-harness/` remains **legacy read-only**. Do not treat `.cyning-harness` as the new standard root.
|
|
238
238
|
|
|
239
|
-
Skill installation is **recommended, not required** (the minimal path does not depend on DSH scanning skills). Commands are always `npx spec-wave`. **`@cyning/harness` is deprecated** on npm (2026-09-10 · maintainer-only); pin **`spec-wave@2.1.
|
|
239
|
+
Skill installation is **recommended, not required** (the minimal path does not depend on DSH scanning skills). Commands are always `npx spec-wave`. **`@cyning/harness` is deprecated** on npm (2026-09-10 · maintainer-only); pin **`spec-wave@2.1.3`** and migrate via `MIGRATION.md`.
|
|
240
240
|
|
|
241
241
|
### FAQ · pnpm peer
|
|
242
242
|
|
|
@@ -247,12 +247,12 @@ If pnpm install still fails on the peer chain (e.g. resolving to an unpublished
|
|
|
247
247
|
Paste the whole block:
|
|
248
248
|
|
|
249
249
|
````text
|
|
250
|
-
You = the maintenance agent of this repository. Migrate this repo from @cyning/harness to spec-wave@2.1.
|
|
250
|
+
You = the maintenance agent of this repository. Migrate this repo from @cyning/harness to spec-wave@2.1.3.
|
|
251
251
|
|
|
252
252
|
Minimal path (required, in order):
|
|
253
|
-
1. package.json devDependency: delete @cyning/harness, replace with spec-wave (pinned at 2.1.
|
|
253
|
+
1. package.json devDependency: delete @cyning/harness, replace with spec-wave (pinned at 2.1.3; formerly dsh-coding-kit).
|
|
254
254
|
2. Run at the repo root: npx spec-wave upgrade --yes
|
|
255
|
-
(reads .coding-kit/manifest.json or legacy .cyning-harness/manifest.json; writes .coding-kit/manifest.json; version pinned at 2.1.
|
|
255
|
+
(reads .coding-kit/manifest.json or legacy .cyning-harness/manifest.json; writes .coding-kit/manifest.json; version pinned at 2.1.3, from_version records the old number; never deletes .cyning-harness/; never overwrites docs/tasks, reviews, invokes/by-task.)
|
|
256
256
|
3. Replace every npx @cyning/harness and npx dsh-coding-kit in CI and scripts with npx spec-wave.
|
|
257
257
|
Commands are always npx spec-wave. Never write npx @cyning/harness skills build again.
|
|
258
258
|
See MIGRATION.md for layout (.coding-kit vs legacy) and EOS calendar (pending human gates).
|
|
@@ -316,7 +316,7 @@ Three surfaces, not interchangeable: **System/Re-anchor** = short identity; **fu
|
|
|
316
316
|
|
|
317
317
|
## Releasing (maintainers)
|
|
318
318
|
|
|
319
|
-
**Current package**: **`spec-wave@2.1.
|
|
319
|
+
**Current package**: **`spec-wave@2.1.3`** — **preparing publish** (human: `git tag v2.1.3` · `npm publish`). Prior published: **`2.1.2`** (rename closeout · see CHANGELOG).
|
|
320
320
|
|
|
321
321
|
Release process: see [RELEASING.md](RELEASING.md) — hard pre-publish checklist (commit-before-publish · four green gates · version pins · Agent may bump/tag · **human-only `npm publish`**; institutionalizes the DEF-001 lesson).
|
|
322
322
|
|
package/README.zh-CN.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
简体中文 | [English](README.md)
|
|
4
4
|
|
|
5
|
-
**SpecWave**(`spec-wave@2.1.
|
|
5
|
+
**SpecWave**(`spec-wave@2.1.3`)是 **多宿主编码 CLI**(Cursor · Claude Code · 可选 DSH),带 **P0 闸 / Harness 过程命令** 与 IDE 物化。曾用名 **SpecGate** / **dsh-coding-kit**。纪律资产仍是 ICVO(Inform · Constrain · Verify · Orchestrate)。
|
|
6
6
|
|
|
7
7
|
> **加载 ≠ 注入。** 安装或加载可选 DSH 插件 **不会** 自动改写 system prompt。`apply()` 只注册工具。必须由你或模型调用 `apply_coding_standards` 之后,后续回合的 runtime context 才会含 `# Coding Standards`。
|
|
8
8
|
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
| Cursor / Claude Code / CI · 存量仓 | `npx spec-wave`(可选 `host apply`) | 不要把插件 `init_coding_kit` 与 CLI `init` 当成同一入口 |
|
|
14
14
|
| DSH 会话 / 模型调工具(可选) | `dsh plugin add spec-wave`(旧包 `dsh-coding-kit` **已 deprecate**,勿再 add 旧名) | 不要只 `npm install`(缺 bundle 层则工具不出现) |
|
|
15
15
|
|
|
16
|
-
主入口是 npm 包 **`spec-wave@2.1.
|
|
16
|
+
主入口是 npm 包 **`spec-wave@2.1.3`** 的 **`npx spec-wave`**。过渡 bin `specgate` / `dsh-coding-kit` 仍可用。插件面与 CLI 面互不替代。
|
|
17
17
|
|
|
18
18
|
### 一包多宿主(F6 · 2.0 + 技能/编排 · 2.1 · tools UX · 2.1.1)
|
|
19
19
|
|
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
最短路径(先 dry-run,再写盘):
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
|
-
npx spec-wave@2.1.
|
|
44
|
-
npx spec-wave@2.1.
|
|
45
|
-
npx spec-wave@2.1.
|
|
43
|
+
npx spec-wave@2.1.3 host validate
|
|
44
|
+
npx spec-wave@2.1.3 host apply --tools cursor,claude,dsh --profile core
|
|
45
|
+
npx spec-wave@2.1.3 host apply --tools cursor,claude,dsh --profile core --yes
|
|
46
46
|
# 可选:--profile expanded # kit-hat-* 薄壳
|
|
47
47
|
# 可选:--tools all
|
|
48
48
|
|
|
49
49
|
# 升包后:刷粘性已选宿主(不必再抄 --tools)
|
|
50
|
-
npx spec-wave@2.1.
|
|
50
|
+
npx spec-wave@2.1.3 host update --yes
|
|
51
51
|
|
|
52
52
|
# 首次 / CI:init 选型(仅过程根:--tools none)
|
|
53
|
-
npx spec-wave@2.1.
|
|
53
|
+
npx spec-wave@2.1.3 init --preset harness-only --tools cursor,claude,dsh --yes
|
|
54
54
|
```
|
|
55
55
|
|
|
56
56
|
`--yes` 后:Cursor 命令面板应可见 `kit-verify` / `kit-gate-status` 等;Claude Code 应对应出现 `/kit:verify` 等;DSH 应列出 `.dsh/skills/kit-*`。完整矩阵见 [`assets/ide/host-adapt/README.md`](assets/ide/host-adapt/README.md);录屏清单见 [`docs/guides/DOGFOOD_host_adapt_cursor_claude_录屏清单_v1_zh.md`](docs/guides/DOGFOOD_host_adapt_cursor_claude_录屏清单_v1_zh.md);规划见 [`docs/roadmap/PLAN_2_1_1_host_tools_ux_v1_zh.md`](docs/roadmap/PLAN_2_1_1_host_tools_ux_v1_zh.md)。
|
|
@@ -159,7 +159,7 @@ kit **源码仓**以 `docs/_tech_graph/` 做 `graph yaml compile|check|export`
|
|
|
159
159
|
|
|
160
160
|
`graph yaml export` / `graph yaml check` 的 graph 面行为自 1.7.0 起修正:① export 的 `graph_id` 以 yaml 声明值(`data.graph_id`,如 `00_main`)为唯一真值源写入 graphs/nodes/edges,不再用路径命名空间 id(如 `l0/00_main`)——路径 id 仅作输入兼容定位(`--graph-id` / 文件发现);② `check --all` 的 graph.json 切片过滤口径与 export 输出对齐(同一声明值真值源),kit 自产根 json 与 check 互认;③ export 保留全部 mark 类型(`?>` / `~>` / `::…` / `[…]`)的边 label(拓扑协议标记作为边属性呈现,不再丢弃 label 文本);④ compile 生成的 Mermaid class 段按 `nodes[].kind`(`flow`/`struct`/`external` → `phase`/`doc`/`infra`)生成,无 `kind` 时保留 id 推断作兜底。exit 码不变。**消费者注意**:依赖旧 export 输出(命名空间 graph_id / 空 label)的消费方需重跑 `graph yaml export`。
|
|
161
161
|
|
|
162
|
-
`check` 对 `manifest.version` 与包版本做三向比较(已是最新 / 可升级 / 高于)。自 1.5.2 起,当 manifest 带非 null `from_version`(即从旧 `@cyning/harness` 产品线迁来)时,「高于」分支输出跨产品线迁移语义(`@cyning/harness X →
|
|
162
|
+
`check` 对 `manifest.version` 与包版本做三向比较(已是最新 / 可升级 / 高于)。自 1.5.2 起,当 manifest 带非 null `from_version`(即从旧 `@cyning/harness` 产品线迁来)时,「高于」分支输出跨产品线迁移语义(`@cyning/harness X → spec-wave Y`——跨产品线版本号不可比)并建议 `npx spec-wave upgrade --yes`,不再误报「可能为降级安装」;自 1.7.0 起该判据收窄为 `from_version` 属旧包产品线词表(2.x 系列)才走迁移文案,kit 线(1.x)`from_version` 与 `from_version: null` 均保留原三向文案。exit 码不变(恒 0)。
|
|
163
163
|
|
|
164
164
|
### refresh-ide-blocks(R-07 · 存量 IDE 块旧命令字面刷写)
|
|
165
165
|
|
|
@@ -228,15 +228,15 @@ kit **源码仓**以 `docs/_tech_graph/` 做 `graph yaml compile|check|export`
|
|
|
228
228
|
|
|
229
229
|
完整清单、F4 方案 B 布局与 **已公布** EOS / deprecate 日历:见 [`MIGRATION.md`](./MIGRATION.md)。
|
|
230
230
|
|
|
231
|
-
钉 **spec-wave@2.1.
|
|
231
|
+
钉 **spec-wave@2.1.3** 后可去掉 `@cyning/harness`。最小路径三步(必须,按序):
|
|
232
232
|
|
|
233
|
-
1. 把 `devDependency` `@cyning/harness` 换成 `spec-wave`(钉 `2.1.
|
|
234
|
-
2. 在仓根执行 `npx spec-wave upgrade --yes`(读优先 `.coding-kit/manifest.json`,否则 legacy `.cyning-harness/manifest.json`;**写入** `.coding-kit/manifest.json`,`version` 钉 2.1.
|
|
233
|
+
1. 把 `devDependency` `@cyning/harness` 换成 `spec-wave`(钉 `2.1.3`;曾用名 `dsh-coding-kit`)。
|
|
234
|
+
2. 在仓根执行 `npx spec-wave upgrade --yes`(读优先 `.coding-kit/manifest.json`,否则 legacy `.cyning-harness/manifest.json`;**写入** `.coding-kit/manifest.json`,`version` 钉 2.1.3,`from_version` 记旧号;**不删除** `.cyning-harness/`)。
|
|
235
235
|
3. CI / 脚本里把 `npx @cyning/harness` / `npx dsh-coding-kit` 换成 `npx spec-wave`。
|
|
236
236
|
|
|
237
237
|
**布局**:过程落盘现行根为 **`.coding-kit/`**;`.cyning-harness/` 为 **legacy 只读**。勿再把 `.cyning-harness` 当新标准目录。
|
|
238
238
|
|
|
239
|
-
Skill 安装为 **推荐、非必须**(最小路径不依赖 DSH 扫 skill)。命令一律 `npx spec-wave`。旧包 **`@cyning/harness` 已在 npm deprecate**(2026-09-10 · 仅维护者可操作);请钉 **`spec-wave@2.1.
|
|
239
|
+
Skill 安装为 **推荐、非必须**(最小路径不依赖 DSH 扫 skill)。命令一律 `npx spec-wave`。旧包 **`@cyning/harness` 已在 npm deprecate**(2026-09-10 · 仅维护者可操作);请钉 **`spec-wave@2.1.3`** 并按 `MIGRATION.md` 迁移。
|
|
240
240
|
|
|
241
241
|
### FAQ · pnpm peer
|
|
242
242
|
|
|
@@ -247,12 +247,12 @@ Skill 安装为 **推荐、非必须**(最小路径不依赖 DSH 扫 skill)
|
|
|
247
247
|
整段粘贴:
|
|
248
248
|
|
|
249
249
|
````text
|
|
250
|
-
你 = 本仓库维护 Agent。把本仓从 @cyning/harness 迁到 spec-wave@2.1.
|
|
250
|
+
你 = 本仓库维护 Agent。把本仓从 @cyning/harness 迁到 spec-wave@2.1.3。
|
|
251
251
|
|
|
252
252
|
最小路径(必须,按序):
|
|
253
|
-
1. package.json 的 devDependency:删除 @cyning/harness,改为 spec-wave(钉 2.1.
|
|
253
|
+
1. package.json 的 devDependency:删除 @cyning/harness,改为 spec-wave(钉 2.1.3;曾用名 dsh-coding-kit)。
|
|
254
254
|
2. 在仓根执行:npx spec-wave upgrade --yes
|
|
255
|
-
(读 .coding-kit/manifest.json 或 legacy .cyning-harness/manifest.json;写入 .coding-kit/manifest.json;version 钉 2.1.
|
|
255
|
+
(读 .coding-kit/manifest.json 或 legacy .cyning-harness/manifest.json;写入 .coding-kit/manifest.json;version 钉 2.1.3,from_version 记旧号;不删除 .cyning-harness/;不覆盖 docs/tasks、reviews、invokes/by-task。)
|
|
256
256
|
3. CI 与脚本里所有 npx @cyning/harness 与 npx dsh-coding-kit 换成 npx spec-wave。
|
|
257
257
|
命令一律 npx spec-wave。禁止再写 npx @cyning/harness skills build。
|
|
258
258
|
布局与 EOS 日历见 MIGRATION.md(人闸未批前不得宣称已 deprecate)。
|
|
@@ -316,7 +316,7 @@ Skills **不能**覆盖全部过程能力。Host 要嵌套 Harness 过程,须
|
|
|
316
316
|
|
|
317
317
|
## 发版(维护者)
|
|
318
318
|
|
|
319
|
-
**现行包**:**`spec-wave@2.1.
|
|
319
|
+
**现行包**:**`spec-wave@2.1.3`** — **准备 publish**(人:`git tag v2.1.3` · `npm publish`)。前一已发:**`2.1.2`**(改名收口 · 见 CHANGELOG)。
|
|
320
320
|
|
|
321
321
|
发布流程见 [RELEASING.md](RELEASING.md) —— publish 前硬步骤 checklist(先 commit 后 publish · 四门全绿 · 版本钉同步 · **Agent 可 bump/tag** · **`npm publish` 仅人**;DEF-001 教训制度化)。
|
|
322
322
|
|
package/RELEASING.md
CHANGED
|
@@ -10,17 +10,18 @@
|
|
|
10
10
|
|
|
11
11
|
| 项 | 值 |
|
|
12
12
|
|----|-----|
|
|
13
|
-
|
|
|
14
|
-
| **registry `latest`(仍)** | **`spec-wave@2.1.
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
|
|
|
13
|
+
| **工作树(准备中)** | **`spec-wave@2.1.3`**(**未 published** · 改名收口残余修复 · 待人 publish) |
|
|
14
|
+
| **registry `latest`(仍)** | **`spec-wave@2.1.2`**(**已 published** · 2026-09-10 · 人 · tag **`v2.1.2`**) |
|
|
15
|
+
| **前一 latest** | **`spec-wave@2.1.1`**(改名半完成史实) |
|
|
16
|
+
| **旧包名** | **`dsh-coding-kit`** · **已 deprecate**(文案 → `spec-wave`) |
|
|
17
|
+
| **git(史实 · 2.1.1)** | tag **`v2.1.1`** · 改名前身份;**已用 `v2.1.2` 重建可溯源点**;本轮再发 **`v2.1.3`**(**禁止** `git tag -f`) |
|
|
18
|
+
| **主题(准备中 · 2.1.3)** | README/断言收尾 · 发布溯源测(tag↔package.json) |
|
|
19
|
+
| **主题(已发 · 2.1.2)** | SpecWave 改名收口 |
|
|
20
|
+
| **前一发版** | **`2.1.2`** · **`2.1.1`** · **`2.1.0`** |
|
|
21
|
+
| **更早旧包** | `@cyning/harness` **已 deprecate**(文案指 **`spec-wave`**) |
|
|
22
|
+
| **1.x** | **CLOSED** |
|
|
23
|
+
| **下一主线** | **人 publish `2.1.3`** → 其后 2.1.x+ / 2.2 |
|
|
24
|
+
| **验收(2.1.2)** | [`docs/roadmap/ACCEPTANCE_2_1_2_rename_closeout_2_1_2_zh.md`](docs/roadmap/ACCEPTANCE_2_1_2_rename_closeout_2_1_2_zh.md) · **CLOSED** |
|
|
24
25
|
| **验收(2.1.1 UX)** | [`docs/roadmap/ACCEPTANCE_2_1_1_host_tools_ux_2_1_1_zh.md`](docs/roadmap/ACCEPTANCE_2_1_1_host_tools_ux_2_1_1_zh.md) |
|
|
25
26
|
| **规划 / SPEC(2.1.2)** | [`docs/roadmap/PLAN_2_1_2_rename_closeout_v1_zh.md`](docs/roadmap/PLAN_2_1_2_rename_closeout_v1_zh.md) · [`docs/spec/2_1_2-rename-closeout/`](docs/spec/2_1_2-rename-closeout/) |
|
|
26
27
|
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
2. `2.1.0` 多平台技能+编排(registry 曾为 `latest=2.1.0`)
|
|
31
32
|
3. `2.1.1` host tools UX(checklist ⑨ 已核 · registry **仍** `latest=2.1.1` 直至 `2.1.2` publish)
|
|
32
33
|
|
|
33
|
-
> 下方通用硬步骤供勾选;本轮以 **2.1.
|
|
34
|
+
> 下方通用硬步骤供勾选;本轮以 **2.1.3** 为目标版本。
|
|
34
35
|
|
|
35
36
|
## 硬步骤(按序执行 · 全部满足后方可 publish)
|
|
36
37
|
|
|
@@ -38,23 +39,31 @@
|
|
|
38
39
|
- [ ] **② 质量闸门全绿**:`npm run typecheck && npm test && npm run build && npm run test:lib` 依次全绿(与 `prepublishOnly` 同一四门;任一红即停止,先修再发)。(Agent 可做)
|
|
39
40
|
- [ ] **③ CHANGELOG 版本节已归拢**:`CHANGELOG.md` 的 `## [Unreleased]` 内容已归入 `## [X.Y.Z] - YYYY-MM-DD` 版本节(日期 + 版本号齐全),无残留 Unreleased 条目遗漏。(Agent 可做)
|
|
40
41
|
- [ ] **④ 版本钉(pins)已同步(F5 方案 B)**:新版本号已同步全部**现行钉点** —— `assets/ontology.yaml#product_semver`、`assets/harness/discipline-coverage.yaml#as_of_package_version`、README 双文件中的 `spec-wave@x.y.z`、以及含版本断言的测试。闸测:`test/version-pins-f5.test.ts`(及既有 ontology / discipline 分面测)。**仓根 `SPEC.md` 为 archived epic,不要求与包版本对齐,禁止再把其标题当作现行契约。**(Agent 可做)
|
|
41
|
-
- [ ] **⑤ npm version + tag(Agent 默认可做)**:`npm version <patch|minor|major>`(或等价:改 `package.json` + 钉点同步后落 version commit + `vX.Y.Z` tag);确认 tag 与 CHANGELOG 版本节一致。**禁止**在钉点未同步时 bump
|
|
42
|
+
- [ ] **⑤ npm version + tag(Agent 默认可做)**:`npm version <patch|minor|major>`(或等价:改 `package.json` + 钉点同步后落 version commit + `vX.Y.Z` tag);确认 tag 与 CHANGELOG 版本节一致。**禁止**在钉点未同步时 bump。**本仓另有** `test/release-tag-identity.test.ts`:须先有 `vX.Y.Z` tag 再期望测绿。
|
|
42
43
|
- [ ] **⑥ PR 合并 + CI 绿**:发版 PR 已 merge 进 `main` 且 CI 全绿(**CI 未绿禁合**);`git push` 含 `--follow-tags`(或单独 push tag),远端 main 与 tag 指向发布真值。(Agent 可推送,须用户/环境授权)
|
|
43
44
|
- [ ] **⑦ npm pack --dry-run 检查**:`npm pack --dry-run` 逐行核对 tarball 清单 —— 无 `test/` 泄漏、无工作区/私仓文件;仅 `package.json#files` 白名单(`bin` / `lib` / `assets` / `cordis.patch.yml` / `README.md` / `LICENSE`)内的内容入包。(Agent 可做)
|
|
44
45
|
- [ ] **⑧ npm publish(仅人)**:`npm publish`(`prepublishOnly` 会自动重跑②四门;⑦已核对清单)。**Agent 不得执行本步。**
|
|
45
46
|
- [ ] **⑨ publish 后核验 + 过程档状态更新**:`npm view spec-wave version`(及 `dist-tags`)确认新版本已生效;抽样验证;更新过程档状态为已发布。(人 publish 后 · Agent 可代核)
|
|
46
47
|
|
|
47
|
-
### 人 checklist · `2.1.
|
|
48
|
+
### 人 checklist · `2.1.3` 发版(**仅人** · Agent 禁执行)
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
1. [ ] 确认工作树已 commit(含 bump `2.1.3` · CHANGELOG · 钉点 · 四门绿 · tag `v2.1.3`)
|
|
51
|
+
2. [ ] `git push origin main && git push origin v2.1.3`
|
|
52
|
+
3. [ ] `npm publish`(包名 `spec-wave` · 版本 `2.1.3`)
|
|
53
|
+
4. [ ] 探针:`npm view spec-wave version` → `2.1.3`;`git show v2.1.3:package.json` → `name=spec-wave` · `version=2.1.3`
|
|
54
|
+
5. [ ] (可选)刷新 deprecate 文案钉点至 `@2.1.3`
|
|
50
55
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
### 人 checklist · `2.1.2` 发版(**已完成** · 史实)
|
|
57
|
+
|
|
58
|
+
> 真值闸:`HG-PUBLISH` / `HG-DEPRECATE-HARNESS` = **approved**(人 · 2026-09-10)。
|
|
59
|
+
|
|
60
|
+
1. [x] 确认工作树已 commit(含 bump `2.1.2` · CHANGELOG · 钉点 · 四门绿证据)
|
|
61
|
+
2. [x] `git tag v2.1.2 <publish-commit>`(**禁止** `git tag -f`)
|
|
62
|
+
3. [x] `npm publish`(包名 `spec-wave` · 版本 `2.1.2`)
|
|
63
|
+
4. [x] 探针:`git show v2.1.2:package.json` → `name=spec-wave` · `version=2.1.2`;`npm view spec-wave version` → `2.1.2`
|
|
64
|
+
5. [x] `npm deprecate @cyning/harness "…"` 文案改指 **`spec-wave`**(勿再把 `dsh-coding-kit` 当终点)
|
|
65
|
+
6. [x] 签 task 表 **`HG-PUBLISH=approved`** · **`HG-DEPRECATE-HARNESS=approved`**
|
|
66
|
+
7. [x] 回填 ACCEPTANCE / 过程档为已 published(00 代核 ⑨)
|
|
58
67
|
|
|
59
68
|
|
|
60
69
|
## 禁令速查
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# not_wired = 声称的机制在本包未接线(旧包机制名仅见于「旧包史实」notes · 接线计划见 PRD_DEF-003 阶段二)
|
|
12
12
|
|
|
13
13
|
version: "1"
|
|
14
|
-
as_of_package_version: "2.1.
|
|
14
|
+
as_of_package_version: "2.1.3"
|
|
15
15
|
scope: "Starter · harness/prompts (10/22/30/40 + FRAGMENT)+ TEMPLATE_invoke"
|
|
16
16
|
source_audit: "私仓 rethink 2026-07 mechanization-rate 转录聚合 · 2026-08-24 按 dsh-coding-kit 1.2.3 src/ 逐条重盘(DEF-005 机制台账)"
|
|
17
17
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Host-adapt · 落点矩阵与 CLI(2.1.
|
|
1
|
+
# Host-adapt · 落点矩阵与 CLI(2.1.3)
|
|
2
2
|
|
|
3
3
|
> 适配表示例:[`examples/mvp-hosts.yaml`](./examples/mvp-hosts.yaml)
|
|
4
4
|
> Schema:[`host-adapt.schema.json`](./host-adapt.schema.json)
|
|
@@ -38,7 +38,7 @@ npx spec-wave init --preset harness-only [--tools all|none|LIST] [--profile core
|
|
|
38
38
|
"host_ids": ["cursor", "claude", "dsh", "agents"],
|
|
39
39
|
"profile": "core",
|
|
40
40
|
"updated_at": "2026-09-10T00:00:00.000Z",
|
|
41
|
-
"kit_semver": "2.1.
|
|
41
|
+
"kit_semver": "2.1.3"
|
|
42
42
|
}
|
|
43
43
|
```
|
|
44
44
|
|
|
@@ -58,7 +58,7 @@ npx spec-wave init --preset harness-only [--tools all|none|LIST] [--profile core
|
|
|
58
58
|
升包后推荐:
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
npx spec-wave@2.1.
|
|
61
|
+
npx spec-wave@2.1.3 host update --yes
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
## `init` 选型(对齐 OpenSpec)
|
|
@@ -103,10 +103,10 @@ Expanded(`--profile expanded`):`kit-hat-00-delegate` · `kit-hat-10-spec`
|
|
|
103
103
|
```bash
|
|
104
104
|
# 首次 / 改选型
|
|
105
105
|
node ./lib/cli.js host apply --tools cursor,claude,dsh,agents --profile core --yes
|
|
106
|
-
# 或:npx spec-wave@2.1.
|
|
106
|
+
# 或:npx spec-wave@2.1.3 host apply --tools cursor,claude,dsh,agents --profile core --yes
|
|
107
107
|
|
|
108
108
|
# 升包后只刷已选(读粘性;不必再抄 LIST)
|
|
109
|
-
npx spec-wave@2.1.
|
|
109
|
+
npx spec-wave@2.1.3 host update --yes
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
落点(`.cursor/` · `.claude/` · `.dsh/` · `.agents/` · `CLAUDE.md` · `AGENTS.md`)**应入库**。
|
package/assets/ontology.yaml
CHANGED
package/package.json
CHANGED