spec-wave 2.1.1

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 (175) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +327 -0
  3. package/README.zh-CN.md +327 -0
  4. package/RELEASING.md +52 -0
  5. package/assets/README.md +30 -0
  6. package/assets/ci/samples/README.md +76 -0
  7. package/assets/ci/samples/hgm-ingest.yml.example +42 -0
  8. package/assets/ci/samples/lint-wiki-delta.pin.yml.example +47 -0
  9. package/assets/ci/samples/lint-wiki-delta.yml.example +49 -0
  10. package/assets/ci/samples/pytest.yml.example +49 -0
  11. package/assets/ci/samples/quality.yml.example +56 -0
  12. package/assets/ci/samples/skills-validate.yml.example +38 -0
  13. package/assets/ci/samples/tech-graph.yml.example +55 -0
  14. package/assets/coding_wiki/templates/README.md +115 -0
  15. package/assets/coding_wiki/templates/_index.md +19 -0
  16. package/assets/coding_wiki/templates/context.md +18 -0
  17. package/assets/coding_wiki/templates/stable.md +26 -0
  18. package/assets/coding_wiki/templates/topics/wiki_layout.md +13 -0
  19. package/assets/coding_wiki/templates/topics/wikilinks_export.md +13 -0
  20. package/assets/coding_wiki/templates/volatile.md +25 -0
  21. package/assets/docs/POINTER_ONBOARDING.md +9 -0
  22. package/assets/docs/POINTER_RUNBOOK_wiki_delta.md +18 -0
  23. package/assets/docs/POINTER_SDD_HAT_FLOW.md +8 -0
  24. package/assets/docs/POINTER_USER_GUIDE.md +8 -0
  25. package/assets/graph/stubs/README.md +6 -0
  26. package/assets/graph/templates/00_main.graph.yaml +72 -0
  27. package/assets/graph/templates/00_main.md +85 -0
  28. package/assets/graph/templates/01_struct.md +38 -0
  29. package/assets/graph/templates/02_version.md +7 -0
  30. package/assets/graph/templates/10_flow_MAIN.graph.yaml +105 -0
  31. package/assets/graph/templates/10_flow_MAIN.md +103 -0
  32. package/assets/graph/templates/99_mermaid_protocol.md +156 -0
  33. package/assets/graph/templates/README.md +66 -0
  34. package/assets/harness/README.md +18 -0
  35. package/assets/harness/discipline-coverage.yaml +320 -0
  36. package/assets/harness/invokes/README.md +22 -0
  37. package/assets/harness/invokes/TEMPLATE_invoke.md +61 -0
  38. package/assets/harness/lifecycle.yaml +127 -0
  39. package/assets/harness/prompts/00-orchestrator.md +91 -0
  40. package/assets/harness/prompts/10-spec-requirements.md +63 -0
  41. package/assets/harness/prompts/10-task-requirements.md +70 -0
  42. package/assets/harness/prompts/20-spec-audit.md +50 -0
  43. package/assets/harness/prompts/20-task-audit.md +90 -0
  44. package/assets/harness/prompts/30-execute-code.md +64 -0
  45. package/assets/harness/prompts/40-self-check.md +65 -0
  46. package/assets/harness/prompts/FRAGMENT_00_delegate_only_v1_zh.md +19 -0
  47. package/assets/harness/prompts/FRAGMENT_30_gate_verify_v1_zh.md +34 -0
  48. package/assets/harness/prompts/FRAGMENT_30_invoke_block_v1_zh.md +28 -0
  49. package/assets/harness/prompts/FRAGMENT_hat_reanchor_v1_zh.md +19 -0
  50. package/assets/harness/prompts/README.md +67 -0
  51. package/assets/harness/prompts/TEMPLATE_30_gate_stop.md +36 -0
  52. package/assets/harness/templates/FRAGMENT_task_domain_infer_v1_zh.md +16 -0
  53. package/assets/harness/templates/ONTOLOGY_consumer_slice_v1.md +41 -0
  54. package/assets/harness/templates/QUICKREF_v1_zh.md +35 -0
  55. package/assets/harness/templates/README.md +50 -0
  56. package/assets/harness/templates/TASK_TEMPLATE.md +133 -0
  57. package/assets/harness/templates/TASK_done_README.md +76 -0
  58. package/assets/harness/templates/TASK_epic.md +103 -0
  59. package/assets/harness/templates/TASK_graph_bootstrap.md +115 -0
  60. package/assets/harness/templates/VIEW_done_by_domain.md +66 -0
  61. package/assets/harness/templates/VIEW_done_thin_pointer.md +16 -0
  62. package/assets/ide/adapters/AGENTS.md.fragment.example +33 -0
  63. package/assets/ide/adapters/CLAUDE.md.fragment.example +32 -0
  64. package/assets/ide/adapters/README.md +57 -0
  65. package/assets/ide/adapters/cursor-harness-starter.mdc.example +39 -0
  66. package/assets/ide/commands/claude/kit/apply-standards.md +10 -0
  67. package/assets/ide/commands/claude/kit/gate-status.md +10 -0
  68. package/assets/ide/commands/claude/kit/graph-check.md +8 -0
  69. package/assets/ide/commands/claude/kit/hat-00-delegate.md +9 -0
  70. package/assets/ide/commands/claude/kit/hat-10-spec.md +9 -0
  71. package/assets/ide/commands/claude/kit/hat-10-task.md +9 -0
  72. package/assets/ide/commands/claude/kit/hat-20-spec-audit.md +9 -0
  73. package/assets/ide/commands/claude/kit/hat-20-task-audit.md +9 -0
  74. package/assets/ide/commands/claude/kit/hat-reanchor.md +8 -0
  75. package/assets/ide/commands/claude/kit/init-guide.md +16 -0
  76. package/assets/ide/commands/claude/kit/sync-prompts-guide.md +9 -0
  77. package/assets/ide/commands/claude/kit/verify.md +16 -0
  78. package/assets/ide/commands/cursor/kit-apply-standards.md +12 -0
  79. package/assets/ide/commands/cursor/kit-gate-status.md +12 -0
  80. package/assets/ide/commands/cursor/kit-graph-check.md +10 -0
  81. package/assets/ide/commands/cursor/kit-hat-00-delegate.md +11 -0
  82. package/assets/ide/commands/cursor/kit-hat-10-spec.md +11 -0
  83. package/assets/ide/commands/cursor/kit-hat-10-task.md +11 -0
  84. package/assets/ide/commands/cursor/kit-hat-20-spec-audit.md +11 -0
  85. package/assets/ide/commands/cursor/kit-hat-20-task-audit.md +11 -0
  86. package/assets/ide/commands/cursor/kit-hat-reanchor.md +10 -0
  87. package/assets/ide/commands/cursor/kit-init-guide.md +18 -0
  88. package/assets/ide/commands/cursor/kit-sync-prompts-guide.md +11 -0
  89. package/assets/ide/commands/cursor/kit-verify.md +18 -0
  90. package/assets/ide/host-adapt/README.md +113 -0
  91. package/assets/ide/host-adapt/examples/mvp-hosts.yaml +78 -0
  92. package/assets/ide/host-adapt/host-adapt.schema.json +97 -0
  93. package/assets/ide/skills-orch/README.md +16 -0
  94. package/assets/ide/skills-orch/kit-apply-standards/SKILL.md +17 -0
  95. package/assets/ide/skills-orch/kit-gate-status/SKILL.md +17 -0
  96. package/assets/ide/skills-orch/kit-hat-reanchor/SKILL.md +15 -0
  97. package/assets/ide/skills-orch/kit-init-guide/SKILL.md +23 -0
  98. package/assets/ide/skills-orch/kit-verify/SKILL.md +23 -0
  99. package/assets/ontology.yaml +113 -0
  100. package/assets/skills/README.md +37 -0
  101. package/assets/skills/harness-00-delegate-only/SKILL.md +19 -0
  102. package/assets/skills/harness-10-spec/SKILL.md +63 -0
  103. package/assets/skills/harness-10-task/SKILL.md +70 -0
  104. package/assets/skills/harness-20-spec-audit/SKILL.md +50 -0
  105. package/assets/skills/harness-20-task-audit/SKILL.md +90 -0
  106. package/assets/skills/harness-20-task-audit/references/TEMPLATE_30_gate_stop.md +36 -0
  107. package/assets/skills/harness-hat-reanchor/SKILL.md +19 -0
  108. package/assets/standards/POINTER_workspace_truth_v1_zh.md +42 -0
  109. package/assets/standards/README.md +35 -0
  110. package/assets/standards/SOURCES_v1_zh.md +49 -0
  111. package/assets/standards/TEMPLATE_CODING_BASELINE_L1_v1_zh.md +88 -0
  112. package/assets/standards/TEMPLATE_CODING_BASELINE_L2_backend_v1_zh.md +75 -0
  113. package/assets/standards/TEMPLATE_CODING_BASELINE_L2_frontend_v1_zh.md +76 -0
  114. package/bin/dsh-coding-kit.js +7 -0
  115. package/bin/specgate.js +7 -0
  116. package/bin/validate_template_compliance.py +470 -0
  117. package/cordis.patch.yml +5 -0
  118. package/lib/cli-checks.d.ts +68 -0
  119. package/lib/cli-checks.js +812 -0
  120. package/lib/cli-checks.js.map +1 -0
  121. package/lib/cli-graph-hgm.d.ts +74 -0
  122. package/lib/cli-graph-hgm.js +416 -0
  123. package/lib/cli-graph-hgm.js.map +1 -0
  124. package/lib/cli-graph-yaml.d.ts +79 -0
  125. package/lib/cli-graph-yaml.js +602 -0
  126. package/lib/cli-graph-yaml.js.map +1 -0
  127. package/lib/cli-graph.d.ts +1 -0
  128. package/lib/cli-graph.js +199 -0
  129. package/lib/cli-graph.js.map +1 -0
  130. package/lib/cli-host.d.ts +24 -0
  131. package/lib/cli-host.js +1197 -0
  132. package/lib/cli-host.js.map +1 -0
  133. package/lib/cli-lifecycle.d.ts +2 -0
  134. package/lib/cli-lifecycle.js +401 -0
  135. package/lib/cli-lifecycle.js.map +1 -0
  136. package/lib/cli-refresh-ide-blocks.d.ts +66 -0
  137. package/lib/cli-refresh-ide-blocks.js +484 -0
  138. package/lib/cli-refresh-ide-blocks.js.map +1 -0
  139. package/lib/cli-shared.d.ts +74 -0
  140. package/lib/cli-shared.js +281 -0
  141. package/lib/cli-shared.js.map +1 -0
  142. package/lib/cli-skills.d.ts +52 -0
  143. package/lib/cli-skills.js +363 -0
  144. package/lib/cli-skills.js.map +1 -0
  145. package/lib/cli-status.d.ts +2 -0
  146. package/lib/cli-status.js +251 -0
  147. package/lib/cli-status.js.map +1 -0
  148. package/lib/cli-sync-prompts.d.ts +25 -0
  149. package/lib/cli-sync-prompts.js +158 -0
  150. package/lib/cli-sync-prompts.js.map +1 -0
  151. package/lib/cli-sync.d.ts +2 -0
  152. package/lib/cli-sync.js +124 -0
  153. package/lib/cli-sync.js.map +1 -0
  154. package/lib/cli-task-extra.d.ts +53 -0
  155. package/lib/cli-task-extra.js +408 -0
  156. package/lib/cli-task-extra.js.map +1 -0
  157. package/lib/cli-timeline.d.ts +28 -0
  158. package/lib/cli-timeline.js +68 -0
  159. package/lib/cli-timeline.js.map +1 -0
  160. package/lib/cli-wiki.d.ts +21 -0
  161. package/lib/cli-wiki.js +189 -0
  162. package/lib/cli-wiki.js.map +1 -0
  163. package/lib/cli.d.ts +22 -0
  164. package/lib/cli.js +1034 -0
  165. package/lib/cli.js.map +1 -0
  166. package/lib/host-contract.d.ts +23 -0
  167. package/lib/host-contract.js +143 -0
  168. package/lib/host-contract.js.map +1 -0
  169. package/lib/index.d.ts +18 -0
  170. package/lib/index.js +290 -0
  171. package/lib/index.js.map +1 -0
  172. package/lib/yaml.d.ts +4 -0
  173. package/lib/yaml.js +10 -0
  174. package/lib/yaml.js.map +1 -0
  175. package/package.json +87 -0
