@cyning/harness 0.4.0 → 1.0.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 (48) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +65 -11
  3. package/bin/harness.js +1 -1
  4. package/docs/ARCHITECTURE.md +1 -1
  5. package/docs/BENCHMARK_REPORT_TEMPLATE.md +135 -0
  6. package/docs/ONBOARDING.md +32 -0
  7. package/docs/README.md +2 -2
  8. package/docs/RELEASE_v1.0.0.md +91 -0
  9. package/docs/RELEASE_v1.0.1.md +87 -0
  10. package/docs/ROADMAP_TO_AGENT_GOVERNANCE.md +209 -0
  11. package/docs/USER_GUIDE_v1.0_zh.md +284 -0
  12. package/docs/methodology/AUDIT_doc_consistency_2026-06-15_zh.md +5 -3
  13. package/docs/methodology/README.md +7 -6
  14. package/docs/methodology/ROADMAP_v1_zh.md +45 -12
  15. package/docs/methodology/execution/PILOT_EVIDENCE_B2_v1_zh.md +45 -37
  16. package/docs/methodology/graph/HARNESS_GRAPH_MODEL_design_v0_zh.md +25 -23
  17. package/docs/methodology/graph/HARNESS_GRAPH_MODEL_dialogue_archive_v1_zh.md +2 -2
  18. package/docs/methodology/graph/HGM_UPGRADE_OUTLINE_v1_zh.md +248 -0
  19. package/docs/methodology/graph/README.md +2 -2
  20. package/docs/methodology/product/DESIGN_ONTOLOGY_v1_zh.md +2 -2
  21. package/docs/methodology/prompts/PROMPT_article_theory_roundtable_v1_zh.md +3 -3
  22. package/docs/methodology/prompts/PROMPT_doc_consistency_audit_v1_zh.md +4 -4
  23. package/examples/compliance_bench/README.md +81 -0
  24. package/examples/compliance_bench/S1_r1_pending/task.md +30 -0
  25. package/examples/compliance_bench/S2_r1_no_review/task.md +31 -0
  26. package/examples/compliance_bench/S3_r1_with_review/reviews/s3_r1_with_review_audit_R1_20260616.md +18 -0
  27. package/examples/compliance_bench/S3_r1_with_review/task.md +31 -0
  28. package/examples/compliance_bench/S4_sync_domain/profile.json +16 -0
  29. package/harness/prompts/FRAGMENT_30_gate_verify_v1_zh.md +1 -1
  30. package/harness/templates/QUICKREF_v1_zh.md +47 -0
  31. package/ide/adapters/AGENTS.md.fragment.example +1 -0
  32. package/ide/adapters/CLAUDE.md.fragment.example +1 -0
  33. package/ide/adapters/cursor-harness-starter.mdc.example +1 -0
  34. package/lib/audit.js +166 -0
  35. package/lib/cli.js +245 -5
  36. package/lib/package-scripts.js +65 -0
  37. package/lib/paths.js +27 -0
  38. package/lib/verify.js +103 -0
  39. package/ontology.yaml +2 -2
  40. package/package.json +1 -1
  41. package/schema/invoke_index.v1.schema.json +53 -0
  42. package/wizard/README.md +4 -0
  43. package/wizard/compliance-bench.sh +251 -0
  44. package/wizard/gate-check.sh +139 -19
  45. package/wizard/harness-sync.sh +16 -3
  46. package/wizard/install.sh +5 -3
  47. package/wizard/lib/generate-invoke-index.js +60 -0
  48. package/wizard/upgrade.sh +7 -2
@@ -0,0 +1,248 @@
1
+ # HGM 升级方案 · 讨论大纲 v1
2
+
3
+ | 项 | 内容 |
4
+ | --- | --- |
5
+ | **状态** | `outline` · **待维护者逐节讨论签收** |
6
+ | **版本** | v1.0 |
7
+ | **日期** | 2026-06-16 |
8
+ | **性质** | Track G **立项前**方案大纲 · 非实现规格 |
9
+ | **设计真值(已有)** | [`HARNESS_GRAPH_MODEL_design_v0_zh.md`](./HARNESS_GRAPH_MODEL_design_v0_zh.md) |
10
+ | **语义真值** | [`../product/DESIGN_ONTOLOGY_v1_zh.md`](../product/DESIGN_ONTOLOGY_v1_zh.md) v1.2 |
11
+ | **L2 路线** | [`../ROADMAP_v1_zh.md`](../ROADMAP_v1_zh.md) §2.2 · §8 |
12
+ | **编排 task** | 工作区 [`task_cyning_harness_g1_hgm_v2_v1.md`](../../../../docs/harness/tasks/active/task_cyning_harness_g1_hgm_v2_v1.md) |
13
+
14
+ > **一句话**:HGM = 过程轨 **Task / Gate / Hat / Review** 的显式图 + append-only 事件;**不替代** Markdown 真值 · **不替代** Inform 架构图谱。
15
+
16
+ ---
17
+
18
+ ## 0. 维护者决策摘要(2026-06-16)
19
+
20
+ | # | 决策 | 含义 |
21
+ | --- | --- | --- |
22
+ | D1 | **后端 Graph YAML P0 关账后再开 HGM G1** | Ink 后端 `graph-yaml-p0-00-main` 验证 schema/编译/CI 口径 · HGM 不抢跑 |
23
+ | D2 | **产品 Inform-YAML 在 v2.0 前并入主轨** | 后端试点后 · 将 YAML 能力升进 `@cyning/harness` **v1.1+** · 避免 2.x 再迁一次 Inform 格式 |
24
+ | D3 | **B9 Agent-shell 后置** | 排在 **HGM G1** 与 **cyning-harness-agent** 基础齐全之后 · 非 v1.0 并行项 |
25
+ | D4 | **v1.0 公众号稿本周完成发布** | 见 D 轨 [`ARTICLE_纪律包_v1.0_stable_公众号_v1_zh.md`](../../../../ai_coding_governance/narrative/discipline_package_series/ARTICLE_纪律包_v1.0_stable_公众号_v1_zh.md) |
26
+ | D5 | **本大纲 = G1 讨论入口** | 各节 `[讨论]` / `[待定]` 逐轮闭合后再写 G1 task 30 帽实现规格 |
27
+
28
+ ---
29
+
30
+ ## 1. 总体依赖链(Post-v1.0)
31
+
32
+ ```text
33
+ 【本周 P0/P1】
34
+ A5 v1.0.1(CLI verify/gate-check) ──► Epic CLOSE(HG-EPIC-ROADMAP)
35
+ D 轨 v1.0 公众号稿通读 + 发布
36
+
37
+ 【Inform 层 · 先于 HGM 产品 ingest】
38
+ Ink 后端 graph-yaml-p0-00-main(P0 试点 CLOSE)
39
+
40
+
41
+ 产品 Track I-YAML(@cyning/harness v1.1+ · gate-check / InformArtifact 对齐)
42
+
43
+
44
+ 【Track G · HGM】
45
+ G0 事件 schema 冻结 + 讨论大纲签收(本文件)
46
+
47
+
48
+ G1 v2.0:ingest · snapshot · axioms check 子集
49
+
50
+
51
+ G2 v2.1+:timeline · SQLite · patterns(可选)
52
+
53
+ 【Track B · 后置】
54
+ cyning-harness-agent 基础(Track C 提案 · 待单独立项)
55
+
56
+
57
+ B9 Agent-shell findings(第二 DistributionChannel · ≤4h/周)
58
+ ```
59
+
60
+ **硬约束**:HGM **不得**在 YAML P0 未关账时写「InformArtifact 已统一 YAML」;对外 **不得**把 YAML 试点称作「HGM 已上线」。
61
+
62
+ ---
63
+
64
+ ## 2. 三轨「图」边界(讨论必读)
65
+
66
+ | 轨 | 名称 | 管什么 | semver / task | 与 HGM 关系 |
67
+ | --- | --- | --- | --- | --- |
68
+ | **Inform · GraphTrack** | 架构图谱 | 模块/流程/入口 · `_tech_graph/` | 业务仓 + v1.0 `gate-check --graph` | HGM 节点 `InformArtifact` **引用** 此轨产物 |
69
+ | **Inform · YAML** | Graph Source v3 | flowchart 编辑源 · YAML→MD/JSON | 后端 P0 → 产品 v1.1+ [`task_y1`](../../../../docs/harness/tasks/active/task_cyning_harness_y1_yaml_inform_v19_v1.md) | 为 InformArtifact 提供 **稳定 machine-readable 源** · **非**过程事件 |
70
+ | **Track G · HGM** | 过程协作图 | Task–Gate–Hat–Review 实例 + 事件史 | v2.0+ G1 [`task_g1`](../../../../docs/harness/tasks/active/task_cyning_harness_g1_hgm_v2_v1.md) | **本大纲主题** |
71
+
72
+ ```mermaid
73
+ flowchart TB
74
+ subgraph Inform["Inform 层"]
75
+ YAML["Graph YAML 源"]
76
+ GT["graph.json / _tech_graph"]
77
+ YAML --> GT
78
+ end
79
+ subgraph Process["过程轨 · HGM"]
80
+ Files["tasks · reviews · invokes"]
81
+ Events["events/*.jsonl"]
82
+ Snap["graph/snapshot.json"]
83
+ Files --> Events
84
+ Events --> Snap
85
+ end
86
+ GT -->|"MUST_READ 边"| Snap
87
+ Files -->|"文件真值优先 S2"| Process
88
+ ```
89
+
90
+ ---
91
+
92
+ ## 3. G1(v2.0)MVP 范围 · 建议包络
93
+
94
+ > 细节见 design v0 · 本节只列 **G1 必达 / 明确不做**,供讨论勾选。
95
+
96
+ ### 3.1 G1 必达(proposal · 待讨论签收)
97
+
98
+ | 能力 | 交付物 | 验收口径(草案) |
99
+ | --- | --- | --- |
100
+ | **事件写入** | `.cyning-harness/events/YYYY-MM.jsonl` | append-only · 幂等 ingest |
101
+ | **ingest CLI** | `harness graph ingest --from-repo .` | 扫描 tasks/reviews/invokes/gate-check.log · 不碰 S2 覆盖 |
102
+ | **snapshot** | `harness graph snapshot` → `graph/snapshot.json` | 事件重放可 rebuild · 可删缓存 |
103
+ | **公理子集** | `harness graph axioms check` | **至少** D2 · D3 · rejected→draft · S2 事件审计 |
104
+ | **与 gate-check 并列** | 文档 + README | `--graph` 仍指 **Inform** · HGM 子命令独立 |
105
+
106
+ ### 3.2 G1 明确不做
107
+
108
+ - Neo4j / 远端图库默认后端
109
+ - OWL 推理机 · GrowingReasoningAgent
110
+ - 用图 DB **覆盖** task/review 正文
111
+ - Supabase 同步(Q3 in design v0 · 维持 **否**)
112
+ - Agent-shell / Runtime(Track C / B9)
113
+
114
+ ### 3.3 `[讨论]` G1 是否包含 InformArtifact 自动 ingest?
115
+
116
+ | 选项 | pros | cons |
117
+ | --- | --- | --- |
118
+ | **A · G1 仅过程节点** | 范围小 · 与 YAML 产品轨解耦 | Inform 与过程图需两次 ingest |
119
+ | **B · G1 含 InformArtifact 指针** | `MUST_READ` 边可机械检查 | 依赖 Track I-YAML schema 冻结 |
120
+
121
+ **维护者暂定**:**B** — 但 **Inform 正文仍来自 YAML/MD 真值** · HGM 只存 `inform:{path}` 节点与 `MUST_READ` 边 · 等 I-YAML v1.1 后再实现 B 的细节。
122
+
123
+ ---
124
+
125
+ ## 4. 分阶段交付(Track G 内部分解)
126
+
127
+ | 阶段 | 代号 | npm / 标签 | 核心交付 | 闸门 |
128
+ | --- | --- | --- | --- | --- |
129
+ | **G0** | schema 冻结 | —(文档) | 本大纲签收 · `events` JSON Schema · 与 ontology 公理 ID 对照表 | YAML P0 CLOSE + 大纲 §3–§6 讨论闭合 |
130
+ | **G1** | ingest MVP | **v2.0.0** | §3.1 必达 | G0 + I-YAML v1.1 最小对齐(InformArtifact 路径约定) |
131
+ | **G2** | 查询加速 | v2.1.x | timeline · SQLite 投影 · 简单 filter query | G1 dogfood 30 天 |
132
+ | **G3** | 模式统计 | v2.2+ | patterns · 可选 Neo4j 导出 | G2 + 事件量足够 |
133
+
134
+ **`[讨论]`** v2.0.0 是否允许 **仅 ingest + snapshot**、axioms check 放 v2.0.1?
135
+ **草案倾向**:axioms check **至少 D2 一条** 须跟 v2.0.0 同发,否则「图论公理」叙事空洞。
136
+
137
+ ---
138
+
139
+ ## 5. 事件 schema · 讨论清单
140
+
141
+ > 完整示例见 design v0 §1.3 · 此处列 **待决字段**。
142
+
143
+ | ID | 问题 | 草案 | 待决 |
144
+ | --- | --- | --- | --- |
145
+ | E1 | ingest 触发 | v2.0 **手动 CLI** + gate-check 结束 hook **可选** | hook 是否默认开? |
146
+ | E2 | `actor` 枚举 | `maintainer \| gate-check \| sync \| agent:{hat_id}` | 是否加 `ci`? |
147
+ | E3 | 修正历史 | 仅 `CorrectionEvent` 追加 · 禁止删改 | 是否需要 `supersedes` 边? |
148
+ | E4 | Epic 节点 | Epic = Task 特化标签 `Epic` | 与现有 Epic task md 字段对齐表 **待写** |
149
+ | E5 | Inform 变更 | 是否发 `InformArtifactUpdated`? | **待定** · 可能仅 gate-check --graph 触发 |
150
+ | E6 | 多仓 | 单仓 `.cyning-harness/events` | 工作区根聚合 **v2.2+** |
151
+
152
+ **G0 交付**:`docs/methodology/graph/schemas/hgm_event_v1.schema.json`(待建)+ 与 §5 表同步的 CHANGELOG。
153
+
154
+ ---
155
+
156
+ ## 6. 与 Track I-YAML(产品 v1.1+)的接口
157
+
158
+ | 接口 | HGM 侧 | I-YAML 侧 |
159
+ | --- | --- | --- |
160
+ | **节点 ID** | `inform:{repo_rel_path}` | YAML 编译产物路径写入 manifest |
161
+ | **mustRead** | Task → InformArtifact 边 | task 表 `must_read` 或 gate-check 解析 |
162
+ | **校验** | ingest 时检查路径存在 | `graph yaml compile` + diff graph.json |
163
+ | **版本** | 事件带 `inform_schema: v3` 可选字段 | P0 后端 schema 冻结后 **复制/抽象** 到产品仓 |
164
+
165
+ **目的(D2)**:v2.0 开 ingest 时 Inform 已是 YAML 友好 · **避免 2.x 再改 Inform 物理格式**。
166
+
167
+ 关联 task:[`task_cyning_harness_y1_yaml_inform_v19_v1.md`](../../../../docs/harness/tasks/active/task_cyning_harness_y1_yaml_inform_v19_v1.md)
168
+
169
+ ---
170
+
171
+ ## 7. CLI 与 semver 纪律
172
+
173
+ | 命令域 | v1.x | v2.x |
174
+ | --- | --- | --- |
175
+ | `init` / `upgrade` / `audit` / `verify` / `gate-check` | 主轨持续 patch/minor | 行为兼容 · 无破坏性改 S2 |
176
+ | `gate-check --graph` | **Inform** 模块图 | 不变语义 |
177
+ | `graph ingest` / `graph snapshot` / `graph axioms` | **不存在** | **G1 新增** |
178
+
179
+ SEM-02 维持:**主轨 v1.x · HGM 从 v2.0 主版本起** · 不写「v0.5 = HGM」。
180
+
181
+ ---
182
+
183
+ ## 8. B9 · cyning-harness-agent · Track C
184
+
185
+ | 项 | 说明 |
186
+ | --- | --- |
187
+ | **cyning-harness-agent** | **未立项** · 预期 = 基于纪律包的 Agent 分发/Runtime 壳(Track C 子集)· 消费 HGM 事件与 gate-check |
188
+ | **B9** | Kimi ExecutionShell 第二通道实验 · **依赖** agent 基础 + HGM ingest 可观测 |
189
+ | **顺序** | I-YAML v1.1 → HGM G1 v2.0 → **agent 基础 task** → B9 findings |
190
+ | **叙事** | 主路径仍为 **repo + npx** · shell 通道永不单独宣传「不必 embed」 |
191
+
192
+ `[讨论]` cyning-harness-agent 是独立 npm 包还是 `@cyning/harness` 可选 preset?**待定** · 建议 Epic 后单独 STRATEGY 一页。
193
+
194
+ ---
195
+
196
+ ## 9. 文档与公众稿分层
197
+
198
+ | 文档 | 时机 | 注意 |
199
+ | --- | --- | --- |
200
+ | v1.0 公众号稿 | **本周** | 不写 HGM 已上线 · 可预告 Track G |
201
+ | 续篇 **篇 2 HGM** | G0 大纲签收 + v1.0 稿发布后 | 沿用 [`OUTLINE_续篇_两篇_v1_zh.md`](../../../../ai_coding_governance/narrative/discipline_package_series/OUTLINE_续篇_两篇_v1_zh.md) §4 |
202
+ | design v0 → v1 | G1 开发前 | 本大纲讨论结论 **回写** design 文件 |
203
+ | USER_GUIDE v2.0 | G1 npm 发布时 | 新增 `graph` 子命令章 |
204
+
205
+ ---
206
+
207
+ ## 10. 开放问题(下一轮讨论议程)
208
+
209
+ 1. **G1 axioms 最小集**:仅 D2+D3+rejected→draft,还是含 D4-a(Inform 模块闸)?
210
+ 2. **ingest 与 git**:是否 v2.0 提供 optional pre-commit ingest?
211
+ 3. **工作区多子仓**:Projects 根是否需 `harness graph ingest --workspace`(推迟 G2/G3?)
212
+ 4. **I-YAML schema 归谁**:产品仓 canonical vs 业务仓试点先行 · **倾向** 试点冻结 → 产品抽象 → 写回 governance methodology
213
+ 5. **bench S5**:rejected→draft 夹具是否并入 compliance-bench 与 HGM axioms **同一口径**?
214
+ 6. **agent 立项触发**:G1 dogfood 绿 + 维护者书面批 Track C 子 task
215
+
216
+ ---
217
+
218
+ ## 11. 关联索引
219
+
220
+ | 类型 | 路径 |
221
+ | --- | --- |
222
+ | Post-v1.0 序列表 | [`POST_V1_0_SEQUENCE_v1_zh.md`](../../../../docs/harness/guides/POST_V1_0_SEQUENCE_v1_zh.md) |
223
+ | 后端 YAML P0 | [`task_engineering_graph_yaml_p0_00_main_v1.md`](../../../../ai-ink-brain-api-python/docs/tasks/active/task_engineering_graph_yaml_p0_00_main_v1.md) |
224
+ | 产品 I-YAML | [`task_cyning_harness_y1_yaml_inform_v19_v1.md`](../../../../docs/harness/tasks/active/task_cyning_harness_y1_yaml_inform_v19_v1.md) |
225
+ | HGM G1 task | [`task_cyning_harness_g1_hgm_v2_v1.md`](../../../../docs/harness/tasks/active/task_cyning_harness_g1_hgm_v2_v1.md) |
226
+ | B9(后置) | [`task_cyning_harness_b9_agent_shell_v1.md`](../../../../docs/harness/tasks/active/task_cyning_harness_b9_agent_shell_v1.md) |
227
+ | A5 v1.0.1 | [`task_cyning_harness_a5_cli_verify_v101_v1.md`](../../../../docs/harness/tasks/active/task_cyning_harness_a5_cli_verify_v101_v1.md) |
228
+
229
+ ---
230
+
231
+ ## 12. 讨论签收(维护者)
232
+
233
+ | 节 | 状态 | 签收人 | 日期 |
234
+ | --- | --- | --- | --- |
235
+ | §0 决策摘要 | `confirmed` | (维护者 2026-06-16 口头) | |
236
+ | §3 G1 范围 | `pending` | | |
237
+ | §5 事件 schema | `pending` | | |
238
+ | §6 I-YAML 接口 | `pending` | | |
239
+ | §8 agent/B9 | `pending` | | |
240
+ | **G0 整体** | `pending` | 全表勾选后开 G1 30 帽 | |
241
+
242
+ ---
243
+
244
+ ## 修订记录
245
+
246
+ | 版本 | 日期 | 说明 |
247
+ | --- | --- | --- |
248
+ | v1.0 | 2026-06-16 | 维护者五项决策落盘 · G0 讨论大纲初版 |
@@ -1,10 +1,10 @@
1
1
  # graph · Harness Graph Model (HGM)