@@ -0,0 +1,41 @@
1
+ # Consumer Ontology Slice(业务仓 · v1)
2
+
3
+ > **用途**:绿野 / 新业务仓的 **Inform 语义设定**最小切片。
4
+ > **非用途**:不替代产品包 `DESIGN_ONTOLOGY` / `ontology.yaml`;**不**纳入 `harness ontology-check`。
5
+ > **建议落盘**:`docs/meta/ONTOLOGY_<domain>_v1.md`(或团队约定路径)
6
+
7
+ ---
8
+
9
+ ## 1. 术语表(3–12 条)
10
+
11
+ | 术语 | 定义(一句话) | 反例 / 易混 |
12
+ | --- | --- | --- |
13
+ | (例)落盘真值 | 已写入仓库且可被闸引用的文件/状态 | 聊天里的「口头完成」 |
14
+ | (例)飞行中 | Agent 会话内存态 · 不可作签收 | 把对话摘要当 CLOSE 证据 |
15
+ | | | |
16
+
17
+ ---
18
+
19
+ ## 2. 核心类 / 关系(3–7)
20
+
21
+ | 类或关系 | 说明 | 与 `_tech_graph` 指针 |
22
+ | --- | --- | --- |
23
+ | (例)Task | 可归档工作单元 | `docs/_tech_graph/01_struct.md` |
24
+ | (例)InvokeSnapshot | 帽执行落盘 | `docs/harness/invokes/by-task/` |
25
+ | | | |
26
+
27
+ ---
28
+
29
+ ## 3. 边界声明
30
+
31
+ - **本仓业务语义** 以本文件 + `_tech_graph` 为准。
32
+ - **纪律包产品本体**(帽子 / 闸 / HGM)见依赖的 `@cyning/harness` 文档(旧包,已弃用,现行为 dsh-coding-kit),勿在此复制全文。
33
+ - 改路由 / API / 数据边界时:更新相关 flow,并在 task 填 `graph_delta`。
34
+
35
+ ---
36
+
37
+ ## 修订记录
38
+
39
+ | 日期 | 说明 |
40
+ | --- | --- |
41
+ | YYYY-MM-DD | 自 `harness/templates/ONTOLOGY_consumer_slice_v1.md` 复制 |
@@ -0,0 +1,35 @@
1
+ # dsh-coding-kit · 业务仓速查
2
+
3
+ > 本文件为**手工嵌入**模板:复制本模板到业务仓即可,可手动删除。
4
+ > 现行 CLI `init`/`upgrade` 只写 `.cyning-harness/manifest.json`,不会生成本文件。
5
+
6
+ ---
7
+
8
+ ## 常用命令
9
+
10
+ ```bash
11
+ # 30 前聚合验证(gate-check + audit D5 + S5 warn)
12
+ npx spec-wave verify [--target PATH] [--task docs/tasks/active/task_xxx.md]
13
+
14
+ # 仅人工闸
15
+ npx spec-wave gate-check [--target PATH] [--task docs/tasks/active/task_xxx.md]
16
+
17
+ # ICVO 审计(指定 task)
18
+ npx spec-wave audit [--target PATH] [--task docs/tasks/active/task_xxx.md]
19
+
20
+ # 生成 invoke 索引
21
+ npx spec-wave sync index [--target PATH]
22
+
23
+ # 升级 Harness 过程轨(仅写 manifest)
24
+ npx spec-wave upgrade [--target PATH] [--yes]
25
+
26
+ # 接入检查
27
+ npx spec-wave check [--target PATH]
28
+ ```
29
+
30
+ ---
31
+
32
+ ## 备注
33
+
34
+ - 以上命令与 `npx spec-wave --help` usage 块逐条对齐;详细参数以 `--help` 为准。
35
+ - 本模板随包分发(`assets/harness/templates/`),经插件工具 `init_coding_kit` 整树复制到业务仓 `.coding-kit/`,此后由业务仓手工维护。
@@ -0,0 +1,50 @@
1
+ # harness/templates
2
+
3
+ 复制到用户仓 **`docs/tasks/`** 或 **`docs/harness/tasks/active/`**(按仓约定)。
4
+
5
+ ## v0.1 已交付(T3 · M2)
6
+
7
+ | 模板 | 状态 | 说明 |
8
+ |------|------|------|
9
+ | [`TASK_TEMPLATE.md`](./TASK_TEMPLATE.md) | ✅ | 单 task · Harness 元信息 · human_gate |
10
+ | [`TASK_epic.md`](./TASK_epic.md) | ✅ | Epic 总纲 + §3.1 编排主表 + 00 入口 |
11
+ | [`TASK_graph_bootstrap.md`](./TASK_graph_bootstrap.md) | ✅ | D4-a · **`HG-GRAPH-MODULES`** blocks **30** |
12
+ | [`ONTOLOGY_consumer_slice_v1.md`](./ONTOLOGY_consumer_slice_v1.md) | ✅ | 绿野 consumer ontology 切片(v2.17+ · 非 ontology-check) |
13
+ | [`QUICKREF_v1_zh.md`](./QUICKREF_v1_zh.md) | ✅ | 业务仓命令速查 · **手工嵌入**(复制到业务仓,非 CLI 生成;命令面钉 `npx spec-wave`) |
14
+
15
+ ## v0.2.1 · done 分层索引
16
+
17
+ | 模板 | 状态 | 说明 |
18
+ |------|------|------|
19
+ | [`TASK_done_README.md`](./TASK_done_README.md) | ✅ | `done/README.md` Hub(按域分组表) |
20
+ | [`VIEW_done_by_domain.md`](./VIEW_done_by_domain.md) | ✅ | `_views/done_by_domain.md` |
21
+ | [`VIEW_done_thin_pointer.md`](./VIEW_done_thin_pointer.md) | ✅ | `_views/done.md` 薄指针(≤15 行) |
22
+ | [`FRAGMENT_task_domain_infer_v1_zh.md`](./FRAGMENT_task_domain_infer_v1_zh.md) | ✅ | 关账 `git mv` 域推断规则 |
23
+
24
+ 现行**无自动安装器**;首次按下方「嵌入步骤」**手工**创建 `done/<domain>/` 子目录并复制 Hub / views(仅当目标文件不存在)。(旧包曾有 wizard 安装脚本,已废弃,未随包交付。)
25
+
26
+ ## 嵌入步骤
27
+
28
+ ```bash
29
+ mkdir -p docs/tasks/active docs/tasks/_views
30
+ mkdir -p docs/tasks/done/{harness,cyning-harness,engineering,governance,chatbi,standards,epics}
31
+ cp harness/templates/TASK_done_README.md docs/tasks/done/README.md
32
+ cp harness/templates/VIEW_done_thin_pointer.md docs/tasks/_views/done.md
33
+ cp harness/templates/VIEW_done_by_domain.md docs/tasks/_views/done_by_domain.md
34
+ mkdir -p docs/harness/reviews docs/harness/invokes/by-task
35
+ cp harness/templates/TASK_TEMPLATE.md docs/tasks/active/task_<slug>.md
36
+ # 存量首次:优先 TASK_graph_bootstrap.md
37
+ ```
38
+
39
+ 工作区 Harness 将 `{tasks_root}` 换为 `docs/harness/tasks`。
40
+
41
+ ## 关账纪律
42
+
43
+ 1. `git mv` → `done/<domain>/`(见 [`FRAGMENT_task_domain_infer_v1_zh.md`](./FRAGMENT_task_domain_infer_v1_zh.md))
44
+ 2. 更新 `done/README.md` 域表 **一行**
45
+ 3. **勿**向 `_views/done.md` 追加百行长列表
46
+
47
+ ## 关联
48
+
49
+ - 图谱模板:[`graph/templates/`](../../graph/templates/README.md)
50
+ - ONBOARDING:见薄指针页 [`POINTER_ONBOARDING.md`](../../docs/POINTER_ONBOARDING.md)(原文不随包发布)§3 · §7
@@ -0,0 +1,133 @@
1
+ # Task:<动词 + 范围>
2
+
3
+ > **状态**:`draft` / `pending` / `in_progress` / `done`
4
+ > **关联图谱**:`docs/_tech_graph/` 相关 flow(无则填「无」)
5
+ > **落盘**:`docs/tasks/active/task_<slug>.md`;验收后 `git mv` → `docs/tasks/done/`
6
+
7
+ ---
8
+
9
+ ## Harness 元信息
10
+
11
+ | 字段 | 值 |
12
+ |------|-----|
13
+ | **task_slug** | `<slug>` |
14
+ | **test_strategy** | `required` / `recommended` / `not_applicable` |
15
+ | **test_strategy_note** | (`not_applicable` 时 **必填**) |
16
+ | **code_quality_bar** | `strict` / `recommended` / `not_applicable` |
17
+ | **freeze_id** | (可选 · 关账冻结) |
18
+ | **orchestration** | `Cursor Task 链` / `MANIFEST 仅` |
19
+ | **chain_prompt** | `docs/harness/prompts/PROMPT_cursor_task_chain_serial_v1.md`(嵌入后路径) |
20
+ | **semi_auto** | **`false`**(禁止作总闸) |
21
+ | **audit_profile** | `full` / `post_close` / `human_only` |
22
+ | **invoke_retention_profile** | `default` / `minimal` / `full`(10 起草时选定) |
23
+ | **required_invoke_hats** | `10,30,40`(显式列表优先于 profile;缺省=default) |
24
+ | **git_branch** | `task/<slug>` |
25
+ | **worktree_root** | (并行时填独立 worktree 目录) |
26
+ | **graph_delta** | `docs/_tech_graph/<flow>.md` 或 `none` |
27
+ | **graph_delta_note** | (`none` 时 **必填**理由) |
28
+ | **wiki_delta** | `docs/coding_wiki/<file>.md` 或 `none` / `n/a` |
29
+ | **wiki_delta_note** | (`none` / `n/a` 时 **必填**理由) |
30
+ | **wiki_promotion** | `none` / `stable` / `context` / `volatile` / `mixed`(可选) |
31
+ | **related_pr** | (可选)`#N` / URL;缺省由 `gh pr view` 关联当前分支 |
32
+ | **close_pr_policy** | `required`(默认)/ `exempt` |
33
+ | **close_pr_exempt_note** | (`exempt` 时 **必填**) |
34
+ | **experience_capture** | `required` / `recommended` / `not_applicable` |
35
+ | **experience_capture_note** | (`not_applicable` 时 **必填**理由) |
36
+ | **kpi_rubric** | `KPI_RUBRIC_v1_2` |
37
+ | **kpi_aggregator** | `CLOSE`(默认) |
38
+
39
+ ### 人工闸
40
+
41
+ | human_gate_id | status | blocks_hats | 说明 |
42
+ |---------------|--------|-------------|------|
43
+ | HG-TASK-DRAFT | pending | 22-R1, 30 | 初稿人扫 |
44
+ | HG-AUDIT-R1 | pending | 30 | 22 R1 落盘后人签 |
45
+
46
+ ---
47
+
48
+ ## 背景与目标
49
+
50
+ <短段落:完成态行为>
51
+
52
+ ---
53
+
54
+ ## 范围
55
+
56
+ - [ ] …
57
+
58
+ ## 非范围
59
+
60
+ - …
61
+
62
+ ---
63
+
64
+ ## 失败路径
65
+
66
+ | 触发条件 | 系统行为 | 可重试 | 用户可见 |
67
+ |----------|----------|--------|----------|
68
+ | 22 未签 `HG-AUDIT-R1` 即 30 改码 | 执行 Agent **拒开工** | 是 | 须先 22 + 人签 |
69
+ | … | … | 是/否 | … |
70
+
71
+ ---
72
+
73
+ ## 验收标准
74
+
75
+ - [ ] 全量测试命令通过(**与本仓 CI workflow 一致**;按仓实际栈填写,如 `pytest tests -q` / `pnpm test`)
76
+ - [ ] `npx --yes spec-wave task lint-wiki-delta --target .` 通过(wiki_delta 预检 · 与 PR CI sample `run:` 行逐字一致)
77
+ - [ ] …
78
+
79
+ ---
80
+
81
+ ## 给执行帽的必读列表
82
+
83
+ 1. `AGENTS.md` · `docs/meta/PROJECT_CONFIG_*.md`
84
+ 2. `docs/_tech_graph/` 相关 flow
85
+ 3. `docs/standards/CODING_*_L2`(涉码 task)
86
+ 4. 本 task 关联 SPEC(若有)
87
+
88
+ ---
89
+
90
+ ## 实现备忘(子 Agent 回填)
91
+
92
+ | 项 | 状态 | 备注 |
93
+ |----|------|------|
94
+ | … | ⏳ | |
95
+
96
+ ---
97
+
98
+ ## 测试策略(Harness)
99
+
100
+ **test_strategy**: `required` | `recommended` | `not_applicable`
101
+
102
+ - `required`:先可失败自动化测试再改实现
103
+ - `recommended`:文档演练或抽样验证
104
+ - `not_applicable`:须附一行理由
105
+
106
+ ---
107
+
108
+ ### 自检结论(执行者)
109
+
110
+ (30/40 回填)
111
+
112
+ ---
113
+
114
+ ### KPI(00)
115
+
116
+ (`kpi_aggregator: CLOSE` · 关账回溯填写 · 至少一种可解析分数:`Task_KPI%: N` / D1–D5 表 / 四维 1–5)
117
+
118
+ ---
119
+
120
+ ### 经验总结
121
+
122
+ (`experience_capture: required` 时关账必填 · ≥80 字或 ≥3 条列表)
123
+ (`wiki_delta=path` 且 `experience_capture=required` 时须含 wiki 指针:`coding_wiki` 路径 / `wiki_promoted:` / `Wiki:`)
124
+
125
+ ---
126
+
127
+ ## 修订记录
128
+
129
+ | 日期 | 说明 |
130
+ |------|------|
131
+ | YYYY-MM-DD | 从 cyning-harness `TASK_TEMPLATE.md` 嵌入 |
132
+ | 2026-07-28 | v2.18 · wiki_delta / wiki_promotion |
133
+ | 2026-08-27 | K6:验收节默认两行(仓 CI 全量测试命令 + lint-wiki-delta 预检) |
@@ -0,0 +1,76 @@
1
+ # done/ · 已完成任务导航(Hub)
2
+
3
+ > **用途**:日常浏览 **只打开本文件**;`_views/done.md` 为薄指针。
4
+ > **真值**:各 task 文件头部 `状态` + 本目录(或域子目录)物理位置。
5
+ > **落盘约定**:业务仓 `docs/tasks/done/` · 工作区 Harness `docs/harness/tasks/done/`(路径替换下方 `{tasks_root}`)。
6
+
7
+ ---
8
+
9
+ ## 域目录(domain)
10
+
11
+ | 域 slug | 目录 | 典型前缀 / 规则 |
12
+ |---------|------|-----------------|
13
+ | `harness` | `done/harness/` | `task_harness_*`(非产品里程碑) |
14
+ | `cyning-harness` | `done/cyning-harness/` | `task_harness_cyning_harness_*` · `task_harness_m2_cyning_*` |
15
+ | `engineering` | `done/engineering/` | `task_engineering_*` |
16
+ | `governance` | `done/governance/` | `task_governance_*` · `task_gov_*` |
17
+ | `chatbi` | `done/chatbi/` | `task_chatbi_*` |
18
+ | `standards` | `done/standards/` | `task_standards_*` |
19
+ | `epics` | `done/epics/` | Epic / MANIFEST 母单 · CLOSE 卡 |
20
+
21
+ **推断**:关账时按文件名前缀落入域目录;歧义时 task 元信息填 **`domain`** 字段。
22
+
23
+ ---
24
+
25
+ ## harness
26
+
27
+ | 关账日 | task | freeze_id / 摘要 |
28
+ |--------|------|------------------|
29
+ | YYYY-MM-DD | [`harness/task_<slug>_v1.md`](./harness/task_<slug>_v1.md) | … |
30
+
31
+ ---
32
+
33
+ ## cyning-harness(产品里程碑)
34
+
35
+ | 关账日 | task | tag / 摘要 |
36
+ |--------|------|------------|
37
+ | YYYY-MM-DD | [`cyning-harness/task_<slug>_v1.md`](./cyning-harness/task_<slug>_v1.md) | … |
38
+
39
+ ---
40
+
41
+ ## engineering
42
+
43
+ | 关账日 | task | 摘要 |
44
+ |--------|------|------|
45
+ | YYYY-MM-DD | [`engineering/task_<slug>_v1.md`](./engineering/task_<slug>_v1.md) | … |
46
+
47
+ ---
48
+
49
+ ## epics(母单 · MANIFEST)
50
+
51
+ | 关账日 | Epic / CLOSE | 子 task 索引 |
52
+ |--------|--------------|--------------|
53
+ | YYYY-MM-DD | [`epics/epic_<slug>.md`](./epics/epic_<slug>.md) | 见母单 §编排主表 |
54
+
55
+ ---
56
+
57
+ ## 关账维护(checklist)
58
+
59
+ 1. `git mv {tasks_root}/active/<file>.md {tasks_root}/done/<domain>/`(或 `npx spec-wave task close --file … --yes`)
60
+ 2. 头部 `> **状态**:done(YYYY-MM-DD 验收通过)`
61
+ 3. **本 Hub** 对应域表 **追加一行**(日期 · 链接 · freeze_id 一行摘要)—— **机械闸** `close_hub_index`(有本文件则默认要求;仓级 `close_hub_gate: false` 可关)
62
+ 4. **禁止**向 `_views/done.md` 追加长列表(保持 ≤15 行薄指针)
63
+ 5. 可选:同步 `_views/done_by_domain.md` 分组表
64
+ 6. dry-run 仅 `CLOSE: READY`;完成态才 `CLOSE: PASS`
65
+
66
+ ---
67
+
68
+ ## 修订记录
69
+
70
+ | 日期 | 摘要 |
71
+ |------|------|
72
+ | YYYY-MM-DD | 初版 Hub(cyning-harness 模板嵌入) |
73
+
74
+ ## 给维护者
75
+
76
+ `done`、`domain`、`Hub`、`_views`、`freeze_id`、`Epic`
@@ -0,0 +1,103 @@
1
+ # Epic:<主题 · 总纲>
2
+
3
+ > **状态**:`draft` / `in_progress` / `done`
4
+ > **freeze_id**:`freeze_<epic_slug>`
5
+ > **落盘**:`docs/tasks/active/epic_<slug>.md` 或 `docs/harness/tasks/active/`(按仓约定)
6
+
7
+ ---
8
+
9
+ ## Harness 元信息
10
+
11
+ | 字段 | 值 |
12
+ |------|-----|
13
+ | **task_slug** | `epic-<slug>` |
14
+ | **test_strategy** | `not_applicable` |
15
+ | **test_strategy_note** | Epic 跟踪单;可执行验收在 **子 task** |
16
+ | **orchestration** | `Cursor Task 链` + **人工 00**(首棒) |
17
+ | **chain_prompt** | `docs/harness/prompts/PROMPT_cursor_task_chain_serial_v1.md` |
18
+ | **semi_auto** | `false` |
19
+ | **audit_profile** | `full` / `post_close` |
20
+ | **git_branch** | `task/<epic-branch>` |
21
+ | **wiki_delta** | `n/a` |
22
+ | **wiki_delta_note** | Epic 跟踪单;wiki 增量在子 task |
23
+ | **experience_capture** | `recommended` |
24
+ | **kpi_rubric** | `KPI_RUBRIC_v1_2` |
25
+ | **kpi_aggregator** | `CLOSE` |
26
+
27
+ ### 人工闸(Epic 级)
28
+
29
+ | human_gate_id | status | blocks_hats | 说明 |
30
+ |---------------|--------|-------------|------|
31
+ | HG-EPIC-SIGNOFF | pending | CLOSE | 全部子 task 验收 + invoke 齐全后人签 |
32
+
33
+ ---
34
+
35
+ ## 背景与目标
36
+
37
+ <Epic 完成态:子 task 列表与 freeze_id>
38
+
39
+ **不做(Epic 范围外)**:
40
+
41
+ - …
42
+
43
+ ---
44
+
45
+ ## 任务编排(Epic 主表 · 必填)
46
+
47
+ | 棒 / slug | parallel_group | depends_on | 开工闸门 | worktree_root(可选) |
48
+ |-----------|----------------|------------|----------|------------------------|
49
+ | task-a | — | — | 22 R1 ✅ | `<repo-root>` |
50
+ | task-b | — | task-a | 22 R1 ✅ | `<repo-root>` |
51
+ | CLOSE | — | task-b | 40/50 | — |
52
+
53
+ - 子 task 正文只写一行:`epic: epic_<slug> · depends_on: task-a`
54
+ - **并行**:同 `parallel_group` 须 **独立 worktree** + 不同 `git_branch`
55
+
56
+ ### 编排入口(00)
57
+
58
+ | 项 | 路径 |
59
+ |----|------|
60
+ | entry_invoke | `docs/harness/invokes/by-task/<epic_slug>/invoke_*_00_orchestrator.md` |
61
+ | orchestrator | `docs/harness/prompts/00-orchestrator.md`(完整库 POINTER) |
62
+ | 过程 invoke 索引 | `docs/harness/invokes/by-task/<epic_slug>/README.md` |
63
+
64
+ ---
65
+
66
+ ## 失败路径
67
+
68
+ | 触发条件 | 系统行为 | 可重试 | 用户可见 |
69
+ |----------|----------|--------|----------|
70
+ | 子 task 未 22 即派发 30 | 00 **拒派发** | 是 | 缺审查 / 人签 |
71
+ | 并行共分支改同一目录 | 执行 **拒开工** | 是 | 须 worktree |
72
+
73
+ ---
74
+
75
+ ## 验收标准
76
+
77
+ - [ ] 编排主表 + 00 invoke 落盘
78
+ - [ ] 各 sub-task `done` + 40 自检 + CI 绿(涉码)
79
+ - [ ] invoke 目录证据齐全
80
+ - [ ] `HG-EPIC-SIGNOFF` approved
81
+ - [ ] `freeze_id` 写入 CHANGELOG / 关账 invoke
82
+
83
+ ---
84
+
85
+ ## 给执行帽的必读列表
86
+
87
+ - 各子 task 全文
88
+ - Epic 编排主表(本文件 §任务编排)
89
+ - `docs/harness/invokes/by-task/<epic_slug>/`
90
+
91
+ ---
92
+
93
+ ### 自检结论(执行者)
94
+
95
+ (40 汇总或各子 task 分别回填)
96
+
97
+ ---
98
+
99
+ ## 修订记录
100
+
101
+ | 日期 | 说明 |
102
+ |------|------|
103
+ | YYYY-MM-DD | 从 cyning-harness `TASK_epic.md` 嵌入 |
@@ -0,0 +1,115 @@
1
+ # Task:图谱 Bootstrap · 模块表人签(D4-a)
2
+
3
+ > **状态**:`draft` / `in_progress` / `done`
4
+ > **类型**:存量 **首次** 接入 / 新仓图谱初始化
5
+ > **关联**:[`docs/_tech_graph/01_struct.md`](../../graph/templates/01_struct.md) · ONBOARDING 档位 S0~S3
6
+
7
+ ---
8
+
9
+ ## Harness 元信息
10
+
11
+ | 字段 | 值 |
12
+ |------|-----|
13
+ | **task_slug** | `graph-bootstrap` |
14
+ | **test_strategy** | `recommended` |
15
+ | **test_strategy_note** | 文档 + 文件存在性;无业务单测 |
16
+ | **code_quality_bar** | `not_applicable` |
17
+ | **orchestration** | 单 task 或 Epic 首棒 |
18
+ | **git_branch** | `task/graph-bootstrap` |
19
+ | **wiki_delta** | `n/a` |
20
+ | **wiki_delta_note** | 图谱 bootstrap;无 wiki 增量 |
21
+ | **experience_capture** | `recommended` |
22
+
23
+ ### 人工闸(本 task 核心)
24
+
25
+ | human_gate_id | status | blocks_hats | 说明 |
26
+ |---------------|--------|-------------|------|
27
+ | **HG-GRAPH-MODULES** | pending → **approved** | **30** | `01_struct` **一级模块表** 人签;**非**「全部 flow 画完」 |
28
+ | HG-TASK-DRAFT | pending | 22-R1 | 可选 · 小 task 可合并 |
29
+ | HG-AUDIT-R1 | pending | 30 | 22 R1 后允许改码 task 派发 |
30
+
31
+ > **D4-a**:「全量」= **模块登记表覆盖一级模块**;flow 按后续 task **增量**。
32
+
33
+ ---
34
+
35
+ ## 背景与目标
36
+
37
+ **完成态**:
38
+
39
+ - [ ] `docs/_tech_graph/` 骨架就位(`00_main` 双轨、`99_mermaid_protocol`、`02_version` 可选)
40
+ - [ ] `01_struct.md` 模块表填完 **一级模块**(module_id · glob · 依赖方向)
41
+ - [ ] **至少 1** 条主 flow(新仓 / **S0**);S2+ 可在 `00_main` 列「待补 flow 清单」
42
+ - [ ] **`HG-GRAPH-MODULES` approved** — 维护者签核后,**30 执行改码** task 方可开工
43
+ - [ ] 本 task 关账 invoke + `### 自检结论` 回填
44
+
45
+ **不做**:
46
+
47
+ - 首次 onboarding **全仓 flow 一次画完**
48
+ - 全仓代码扫描自动生图
49
+
50
+ ---
51
+
52
+ ## 范围
53
+
54
+ - [ ] 从 `cyning-harness/graph/templates/` 复制骨架至 `docs/_tech_graph/`
55
+ - [ ] 填写 `01_struct.md` 模块表(删除模板示例行)
56
+ - [ ] 新仓/S0:完成 `10_flow_MAIN` 或等价主路径(替换占位锚点)
57
+ - [ ] 在 `01_struct.md` 或本 task 记录 **人签表**(签核人 · 日期)
58
+
59
+ ## 非范围
60
+
61
+ - 业务功能代码改动(除非同 Epic 明示)
62
+ - L0-e `graph.json` 全量 export(随 `.ai.md` 增量即可)
63
+
64
+ ---
65
+
66
+ ## 失败路径
67
+
68
+ | 触发条件 | 系统行为 | 可重试 | 用户可见 |
69
+ |----------|----------|--------|----------|
70
+ | `HG-GRAPH-MODULES` pending 即开 30 改码 task | 执行 **拒开工** | 是 | 须先完成本 bootstrap + 人签 |
71
+ | 模块表空表或仅模板示例行 | 22 **打回** | 是 | 一级模块未覆盖 |
72
+ | 试图一次画完所有 flow | 审查 **打回** | 是 | 违反 D4-a |
73
+
74
+ ---
75
+
76
+ ## 验收标准
77
+
78
+ - [ ] `docs/_tech_graph/00_main.md` + `.ai.md` 存在且语义一致
79
+ - [ ] `01_struct.md` ≥3 行真实模块(按仓规模;通常 3~12)
80
+ - [ ] `HG-GRAPH-MODULES` → **approved**(本 task 或 `01_struct` 人签表)
81
+ - [ ] 新仓/S0:≥1 主 flow;S2:模块表 + 待补清单即可
82
+ - [ ] invoke 落盘 `docs/harness/invokes/by-task/<task_slug>/`
83
+
84
+ ---
85
+
86
+ ## 给执行帽的必读列表
87
+
88
+ 1. 薄指针页 [`POINTER_ONBOARDING.md`](../../docs/POINTER_ONBOARDING.md)(原文不随包发布)§3 存量档位
89
+ 2. `docs/_tech_graph/01_struct.md` · `99_mermaid_protocol.md`
90
+ 3. 本 task 验收表
91
+
92
+ ---
93
+
94
+ ## 实现备忘
95
+
96
+ | 项 | 状态 | 备注 |
97
+ |----|------|------|
98
+ | 骨架复制 | ⏳ | |
99
+ | 模块表 | ⏳ | |
100
+ | HG-GRAPH-MODULES | ⏳ | pending → approved |
101
+ | 主 flow | ⏳ | 按档位 |
102
+
103
+ ---
104
+
105
+ ### 自检结论(执行者)
106
+
107
+ (30/40 回填)
108
+
109
+ ---
110
+
111
+ ## 修订记录
112
+
113
+ | 日期 | 说明 |
114
+ |------|------|
115
+ | YYYY-MM-DD | 从 cyning-harness `TASK_graph_bootstrap.md` 嵌入 |
@@ -0,0 +1,66 @@
1
+ # Tasks 视图:已完成 · 按域分组(done_by_domain)
2
+
3
+ > **说明**:聚合索引 · **非真值**。真值:`done/` 各 task 文件 + [`../done/README.md`](../done/README.md) Hub。
4
+ > **维护**:关账时在对应域表追加一行;Epic 母单单独一节。
5
+
6
+ ---
7
+
8
+ ## harness
9
+
10
+ | 关账日 | 链接 | 一行摘要 |
11
+ |--------|------|----------|
12
+ | YYYY-MM-DD | [`../done/harness/task_<slug>_v1.md`](../done/harness/task_<slug>_v1.md) | … |
13
+
14
+ ---
15
+
16
+ ## cyning-harness
17
+
18
+ | 关账日 | 链接 | 一行摘要 |
19
+ |--------|------|----------|
20
+ | YYYY-MM-DD | [`../done/cyning-harness/task_<slug>_v1.md`](../done/cyning-harness/task_<slug>_v1.md) | … |
21
+
22
+ ---
23
+
24
+ ## engineering
25
+
26
+ | 关账日 | 链接 | 一行摘要 |
27
+ |--------|------|----------|
28
+ | YYYY-MM-DD | [`../done/engineering/task_<slug>_v1.md`](../done/engineering/task_<slug>_v1.md) | … |
29
+
30
+ ---
31
+
32
+ ## governance
33
+
34
+ | 关账日 | 链接 | 一行摘要 |
35
+ |--------|------|----------|
36
+ | YYYY-MM-DD | [`../done/governance/task_<slug>_v1.md`](../done/governance/task_<slug>_v1.md) | … |
37
+
38
+ ---
39
+
40
+ ## chatbi
41
+
42
+ | 关账日 | 链接 | 一行摘要 |
43
+ |--------|------|----------|
44
+ | YYYY-MM-DD | [`../done/chatbi/task_<slug>_v1.md`](../done/chatbi/task_<slug>_v1.md) | … |
45
+
46
+ ---
47
+
48
+ ## standards
49
+
50
+ | 关账日 | 链接 | 一行摘要 |
51
+ |--------|------|----------|
52
+ | YYYY-MM-DD | [`../done/standards/task_<slug>_v1.md`](../done/standards/task_<slug>_v1.md) | … |
53
+
54
+ ---
55
+
56
+ ## epics(母单 · MANIFEST)
57
+
58
+ | 关账日 | 链接 | 子单 |
59
+ |--------|------|------|
60
+ | YYYY-MM-DD | [`../done/epics/epic_<slug>.md`](../done/epics/epic_<slug>.md) | 见母单 §编排 |
61
+
62
+ ---
63
+
64
+ ## 给 Cursor
65
+
66
+ `done_by_domain`、`_views`、域分组、Epic、Hub
@@ -0,0 +1,16 @@
1
+ # Tasks 状态视图:已完成(done)
2
+
3
+ > **薄指针**:完整导航见 **[`../done/README.md`](../done/README.md)**(按域 Hub)。
4
+ > **分组表**:[`done_by_domain.md`](./done_by_domain.md)。
5
+
6
+ ---
7
+
8
+ ## 快速入口
9
+
10
+ | 视图 | 路径 |
11
+ |------|------|
12
+ | **Hub(首选)** | [`../done/README.md`](../done/README.md) |
13
+ | 按域分组 | [`done_by_domain.md`](./done_by_domain.md) |
14
+ | 进行中 | [`in_progress.md`](./in_progress.md) |
15
+
16
+ **维护纪律**:关账时更新 Hub / `done_by_domain`;**勿**在本文件追加长列表。
@@ -0,0 +1,33 @@
1
+ # Harness Starter(业务仓 · 通用 Agent)
2
+
3
+ > **单源真值**:`docs/coding_wiki/` 读序 + `docs/standards/` + 本文件其余业务约定。
4
+ > **本片段**:摘要 + **POINTER**;Harness 条文真值在 `docs/harness/prompts/`。
5
+ > **仓内定制(v2.22+)**:写在本产品块 **外** 的 `<!-- cyning-harness-local:begin/end -->`;勿改本 begin/end 内文(upgrade 会整块替换)。G-L 布局见 profile `graph_modules_path`。
6
+
7
+ ## 执行 task 前
8
+
9
+ 1. Open Folder = **本仓根**
10
+ 2. 读 `docs/tasks/active/task_*.md`:`test_strategy` · `failure_paths` · **人工闸**表
11
+ 3. **30 改码前** GATE_VERIFY(真值在 task **人工闸表**,**非**聊天 / invoke 字面 `approved`):
12
+ - 运行 `npx spec-wave verify --target . --task docs/tasks/active/task_*.md`
13
+ - 首输出闸扫描表 · 见 `docs/harness/prompts/FRAGMENT_30_gate_verify_v1_zh.md`
14
+ - **`HG-AUDIT-R1` pending** → **30 拒改码**(须维护者签 task 表 `approved`)
15
+ - **`HG-GRAPH-MODULES` pending** → **30 拒改码**(D4-a)
16
+ - 用户声称与 task 表冲突 → **STOP** · 以 task 表为准
17
+ 4. 过程 invoke:`docs/harness/invokes/by-task/<task_slug>/`
18
+
19
+ ## Verify(合并前)
20
+
21
+ | 栈 | 命令(与 `.github/workflows/` 一致) |
22
+ |----|--------------------------------------|
23
+ | 前端 | `pnpm lint` → `pnpm test` → `pnpm build` |
24
+ | 后端 | `pytest tests`(按仓 marker 裁剪) |
25
+ | iOS | `xcodebuild`(见 task `test_strategy_note`) |
26
+
27
+ ## 关键词
28
+
29
+ `Harness`、`task`、`invoke`、`HG-AUDIT-R1`、`HG-GRAPH-MODULES`、`human_gate`、`拒开工`
30
+
31
+ ## 完整库 POINTER
32
+
33
+ 工作区:`docs/harness/prompts/`(22/30/TEMPLATE_30_gate_stop 等)