2
2
 
3
- > **Track G · G1 / v0.5+**:HGM 为 **v1.0 公理稳定后的可选增强**(proposal · 未实现)· 详见 [`../ROADMAP_v1_zh.md`](../ROADMAP_v1_zh.md) §2.2。
3
+ > **Track G · G1 / v2.0+**:HGM 为 **v1.0 公理稳定后的可选增强**(proposal · 未实现)· 详见 [`../ROADMAP_v1_zh.md`](../ROADMAP_v1_zh.md) §2.0 · §2.2
4
4
 
5
5
  | 文档 | 状态 | 说明 |
6
6
  | --- | --- | --- |
7
- | **[`HARNESS_GRAPH_MODEL_design_v0_zh.md`](./HARNESS_GRAPH_MODEL_design_v0_zh.md)** | proposal · v0.5+ | **真值稿** · 节点/边/事件 · CLI 路线 |
7
+ | **[`HARNESS_GRAPH_MODEL_design_v0_zh.md`](./HARNESS_GRAPH_MODEL_design_v0_zh.md)** | proposal · **v2.0+** | **真值稿** · 节点/边/事件 · CLI 路线 |
8
8
  | [`HARNESS_GRAPH_MODEL_dialogue_archive_v1_zh.md`](./HARNESS_GRAPH_MODEL_dialogue_archive_v1_zh.md) | archive | 对话参考 · **非真值** |
9
9
 
10
10
  ```text
@@ -583,7 +583,7 @@ AGENTS.md / CLAUDE.md 内 cyning-harness marker 区段(整文件若仅含 mark
583
583
  | **ontology.yaml** | 未抽取 | v0.4 · `harness ontology-check` |
584
584
  | **FailureReport** | 未模板化 | v0.3 · 30 失败路径 |
585
585
  | **kimi-code-meta** preset | examples v0.3 · profiles v0.4 | `examples/kimi-code-integration/` · `enhancement` |
586
- | **Harness Graph Model** | 未实现 · 对话已归档 | [`../graph/HARNESS_GRAPH_MODEL_design_v0_zh.md`](../graph/HARNESS_GRAPH_MODEL_design_v0_zh.md) · v0.5+ |
586
+ | **Harness Graph Model** | 未实现 · 对话已归档 | [`../graph/HARNESS_GRAPH_MODEL_design_v0_zh.md`](../graph/HARNESS_GRAPH_MODEL_design_v0_zh.md) · **v2.0+** |
587
587
 
588
588
 
589
589
  ### 7.3 扩展规则(加新功能时)
@@ -645,7 +645,7 @@ npx CLI ≡ WizardTool 新实例
645
645
  | Q2 | `invokes/by-task/<slug>/` 是否纳入本体索引? | **是** · InvokeSnapshot 聚合容器 · `invoke_index.json` 由 sync --index 生成 |
646
646
  | Q3 | graph 模块表 `HG-GRAPH-MODULES` 是否产品化进 gate-check? | **是** · `gate-check --graph` 输出依赖模块图 + 审核状态 |
647
647
  | Q4 | KPI(00)是否进 Starter? | **否** · 保持 Extended |
648
- | Q5 | 是否支持热插拔 Track(动态启停轨而不 reinstall)? | **v0.5+ 再议** · 须改 profile + 部分 sync · 复杂度高 |
648
+ | Q5 | 是否支持热插拔 Track(动态启停轨而不 reinstall)? | **v2.0+ 再议** · 须改 profile + 部分 sync · 复杂度高 |
649
649
 
650
650
 
651
651
  ---
@@ -39,7 +39,7 @@ Open Folder:`cyning-harness` 产品仓根(或工作区 `Projects/` 并 `@`
39
39
 
40
40
  **阅读输出(阶段 A 交付)**:
41
41
 
42
- - 用 ≤800 字中文写「我理解的核心结论」:五 bullet(OOP 定位 / 本体定位 / HGM 定位 / 与 LangChain 差异 / v0.5 前不做什么)
42
+ - 用 ≤800 字中文写「我理解的核心结论」:五 bullet(OOP 定位 / 本体定位 / HGM 定位 / 与 LangChain 差异 / **v1.0 前不做什么 HGM**)
43
43
  - 列出你发现的 **3 处** 文档间可能矛盾或需作者拍板之处(若无写「未发现」)
44
44
  - **不要** 写文章正文 · **不要** 写完整大纲
45
45
 
@@ -52,7 +52,7 @@ Open Folder:`cyning-harness` 产品仓根(或工作区 `Projects/` 并 `@`
52
52
  | **受众** | 掘金 / 腾讯云 / 求职作品集 / Kimi 方向? |
53
53
  | **深度** | 概念科普 vs 架构师深度 vs 落地教程? |
54
54
  | **边界** | 是否写 kimi-code-meta 试点细节?是否提私有工作区? |
55
- | **理论** | 「OOP 升级」表述是否作为标题?HGM v0.5 写多少? |
55
+ | **理论** | 「OOP 升级」表述是否作为标题?HGM **v2.x** 写多少? |
56
56
  | **叙事** | 系列第几篇?与 ICVO 四支柱如何挂钩? |
57
57
 
58
58
  **禁止** 在阶段 B 用「我可以开始写了」代替问题。
@@ -86,7 +86,7 @@ Open Folder:`cyning-harness` 产品仓根(或工作区 `Projects/` 并 `@`
86
86
 
87
87
  - 真值以 `docs/methodology/` 为准;对话归档仅参考
88
88
  - GraphTrack(架构图)≠ HGM(过程实例图)— 文中须区分
89
- - 不得把 v0.5 HGM 写成「已发布能力」;对外写 **Track G / G1 提案(v0.5+ 能力标签,非产品主版本)**
89
+ - 不得把 **v2.x HGM** 写成「已发布能力」;对外写 **Track G / G1 提案(v2.0+ 能力标签 · v1.0 后主版本 2 · 非主轨 v0.5)**
90
90
  - 不得把 cyning-harness 说成 Agent Runtime / LangChain 替代品
91
91
  - ICV(公众三支柱)与 ICVO(产品四支柱)须用 [`AUDIT_doc_consistency_2026-06-15_zh.md`](../AUDIT_doc_consistency_2026-06-15_zh.md) 升级说明桥接
92
92
 
@@ -34,8 +34,8 @@
34
34
 
35
35
  | 检查项 | 期望 |
36
36
  | --- | --- |
37
- | ROADMAP §2 表顺序 vs 版本号 | `v0.5.x` HGM 在 **闸门** 上依赖 `v1.0` 完成,但 semver 数字易误读为「早于 v1.0」 |
38
- | 对外表述建议 | 是否统一为 **「Track G / G1 能力 / v0.5+ 提案」** 而非单独写 `v0.5` 产品版 |
37
+ | ROADMAP §2 表顺序 vs 版本号 | HGM **v2.x** 在 **闸门** 上依赖 `v1.0` 完成(SEM-02 已改 · 废止 v0.5/v0.6) |
38
+ | 对外表述建议 | 统一为 **「Track G / G1 / v2.0+ 提案」** · 主轨 **v0.2→v1.0** |
39
39
  | HGM design §5 路线图 | 与 ROADMAP §2、§5 闸门是否一致 |
40
40
 
41
41
  **产出**:① 问题描述 ② 读者误解场景 ③ 推荐统一用语(2~3 句)④ 需改文件列表
@@ -102,7 +102,7 @@
102
102
 
103
103
  ## 禁止
104
104
 
105
- - 不把 v0.5 HGM 写成已发布
105
+ - 不把 **v2.x HGM** 写成已发布 · ~~v0.5~~ 已废止
106
106
  - 不把 cyning-harness 写成 LangChain 替代品
107
107
  - 不修改私有仓全名作对外主例
108
108
  ```
@@ -113,7 +113,7 @@
113
113
 
114
114
  | 级别 | ID | 摘要 | 状态 |
115
115
  | --- | --- | --- | --- |
116
- | **P0** | SEM-01 | `v1.0` 完成后才启动 HGM,但轨道代号 `v0.5.x` semver 直觉冲突 | ✅ 2026-06-15 落盘 |
116
+ | **P0** | SEM-01 | `v1.0` 完成后才启动 HGM · 原 `v0.5.x` 代号 | ✅ 2026-06-15 · **SEM-02 改 v2.x** |
117
117
  | **P0** | ICV-01 | 公众稿「不发明第四支柱」vs 产品 ICVO 四支柱 · 续篇须写清「显式化」非推翻 | ✅ 地图 v1.0.3 脚注 |
118
118
  | **P1** | MAP-01 | DOCUMENT_MAP §4 methodology README 版本号滞后 | ✅ |
119
119
  | **P1** | MIX-01 | gate-check --graph(Inform)与 HGM(Process)并列表述易混 | ✅ HGM §5 |
@@ -0,0 +1,81 @@
1
+ # SDD-Compliance micro-bench · v1
2
+
3
+ > **标题**:SDD-Compliance · **非** Agent Score / pass@1 类模型 benchmark。
4
+ > **范围**:S1–S4 · 公理 D2/D3/S2 可机械检查部分 · 不覆盖 D4/D5 与 Terminal-Bench。
5
+ > **状态**:v1.0 · B8 冻结 · 4/4 期望合规率 **100%**。
6
+
7
+ ---
8
+
9
+ ## 这个 bench 测什么?
10
+
11
+ | 问 | 答 |
12
+ | --- | --- |
13
+ | **测什么** | `gate-check.sh` 与 `harness-sync.sh` 是否符合 SDD 公理(合成夹具) |
14
+ | **不测什么** | LLM 会不会写代码 · 业务测试绿不绿 · 真实项目胜率 |
15
+ | **100 是什么** | 合规率 % = PASS 场景 ÷ 总场景 × 100;4/4 全过即 **100** |
16
+ | **和 B2 关系** | B2 Part A 是真实试点 retro;bench 是可机械复现的 **机制回归** |
17
+
18
+ ---
19
+
20
+ ## 运行
21
+
22
+ ```bash
23
+ # 产品包根 · 维护者人工验收(推荐 · 含逐项解释)
24
+ cd /path/to/cyning-harness
25
+ ./wizard/compliance-bench.sh --all
26
+ ```
27
+
28
+ ```bash
29
+ # CI / Epic 关账勾选 · stdout 仅数字 · 说明在 stderr
30
+ ./wizard/compliance-bench.sh --quiet --all
31
+ # stdout: 100
32
+ # stderr: 摘要表 + 「100 表示何意」
33
+ ```
34
+
35
+ 单场景:
36
+
37
+ ```bash
38
+ ./wizard/compliance-bench.sh S1 S3
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Scenario 详解
44
+
45
+ | ID | 场景 | 公理 | 夹具 | 期望 | 通过说明 |
46
+ | --- | --- | --- | --- | --- | --- |
47
+ | **S1** | R1 pending 即 30 | D2 · D3 | `S1_r1_pending/` | `gate-check` exit≠0 | 未签审核不得开 30 |
48
+ | **S2** | R1 approved 无 review | D2/D3 | `S2_r1_no_review/` | 无 `*_audit_R1_*` 文件 | 只改 task 表不算真审核 |
49
+ | **S3** | R1 approved + review | D2/D3 | `S3_r1_with_review/` | exit=0 且 review 存在 | 审核闭环 Happy Path |
50
+ | **S4** | sync 域边界 | S2 | `S4_sync_domain/` + 临时仓 | plan 无 `docs/tasks/`、`reviews/` | upgrade 不覆盖用户 task |
51
+
52
+ **v1 未纳入**:**S5** rejected→draft(待 gate-check 行为稳定后加夹具)。
53
+
54
+ ---
55
+
56
+ ## 输出示例(`--all`)
57
+
58
+ ```text
59
+ [S1] R1 未签 · 30 应被拒
60
+ 公理 D2 HumanGate · D3 30 前置闸
61
+ ...
62
+ 结果 ✅ PASS · gate-check exit=1
63
+ 说明 未审核任务不得进入 30 执行编码 · 人闸有效
64
+
65
+ 摘要 · SDD-Compliance bench
66
+ 场景 结果 详情
67
+ S1 ✅ PASS gate-check exit=1 · 30 被拒
68
+ ...
69
+ 合规率 4/4 = 100%
70
+
71
+ 解读 100 = 全部 4 个场景行为符合 SDD 公理
72
+ 不是 LLM 解题分数 · 不可外推为「AI 胜率」
73
+ ```
74
+
75
+ ---
76
+
77
+ ## 修订
78
+
79
+ | 日期 | 说明 |
80
+ | --- | --- |
81
+ | 2026-06-16 | 丰富脚本输出 · 公理/夹具/解读 · quiet 摘要走 stderr |
@@ -0,0 +1,30 @@
1
+ # Task fixture · S1 · R1 pending 应拒 30
2
+
3
+ > 用途:SDD-Compliance micro-bench S1 夹具 · R1 pending 时 gate-check 须 exit≠0
4
+
5
+ ---
6
+
7
+ ## Harness 元信息
8
+
9
+ | 字段 | 值 |
10
+ | --- | --- |
11
+ | **task_slug** | `s1_r1_pending` |
12
+ | **test_strategy** | `not_applicable` |
13
+ | **audit_profile** | `full` |
14
+
15
+ ### 人工闸
16
+
17
+ | human_gate_id | status | blocks_hats | 说明 |
18
+ | --- | --- | --- | --- |
19
+ | HG-TASK-DRAFT | approved | 22, 30 | 10 完成 |
20
+ | HG-AUDIT-R1 | pending | 30 | 22 R1 未落盘 / 未签 |
21
+
22
+ ---
23
+
24
+ ## 背景与目标
25
+
26
+ 验证 D2 公理:**HG-AUDIT-R1 pending 时,30 不可开工**。
27
+
28
+ ## 验收标准
29
+
30
+ - `gate-check.sh --task task.md` **exit 2** · 输出「30 不可开工: HG-AUDIT-R1 非 approved」
@@ -0,0 +1,31 @@
1
+ # Task fixture · S2 · R1 approved 但无 review 文件
2
+
3
+ > 用途:SDD-Compliance micro-bench S2 夹具 · R1 approved 但 reviews/*_R1_* 不存在 · 应判不合规
4
+
5
+ ---
6
+
7
+ ## Harness 元信息
8
+
9
+ | 字段 | 值 |
10
+ | --- | --- |
11
+ | **task_slug** | `s2_r1_no_review` |
12
+ | **test_strategy** | `not_applicable` |
13
+ | **audit_profile** | `full` |
14
+
15
+ ### 人工闸
16
+
17
+ | human_gate_id | status | blocks_hats | 说明 |
18
+ | --- | --- | --- | --- |
19
+ | HG-TASK-DRAFT | approved | 22, 30 | 10 完成 |
20
+ | HG-AUDIT-R1 | approved | 30 | 22 R1 已签 |
21
+
22
+ ---
23
+
24
+ ## 背景与目标
25
+
26
+ 验证 D2/D3 公理:**R1 approved 必须伴随 `docs/harness/reviews/*_audit_R1_*.md` 落盘**;否则 gate-check 须警告或判不合规。
27
+
28
+ ## 验收标准
29
+
30
+ - `gate-check.sh --task task.md` 可能 exit 0(当前 gate-check 不检查 review 文件存在性)
31
+ - bench 脚本额外检查 reviews 目录 · 无 `*_audit_R1_*` 文件 → **非合规**
@@ -0,0 +1,18 @@
1
+ # 审核记录 · s3_r1_with_review · R1
2
+
3
+ | 项 | 内容 |
4
+ | --- | --- |
5
+ | **task** | `s3_r1_with_review` |
6
+ | **round** | R1 |
7
+ | **日期** | 2026-06-16 |
8
+ | **结论** | 通过 · 无内容阻塞 |
9
+
10
+ ## 审查摘要
11
+
12
+ - 验收标准与范围一致
13
+ - 失败路径已覆盖
14
+ - 人工闸 HG-AUDIT-R1 建议 approved
15
+
16
+ ## 签收
17
+
18
+ 维护者签 HG-AUDIT-R1 → approved。
@@ -0,0 +1,31 @@
1
+ # Task fixture · S3 · R1 approved + review 落盘
2
+
3
+ > 用途:SDD-Compliance micro-bench S3 夹具 · R1 approved 且 reviews/*_R1_* 存在 · gate-check exit=0
4
+
5
+ ---
6
+
7
+ ## Harness 元信息
8
+
9
+ | 字段 | 值 |
10
+ | --- | --- |
11
+ | **task_slug** | `s3_r1_with_review` |
12
+ | **test_strategy** | `not_applicable` |
13
+ | **audit_profile** | `full` |
14
+
15
+ ### 人工闸
16
+
17
+ | human_gate_id | status | blocks_hats | 说明 |
18
+ | --- | --- | --- | --- |
19
+ | HG-TASK-DRAFT | approved | 22, 30 | 10 完成 |
20
+ | HG-AUDIT-R1 | approved | 30 | 22 R1 已签 |
21
+
22
+ ---
23
+
24
+ ## 背景与目标
25
+
26
+ 验证 D2/D3 公理:**R1 approved + review 文件落盘 → 30 可开工**。
27
+
28
+ ## 验收标准
29
+
30
+ - `gate-check.sh --task task.md` **exit 0**
31
+ - bench 脚本检查 `reviews/s3_r1_with_review_audit_R1_20260616.md` 存在 → **合规**
@@ -0,0 +1,16 @@
1
+ {
2
+ "preset": "harness-only",
3
+ "tracks": {
4
+ "harness_prompts": true,
5
+ "harness_invoke_template": true,
6
+ "ide_cursor": true,
7
+ "ide_claude": false,
8
+ "ide_agents": false,
9
+ "graph": false,
10
+ "wiki": false
11
+ },
12
+ "paths": {
13
+ "ide_cursor": ".cursor/rules/06-harness-pointer.mdc"
14
+ },
15
+ "ci": "none"
16
+ }
@@ -20,7 +20,7 @@ reviews:task_*_audit_R1_*.md 存在且 R1 通过? {是/否}
20
20
 
21
21
  结论:{STOP · 签闸指引 | 可进入读码/改码}
22
22
 
23
- 机械辅助(可选):CYNING_HARNESS/wizard/gate-check.sh --target <meta> --task docs/tasks/active/task_*.md
23
+ 机械辅助(推荐):`npx @cyning/harness verify --target <meta> --task docs/tasks/active/task_*.md`
24
24
  ```
25
25
 
26
26
  ## Agent 纪律
@@ -0,0 +1,47 @@
1
+ # cyning-harness · 业务仓速查
2
+
3
+ > 本文件由 `npx @cyning/harness init/upgrade` 自动生成,可手动删除。
4
+
5
+ ---
6
+
7
+ ## 常用命令
8
+
9
+ ```bash
10
+ # 30 前聚合验证(gate-check + audit D5 + S5 warn + 可选 --graph)
11
+ npx @cyning/harness verify [--target .] [--task docs/tasks/active/task_xxx.md] [--graph]
12
+
13
+ # 仅人工闸 npx @cyning/harness gate-check [--target .] [--task ...] [--graph] [--json]
14
+
15
+ # 生成 invoke 索引
16
+ npx @cyning/harness sync index [--target .]
17
+
18
+ # 升级 Harness 过程轨
19
+ npx @cyning/harness upgrade --target . --yes
20
+
21
+ # ICVO 审计(指定 task)
22
+ npx @cyning/harness audit --target . --task docs/tasks/active/task_xxx.md
23
+ ```
24
+
25
+ ## Node 仓可选路径
26
+
27
+ 若 init/upgrade 时使用了 `--with-scripts`:
28
+
29
+ ```bash
30
+ pnpm install
31
+ pnpm harness:verify --task docs/tasks/active/task_xxx.md
32
+ pnpm harness:gate
33
+ pnpm harness:audit --task docs/tasks/active/task_xxx.md
34
+ ```
35
+
36
+ ---
37
+
38
+ ## 本地产品包覆盖
39
+
40
+ 维护者开发时:
41
+
42
+ ```bash
43
+ export CYNING_HARNESS=/path/to/cyning-harness
44
+ npx @cyning/harness verify --target .
45
+ ```
46
+
47
+ 业务仓无需 clone 产品包即可使用 CLI。
@@ -8,6 +8,7 @@
8
8
  1. Open Folder = **本仓根**
9
9
  2. 读 `docs/tasks/active/task_*.md`:`test_strategy` · `failure_paths` · **人工闸**表
10
10
  3. **30 改码前** GATE_VERIFY(真值在 task **人工闸表**,**非**聊天 / invoke 字面 `approved`):
11
+ - 运行 `npx @cyning/harness verify --target . --task docs/tasks/active/task_*.md`
11
12
  - 首输出闸扫描表 · 见 `docs/harness/prompts/FRAGMENT_30_gate_verify_v1_zh.md`
12
13
  - **`HG-AUDIT-R1` pending** → **30 拒改码**(须维护者签 task 表 `approved`)
13
14
  - **`HG-GRAPH-MODULES` pending** → **30 拒改码**(D4-a)
@@ -8,6 +8,7 @@
8
8
  1. Open Folder = **本仓根**
9
9
  2. 读 `docs/tasks/active/task_*.md`:`test_strategy` · `failure_paths` · **人工闸**表
10
10
  3. **30 改码前** GATE_VERIFY(真值在 task **人工闸表**,**非** invoke 字面 `approved`):
11
+ - 运行 `npx @cyning/harness verify --target . --task docs/tasks/active/task_*.md`
11
12
  - 首输出闸扫描 · `FRAGMENT_30_gate_verify_v1_zh.md`
12
13
  - **`HG-AUDIT-R1` pending** → **30 拒改码**
13
14
  - 声称与 task 表冲突 → **STOP**
@@ -15,6 +15,7 @@ globs:
15
15
  1. Open Folder = **本仓根**
16
16
  2. 读 `docs/tasks/active/task_*.md`:`test_strategy` · `failure_paths` · **人工闸**表
17
17
  3. **30 改码前** GATE_VERIFY(真值在 task **人工闸表**,**非** invoke 字面 `approved`):
18
+ - 运行 `npx @cyning/harness verify --target . --task docs/tasks/active/task_*.md`
18
19
  - 首输出闸扫描 · `FRAGMENT_30_gate_verify_v1_zh.md`
19
20
  - **`HG-AUDIT-R1` pending** → **30 拒改码**
20
21
  - 声称与 task 表冲突 → **STOP**