@cyning/harness 1.0.2 → 2.0.0

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 CHANGED
@@ -4,6 +4,51 @@
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [2.0.0] - 2026-06-17
8
+
9
+ ### Added
10
+
11
+ - **HGM G1**:`lib/graph-hgm.js` · 过程轨事件模型(Task / Gate / Review / Invoke / Sync / InformArtifact)
12
+ - **HGM Event Schema v1**:`docs/methodology/graph/schemas/hgm_event_v1.schema.json` · append-only JSONL
13
+ - **HGM CLI**:`harness graph ingest|snapshot|axioms check`(v2.0+)
14
+ - **InformArtifact 与 MUST_READ 边**:task → inform 节点 · 对齐 Track I-YAML 路径约定
15
+ - **HGM 公理子集**:D2(pending gate 阻塞 30)· D3(in_progress 缺 GateCheckRun)· S2(sync 禁止 touch S2)· rejected→draft 提醒
16
+ - **测试覆盖**:`test/graph-hgm.test.js` · 60/60
17
+
18
+ ### Changed
19
+
20
+ - **版本**:`package.json` · `ontology.yaml` → **2.0.0**
21
+ - **README**:当前版本 → v2.0.0 · 补充 HGM 命令速查
22
+ - **USER_GUIDE**:新增 §13 HGM 过程轨章 · 版本 → v2.0.0
23
+
24
+ ### Notes
25
+
26
+ - **HG-RELEASE**(tag v2.0.0 · npm publish)仍留维护者人闸
27
+ - `gate-check --graph` 语义不变;HGM 独立子命令
28
+ - HGM v2.0 默认本地 JSONL + snapshot,不含 Neo4j / SQLite / 远端同步
29
+
30
+ ## [1.1.0] - 2026-06-17
31
+
32
+ ### Added
33
+
34
+ - **Inform Graph YAML v3**:`schema/inform_graph.v3.schema.json` · 对齐试点 `*.graph.yaml` 编辑源
35
+ - **Inform-YAML 迁移对照表**:`docs/methodology/graph/INFORM_YAML_MIGRATION_v1_zh.md` · 试点字段 → 产品字段
36
+ - **`harness graph yaml compile|check`**:YAML → Mermaid MD + 结构化表 · YAML ↔ graph.json slice diff
37
+ - **demo_checkout dogfood**:`examples/demo_checkout/00_main.graph.yaml` + `graph.json` + `00_main.md`
38
+ - **测试覆盖**:`test/graph-yaml.test.js` + `test/gate-check.graph.test.js` Inform-YAML 路径
39
+
40
+ ### Changed
41
+
42
+ - **USER_GUIDE v1.0**:新增 §13 Inform-YAML 章 · 明确 MD / YAML / HGM 三轨边界
43
+ - **README**:当前版本 → **v1.1.0** · 补充 `graph yaml` 命令速查
44
+ - **`ontology.yaml`**:`product_semver: "1.1.0"`
45
+
46
+ ### Notes
47
+
48
+ - **HG-RELEASE**(tag v1.1.0 · npm publish)仍留维护者人闸
49
+ - `gate-check --graph` 语义不变;Inform 模块闸仍读 `docs/_tech_graph/`
50
+ - HGM G1 v2.0 仍待 Y1 merge + npm 发布(或维护者书面豁免)后启动
51
+
7
52
  ## [1.0.2] - 2026-06-16
8
53
 
9
54
  ### Fixed
package/README.md CHANGED
@@ -91,6 +91,8 @@ npx @cyning/harness upgrade --gate-check # upgrade 前自动 audit
91
91
  - **S5**:dirty 工作区 warn,apply 须 `--force` 明示
92
92
 
93
93
  Inform 图谱闸:`npx @cyning/harness gate-check --graph --target /path/to/your-repo`
94
+ Inform-YAML:`npx @cyning/harness graph yaml compile|check --input docs/_tech_graph`(v1.1+)
95
+ HGM 过程轨:`npx @cyning/harness graph ingest|snapshot|axioms check --target /path/to/your-repo`(v2.0+)
94
96
  Invoke 索引:`npx @cyning/harness sync index --target /path/to/your-repo`(不覆盖 S2 域)
95
97
 
96
98
  Node 仓可选:`npx @cyning/harness init --with-scripts` → `pnpm harness:verify`。
@@ -167,8 +169,8 @@ cyning-harness/
167
169
 
168
170
  | 项 | 值 |
169
171
  |----|-----|
170
- | 当前 | **v1.0.0** — A4 stable · ICVO audit · invoke_index · gate-check --graph · B2 证据 |
171
- | 上一档 | v0.4.0 — A3 public push · MIT · 脱敏金样 |
172
+ | 当前 | **v2.0.0** — HGM G1 · `graph ingest|snapshot|axioms` · Inform-YAML · ICVO audit · invoke_index · gate-check --graph · B2 证据 |
173
+ | 上一档 | v1.1.0 — Inform-YAML · `graph yaml compile|check` · ICVO audit · invoke_index · gate-check --graph · B2 证据 |
172
174
  | 许可 | **MIT** · [`LICENSE`](LICENSE) · Release [`docs/RELEASE_v1.0.0.md`](docs/RELEASE_v1.0.0.md) |
173
175
 
174
176
  ---
@@ -1,7 +1,7 @@
1
- # cyning-harness v1.0 · 使用手册
1
+ # cyning-harness v2.0 · 使用手册
2
2
 
3
3
  > **读者**:要在 **自己的业务仓库** 里落地 AI 辅助研发纪律的开发者(非 cyning-harness 维护者)。
4
- > **版本**:[`@cyning/harness@1.0.1`](https://www.npmjs.com/package/@cyning/harness) · MIT
4
+ > **版本**:[`@cyning/harness@2.0.0`](https://www.npmjs.com/package/@cyning/harness) · MIT
5
5
  > **仓库**:<https://github.com/Cyning12/cyning-harness>
6
6
  > **更短入口**:[`README.md`](../README.md) Quick Start · [`ONBOARDING.md`](./ONBOARDING.md) 接入细节
7
7
  > **Release**:[`RELEASE_v1.0.1.md`](./RELEASE_v1.0.1.md) · [`CHANGELOG.md`](../CHANGELOG.md)
@@ -226,20 +226,66 @@ npm run harness -- check --target /tmp/foo
226
226
 
227
227
  ---
228
228
 
229
- ## 10. 局限与诚实边界(v1.0)
229
+ ## 10. Inform-YAML 图谱编辑源(v1.1+)
230
+
231
+ 从 `@cyning/harness@1.1.0` 起,业务仓可选择用 **`docs/_tech_graph/*.graph.yaml`** 作为 Inform 架构图谱的编辑源,再编译为 `.md`(人类可读)与 `graph.json`(机器可读)。
232
+
233
+ ### 10.1 三轨边界
234
+
235
+ | 轨 | 文件 | 用途 | 版本 |
236
+ | --- | --- | --- | --- |
237
+ | **MD 人类轨** | `docs/_tech_graph/*.md` | 代码审阅、README 引用、Mermaid 渲染 | v1.0+ |
238
+ | **YAML 编辑源** | `docs/_tech_graph/*.graph.yaml` | 结构化编辑、diff、CI 校验 | **v1.1+** |
239
+ | **HGM 过程轨** | `.cyning-harness/events/*.jsonl` | Task / Gate / Review 实例与事件史 | **v2.0+** |
240
+
241
+ **原则**:YAML 为 Inform 编辑源,HGM 为过程事件图;YAML **不替代** task/review 真值,HGM **不替代** YAML/MD Inform 正文。
242
+
243
+ ### 10.2 最小工作流
244
+
245
+ ```bash
246
+ # 1. 在业务仓编辑 docs/_tech_graph/00_main.graph.yaml
247
+ # 2. 编译为 Markdown(人类可读)
248
+ npx @cyning/harness graph yaml compile --graph-id 00_main --input docs/_tech_graph
249
+
250
+ # 3. 校验 YAML 与 graph.json 切片是否一致
251
+ npx @cyning/harness graph yaml check --graph-id 00_main --input docs/_tech_graph
252
+
253
+ # 4. 一次性编译/校验全部 *.graph.yaml
254
+ npx @cyning/harness graph yaml compile --all --input docs/_tech_graph
255
+ npx @cyning/harness graph yaml check --all --input docs/_tech_graph
256
+ ```
257
+
258
+ ### 10.3 schema 与迁移
259
+
260
+ - **产品 schema**:[`schema/inform_graph.v3.schema.json`](../../schema/inform_graph.v3.schema.json)
261
+ - **迁移对照表**:[`docs/methodology/graph/INFORM_YAML_MIGRATION_v1_zh.md`](./methodology/graph/INFORM_YAML_MIGRATION_v1_zh.md)
262
+ - **试点真值**:Ink 后端 `ai-ink-brain-api-python/docs/_tech_graph/*.graph.yaml`
263
+
264
+ ### 10.4 与 gate-check --graph 的关系
265
+
266
+ `gate-check --graph` 语义不变:仍扫描 `docs/_tech_graph/` 下所有模块/流程文件,输出 `HG-GRAPH-MODULES` 状态摘要。新增 `.graph.yaml` 文件会 **友好列出**,不改变通过/失败规则。
267
+
268
+ ### 10.5 金样
269
+
270
+ `examples/demo_checkout/00_main.graph.yaml` 提供零风险 Inform-YAML 切片,可对照其生成的 `00_main.md` 与 `graph.json`。
271
+
272
+ ---
273
+
274
+ ## 11. 局限与诚实边界(v1.1)
230
275
 
231
276
  | 项 | 说明 |
232
277
  | --- | --- |
233
278
  | 不是胜率工具 | [`README` 试点证据 B2](../README.md) · 完整表 [`PILOT_EVIDENCE_B2_v1_zh.md`](./methodology/execution/PILOT_EVIDENCE_B2_v1_zh.md) · **小样本机制证据**,不可外推 |
234
279
  | bench `100` | [SDD-Compliance](../examples/compliance_bench/README.md) 四场景合规率 · 见上文 §6.1 |
235
280
  | Extended 帽 | 00/50/链式 PROMPT 不在 Starter 默认包 · 见 [`harness/prompts/README.md`](../harness/prompts/README.md) |
236
- | HGM / 图数据库 | **Track G · v2.0+ 提案**,v1.0 未实现 |
281
+ | Inform-YAML | **v1.1+** · 可选编辑源 · `graph yaml check` 与 `graph.json` 一致 |
282
+ | HGM / 图数据库 | **v2.0+ 已实现** `graph ingest|snapshot|axioms` · 本地 JSONL + snapshot;Neo4j / 远端同步 **仍提案** |
237
283
  | Agent-shell | 研究轨 #9,非 npm 功能 |
238
284
  | rejected→draft | bench S5 场景 v1 未纳入;gate-check 对非 approved 拒 30 |
239
285
 
240
286
  ---
241
287
 
242
- ## 11. 常见问题
288
+ ## 12. 常见问题
243
289
 
244
290
  **Q:Harness 会调用我的 LLM 吗?**
245
291
  A:不会。LLM 在你使用的 IDE 里;Harness 只提供文件、脚本与约定。
@@ -253,12 +299,53 @@ A:`init --ide cursor` 会生成入口片段;Harness task + prompts 是 **任
253
299
  **Q:升级后 task 会被覆盖吗?**
254
300
  A:不会(S2 域)。若 prompts 模板有更新,apply 会更新 **模板侧**,不删你的 active task。
255
301
 
302
+ **Q:如何编辑 Inform 架构图?**
303
+ A:v1.1+ 可选 `docs/_tech_graph/*.graph.yaml` 作为编辑源,运行 `npx @cyning/harness graph yaml compile|check` 生成 MD / 校验 graph.json。
304
+
305
+ **Q:HGM 与 Inform-YAML 是什么关系?**
306
+ A:Inform-YAML 是 **架构图谱** 的编辑源;HGM(v2.0+)是 **过程协作** 的事件图。二者并列,HGM 通过 `InformArtifact` 节点引用 Inform 产物,但不覆盖其正文。
307
+
256
308
  **Q:如何贡献或报 issue?**
257
309
  A:GitHub [Cyning12/cyning-harness](https://github.com/Cyning12/cyning-harness) · MIT。
258
310
 
259
311
  ---
260
312
 
261
- ## 12. 进一步阅读
313
+ ## 13. HGM 过程轨(v2.0+)
314
+
315
+ Harness Graph Model(HGM)把 task、gate、review、invoke、sync 等过程实例变成 **append-only 事件流** 与 **可重放图快照**,用于机械检查 SDD 公理。
316
+
317
+ ### 13.1 事件文件
318
+
319
+ HGM 事件写入 `.cyning-harness/events/YYYY-MM.jsonl`,修正 = 追加 `CorrectionEvent`,**禁止删改历史**。
320
+
321
+ ### 13.2 CLI
322
+
323
+ ```bash
324
+ # 扫描业务仓 → 追加事件(幂等)
325
+ npx @cyning/harness graph ingest --target /path/to/your-repo
326
+
327
+ # 事件重放 → .cyning-harness/graph/snapshot.json
328
+ npx @cyning/harness graph snapshot --target /path/to/your-repo
329
+
330
+ # 公理检查(D2 · D3 · S2 · rejected→draft)
331
+ npx @cyning/harness graph axioms check --target /path/to/your-repo
332
+ npx @cyning/harness graph axioms check --target /path/to/your-repo --json
333
+ ```
334
+
335
+ ### 13.3 与 Inform-YAML 的接口
336
+
337
+ - `InformArtifact` 节点 ID:`inform:{repo_rel_path}`
338
+ - Task → InformArtifact 边:`MUST_READ`
339
+ - HGM **不存储** Inform 正文,只存路径指针与 schema 版本
340
+
341
+ ### 13.4 局限
342
+
343
+ - v2.0 默认本地 JSONL + snapshot;**不含** Neo4j / SQLite / 远端同步
344
+ - 多仓聚合、时光机重建任意时点图:v2.1+ 提案
345
+
346
+ ---
347
+
348
+ ## 14. 进一步阅读
262
349
 
263
350
  | 优先级 | 文档 |
264
351
  | --- | --- |
@@ -282,3 +369,5 @@ A:GitHub [Cyning12/cyning-harness](https://github.com/Cyning12/cyning-harness)
282
369
  | 2026-06-16 | v1.0 stable 首版使用手册 |
283
370
  | 2026-06-16 | 补全相对链接 · §6.1 compliance-bench · §12 阅读索引 |
284
371
  | 2026-06-16 | v1.0.1:verify / gate-check / sync index CLI · `--with-scripts` · QUICKREF |
372
+ | 2026-06-17 | v1.1.0:新增 §10 Inform-YAML · `graph yaml compile|check` · 三轨边界说明 |
373
+ | 2026-06-17 | v2.0.0:新增 §13 HGM 过程轨 · `graph ingest|snapshot|axioms` · InformArtifact 与 MUST_READ 边 |
@@ -0,0 +1,196 @@
1
+ # HGM G1 · 维护者开放议题决策(v1)
2
+
3
+ | 项 | 内容 |
4
+ | --- | --- |
5
+ | **状态** | `confirmed` |
6
+ | **日期** | 2026-06-17 |
7
+ | **决策者** | 维护者 |
8
+ | **来源** | [`HGM_UPGRADE_OUTLINE_v1_zh.md`](./HGM_UPGRADE_OUTLINE_v1_zh.md) §10 开放问题 |
9
+ | **后继序列表** | [`POST_G1_SEQUENCE_v1_zh.md`](../../../../docs/harness/guides/POST_G1_SEQUENCE_v1_zh.md) |
10
+
11
+ ---
12
+
13
+ ## 0. 决策摘要
14
+
15
+ | # | 议题 | 决策 | 落地 |
16
+ | --- | --- | --- | --- |
17
+ | **Q1** | G1 axioms 是否含 Inform 模块闸(D4-a) | **是** · 纳入 axioms 最小集 | **G1.1** `@2.0.1` · `checkAxioms` 扩展 |
18
+ | **Q2** | v2.0 是否 optional pre-commit ingest | **是** · **可选**钩子 · 默认不强制 | **G1.1** · 示例 hook + 文档 |
19
+ | **Q3** | bench S5 与 HGM axioms 关系 | **语义对齐、实现分层**(见 §3) | G1.1 增 compliance S5 夹具 |
20
+ | **Q4** | agent 包形态 | **暂未选定** · 保留案例库(见 §4) | Track C 立项前 STRATEGY 一页 |
21
+ | Q5 | I-YAML schema 归谁 | **已闭合** · Y1 产品 canonical · 试点只读 | Y1 done |
22
+ | Q6 | agent 立项触发 | G1 **+ G1.1** dogfood 绿 + 维护者书面批 | 不变 |
23
+
24
+ ---
25
+
26
+ ## 1. Q1 · axioms 含 D4-a(Inform 模块闸)
27
+
28
+ ### 决策
29
+
30
+ **G1.1 起**,`harness graph axioms check` 最小集 = **D2 + D3 + D4-a + rejected→draft + S2**(在 G1 已实现子集上 **增 D4-a**)。
31
+
32
+ ### 定义真值
33
+
34
+ | 公理 | 含义 | 权威出处 |
35
+ | --- | --- | --- |
36
+ | **D4 / D4-a** | 改码 task 开工前 `HG-GRAPH-MODULES = approved` | [`DESIGN_ONTOLOGY_v1_zh.md`](../product/DESIGN_ONTOLOGY_v1_zh.md) §5.3 **D4** · Onboarding [`GUIDANCE_m2_starter_onboarding_v1_zh.md`](../../../../docs/harness/guides/GUIDANCE_m2_starter_onboarding_v1_zh.md) §2 **D4-a** |
37
+ | **Inform 联结** | Task --mustRead--> InformArtifact(`01_struct` / `_tech_graph`) | [`HARNESS_GRAPH_MODEL_design_v0_zh.md`](./HARNESS_GRAPH_MODEL_design_v0_zh.md) §2 公理表 **D4-a** 行 |
38
+
39
+ ### G1 v2.0.0 现状(2026-06-17)
40
+
41
+ [`lib/graph-hgm.js`](../../../lib/graph-hgm.js) `checkAxioms()` 已实现:**D2 · D3 · rejected→draft · S2** · **未**含 D4-a。
42
+
43
+ ### G1.1 交付(草案)
44
+
45
+ - 扫描 task:`HG-GRAPH-MODULES` pending/rejected 且 task 已 `in_progress` → violation
46
+ - 可选:MUST_READ 边缺失 `01_struct.md` 或模块表 → warn
47
+ - pytest 可失败用例 + 更新 USER_GUIDE §graph axioms
48
+
49
+ ---
50
+
51
+ ## 2. Q2 · optional pre-commit ingest
52
+
53
+ ### 决策
54
+
55
+ **提供 optional pre-commit ingest** · **不**作为 npm 默认安装步骤 · **不**替代 CI。
56
+
57
+ ### 形态(G1.1 草案)
58
+
59
+ ```text
60
+ .cyning-harness/hooks/pre-commit.sample ← 产品仓示例
61
+ └─ 调用:npx @cyning/harness graph ingest --from-repo . --incremental
62
+ └─ 文档:USER_GUIDE「可选 · Git hooks」节
63
+ └─ 安装:维护者手动 cp 或 `--install-hooks`(若实现)
64
+ ```
65
+
66
+ ### 纪律
67
+
68
+ | 项 | 说明 |
69
+ | --- | --- |
70
+ | 默认 | **不**在 `npx harness init` 自动安装 hook |
71
+ | 失败 | ingest 非 0 → hook 可配置 warn vs block(示例用 warn) |
72
+ | S2 | hook **不得**改写 task/review 正文 · 只 append events |
73
+
74
+ ---
75
+
76
+ ## 3. Q3 · bench S5 与 HGM axioms:定义在哪、有何区别
77
+
78
+ ### 3.1 命名消歧(重要)
79
+
80
+ | 名称 | 领域 | 含义 | **不是** |
81
+ | --- | --- | --- | --- |
82
+ | **compliance-bench `S5`** | SDD micro-bench 场景 ID | **rejected→draft** 夹具 | 本体 **S5** |
83
+ | **本体公理 `S5`** | 同步公理 | sync/apply 前 **Git 工作区干净** | bench 场景 |
84
+ | **HGM `rejected→draft`** | 过程公理 | gate rejected 后 task 须回 **draft** | 本体 S5 |
85
+
86
+ 下文 **bench S5** 均指 compliance-bench 场景 · 非本体 S5。
87
+
88
+ ### 3.2 定义位置对照
89
+
90
+ | 机制 | 定义 / 实现位置 | 测什么 | 输入 |
91
+ | --- | --- | --- | --- |
92
+ | **compliance-bench S1–S4** | [`examples/compliance_bench/README.md`](../../../examples/compliance_bench/README.md) · [`wizard/compliance-bench.sh`](../../../wizard/compliance-bench.sh) | **静态夹具**上 `gate-check.sh` / sync 行为 | 合成 mini 仓 `S1_r1_pending/` 等 |
93
+ | **compliance-bench S5**(**待 G1.1**) | 同上 · B8 原 defer | rejected 后 gate-check 警告 + task 应 draft | 夹具 `S5_rejected_draft/`(待建) |
94
+ | **HGM `graph axioms check`** | [`lib/graph-hgm.js`](../../../lib/graph-hgm.js) `checkAxioms()` · design v0 §2 | **事件重放 snapshot** 上的公理违反 | `.cyning-harness/events/*.jsonl` |
95
+ | **gate-check(运行时)** | [`wizard/gate-check.sh`](../../../wizard/gate-check.sh) · 本体 §4.2 | 当前 task 闸表 · 30 拒开工 | 真实业务仓 task md |
96
+ | **harness audit S5** | [`lib/audit.js`](../../../lib/audit.js) · A4 task | **Git clean** 再 sync | 工作区 git status |
97
+
98
+ ### 3.3 区别(一句话)
99
+
100
+ ```text
101
+ compliance-bench = 「给定假仓库,wizard 命令行为对不对」· 回归测试 · 无事件流
102
+ HGM axioms = 「给定真实事件历史,投影图是否违反过程公理」· 审计 · 有时序
103
+ gate-check = 「此刻能不能开 30」· 运行时闸
104
+ ```
105
+
106
+ ### 3.4 为何要口径对齐(维护者决策 Q3)
107
+
108
+ | 层 | 关系 |
109
+ | --- | --- |
110
+ | **语义** | bench S5 与 HGM `rejected→draft` **同一规则** · 来自 [`DESIGN_ONTOLOGY`](../product/DESIGN_ONTOLOGY_v1_zh.md) §4.2 |
111
+ | **实现** | **故意分层** · bench 不读 jsonl · HGM 不跑 shell 夹具 |
112
+ | **G1.1** | 新增 S5 夹具 + 收紧 HGM rejected 检查(事件流精确匹配 draft 事件) |
113
+
114
+ ### 3.5 当前 compliance-bench 覆盖
115
+
116
+ | 场景 | 公理 | G1 HGM axioms |
117
+ | --- | --- | --- |
118
+ | S1 pending→拒 30 | D2/D3 | D2 ✓ |
119
+ | S2 无 review | D2/D3 | (ingest 侧另查) |
120
+ | S3 Happy Path | D2/D3 | D3 ✓ |
121
+ | S4 sync 不碰 task | S2 | S2 ✓ |
122
+ | **S5 rejected→draft** | rejected→draft | rejected→draft ✓(待 bench 夹具) |
123
+ | **D4-a 模块闸** | D4 | **G1.1 增** |
124
+
125
+ ---
126
+
127
+ ## 4. Q4 · agent 包形态 · 案例库(待选)
128
+
129
+ 维护者 **暂无单一偏好** · Track C 立项前从下列 **行业对照 + 本方可行形态** 中选 1–2 组合试点。
130
+
131
+ ### 4.1 形态谱系
132
+
133
+ | ID | 形态 | 实际案例 | 优点 | 风险 |
134
+ | --- | --- | --- | --- | --- |
135
+ | **A** | **纪律 npm 包 + IDE/CLI**(现状) | **`@cyning/harness`** · Cursor rules · `npx harness gate-check` | 仓库真值 · 已 dogfood | 无内置 Chat · 依赖 Cursor/Kimi |
136
+ | **B** | **独立 Agent npm 包** | LangGraph `langgraph-cli` · OpenAI Agents SDK `@openai/agents` | 边界清晰 · 可 semver 独立 | 双包同步 · 用户装两个 |
137
+ | **C** | **Preset / Profile 扩展** | 现有 **`kimi-code-meta`** preset · OpenClaw **workspace skills** | 低迁移 · 复用 init/upgrade | 非通用 Agent 运行时 |
138
+ | **D** | **MCP Server 暴露 Harness** | Anthropic **MCP** 生态 · Cursor MCP tools | 工具化 ingest/query/gate-check | 需 host 进程 · 安全面 |
139
+ | **E** | **ExecutionShell 策略注入**(B9 轨) | Kimi **用户级 agent 配置** · Claude **Project Instructions** | 零 clone 演示 Orchestrate | Inform/Verify 弱 · H1 待证 |
140
+ | **F** | **GitHub Action / CI Agent** | `github-actions/agent` 类 · 本仓 **verify-tech-graph.yml** | Verify 强 · 无本地 UI | 非交互 · 非 Runtime |
141
+ | **G** | **Monorepo 子包** | OpenClaw `openclaw` 主包 + gateway 子模块 | 单 repo 版本锁 | 一人项目过重 |
142
+
143
+ ### 4.2 本方已运行对照(非 hypothetic)
144
+
145
+ | 案例 | 路径 / 产品 | 与 Harness 关系 |
146
+ | --- | --- | --- |
147
+ | **repo-embedded(主路径)** | `ai-ink-brain-api-python` · `examples/demo_checkout` | 全 ICVO · gate-check + graph_query |
148
+ | **kimi-code-meta 试点** | 工作区 `kimi-code-meta/` · [`PILOT_kimi_code_fork_adoption_v1_zh.md`](../../../../docs/harness/guides/PILOT_kimi_code_fork_adoption_v1_zh.md) | B 轨证据 · preset + fork |
149
+ | **B9 shell-only(计划)** | [`task_cyning_harness_b9_agent_shell_v1.md`](../../../../docs/harness/tasks/active/task_cyning_harness_b9_agent_shell_v1.md) | E 轨实验 · G1.1 后 |
150
+ | **Hermes(只读对照)** | 工作区 `hermes-agent/` | Gateway + skills · **不**替代 Harness 签收 |
151
+ | **OpenClaw(只读对照)** | 工作区 `openclaw/` | workspace 注入 · sandbox |
152
+
153
+ ### 4.3 维护者倾向(非最终决策 · 供立项讨论)
154
+
155
+ | 阶段 | 建议 |
156
+ | --- | --- |
157
+ | **短期** | 保持 **A** 主路径 · G1.1 把 HGM CLI 做稳 |
158
+ | **中期试点** | **C + E**:`@cyning/harness` preset + B9 shell findings · **不**先建重型 **G** |
159
+ | **若需 programmatic API** | 评估 **B** 小仓 `@cyning/harness-agent` re-export `graph ingest/axioms/gate-check` |
160
+ | **若需跨 IDE 工具** | 评估 **D** 薄 MCP:`harness_gate_check` · `harness_graph_query` 两个 tool |
161
+
162
+ **立项触发**:G1.1 dogfood 绿 + 书面批 Track C · 先写 **STRATEGY_agent_runtime_v1_zh.md** 一页再开 task。
163
+
164
+ ---
165
+
166
+ ## 5. 与 G1 v2.0.0 代码的关系
167
+
168
+ | 项 | G1 v2.0.0(当前) | G1.1 v2.0.1(拍板后继) |
169
+ | --- | --- | --- |
170
+ | events / ingest / snapshot | ✓ | 增量 hook |
171
+ | axioms | D2/D3/rejected/S2 | **+ D4-a** · rejected 精确化 |
172
+ | compliance-bench | S1–S4 | **+ S5** |
173
+ | pre-commit | 无 | **optional 示例** |
174
+ | agent 包 | 无 | Track C 立项 |
175
+
176
+ **不阻塞 G1 PR merge**:Q1/Q2/Q3 交付归 **G1.1** · 已在 G1 关账后序列表 P1。
177
+
178
+ ---
179
+
180
+ ## 6. 关联索引
181
+
182
+ | 类型 | 路径 |
183
+ | --- | --- |
184
+ | Post-G1 序列表 | [`POST_G1_SEQUENCE_v1_zh.md`](../../../../docs/harness/guides/POST_G1_SEQUENCE_v1_zh.md) |
185
+ | 本体公理 | [`DESIGN_ONTOLOGY_v1_zh.md`](../product/DESIGN_ONTOLOGY_v1_zh.md) §5 |
186
+ | HGM design 公理表 | [`HARNESS_GRAPH_MODEL_design_v0_zh.md`](./HARNESS_GRAPH_MODEL_design_v0_zh.md) §2 |
187
+ | compliance-bench | [`examples/compliance_bench/README.md`](../../../examples/compliance_bench/README.md) |
188
+ | G1 task | [`task_cyning_harness_g1_hgm_v2_v1.md`](../../../../docs/harness/tasks/active/task_cyning_harness_g1_hgm_v2_v1.md) |
189
+
190
+ ---
191
+
192
+ ## 7. 修订记录
193
+
194
+ | 版本 | 日期 | 说明 |
195
+ | --- | --- | --- |
196
+ | v1.0 | 2026-06-17 | 维护者 Q1–Q4 拍板 · bench/HGM 消歧 · agent 案例库 |
@@ -10,6 +10,8 @@
10
10
  | **语义真值** | [`../product/DESIGN_ONTOLOGY_v1_zh.md`](../product/DESIGN_ONTOLOGY_v1_zh.md) v1.2 |
11
11
  | **L2 路线** | [`../ROADMAP_v1_zh.md`](../ROADMAP_v1_zh.md) §2.2 · §8 |
12
12
  | **编排 task** | 工作区 [`task_cyning_harness_g1_hgm_v2_v1.md`](../../../../docs/harness/tasks/active/task_cyning_harness_g1_hgm_v2_v1.md) |
13
+ | **G1 维护者决策** | [`DECISIONS_hgm_g1_maintainer_v1_zh.md`](./DECISIONS_hgm_g1_maintainer_v1_zh.md) |
14
+ | **Post-G1 序列表** | [`POST_G1_SEQUENCE_v1_zh.md`](../../../../docs/harness/guides/POST_G1_SEQUENCE_v1_zh.md) |
13
15
 
14
16
  > **一句话**:HGM = 过程轨 **Task / Gate / Hat / Review** 的显式图 + append-only 事件;**不替代** Markdown 真值 · **不替代** Inform 架构图谱。
15
17
 
@@ -206,12 +208,16 @@ SEM-02 维持:**主轨 v1.x · HGM 从 v2.0 主版本起** · 不写「v0.5 =
206
208
 
207
209
  ## 10. 开放问题(下一轮讨论议程)
208
210
 
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
211
+ > **2026-06-17 维护者拍板** · 全文见 [`DECISIONS_hgm_g1_maintainer_v1_zh.md`](./DECISIONS_hgm_g1_maintainer_v1_zh.md) · 后继序列表 [`POST_G1_SEQUENCE_v1_zh.md`](../../../../docs/harness/guides/POST_G1_SEQUENCE_v1_zh.md)
212
+
213
+ | # | 议题 | 决策 |
214
+ | --- | --- | --- |
215
+ | 1 | G1 axioms 最小集 | **含 D4-a Inform 模块闸** **G1.1** |
216
+ | 2 | ingest git | **optional pre-commit ingest** → **G1.1** |
217
+ | 3 | 工作区多子仓 ingest | **推迟 G2/G3** |
218
+ | 4 | I-YAML schema 归谁 | **Y1 已闭合** · 产品 canonical |
219
+ | 5 | bench S5 与 HGM axioms | **语义对齐 · 实现分层** · S5 夹具 **G1.1** |
220
+ | 6 | agent 立项触发 | G1 + **G1.1** dogfood 绿 + 书面批 · 包形态见 DECISIONS §4 |
215
221
 
216
222
  ---
217
223
 
@@ -0,0 +1,81 @@
1
+ # Inform-YAML 迁移对照表 · v1.1+
2
+
3
+ > **范围**:将 Ink 后端 `*.graph.yaml` 试点能力抽象进 `@cyning/harness@1.1+`。
4
+ > **真值来源**:`ai-ink-brain-api-python/docs/_tech_graph/*.graph.yaml`(P0–P1 done)。
5
+ > **产品 schema**:`schema/inform_graph.v3.schema.json`。
6
+
7
+ ---
8
+
9
+ ## 1. 字段对照
10
+
11
+ | 试点字段(后端 graph_v2 YAML) | 产品字段(v3 schema) | 变化 | 说明 |
12
+ | ---------------------------- | ------------------- | ---- | ---- |
13
+ | `graph_id` | `graph_id` | 无 | 图 ID · 与文件名一致 |
14
+ | `title` | `title` | 无 | 人类可读标题 |
15
+ | `description` | `description` | 无 | 用途简述 |
16
+ | `version` | `version` | 无 | 编辑源版本 |
17
+ | — | `schema_version` | **新增** | 固定 `inform_graph.v3` · 显式声明 |
18
+ | — | `direction` | **新增** | Mermaid 方向 · 默认 `TD` |
19
+ | `notes` | `notes` | 无 | 字符串或字符串数组 |
20
+ | `nodes[].id` | `nodes[].id` | 无 | 节点 ID |
21
+ | `nodes[].label` | `nodes[].label` | 无 | 显示标签 |
22
+ | — | `nodes[].kind` | **新增** | `flow` / `struct` / `external` |
23
+ | `edges[].from` | `edges[].from` | 无 | 源节点 |
24
+ | `edges[].to` | `edges[].to` | 无 | 目标节点 |
25
+ | `edges[].mark` | `edges[].mark` | 无 | Mermaid 箭头标记 |
26
+ | `edges[].label` | `edges[].label` | 无 | 语义标签 |
27
+ | `edges[].type` | `edges[].type` | 无 | 显式边类型 |
28
+ | `edges[].anchors` | `edges[].anchors` | 无 | 代码锚点 |
29
+ | `anchors[].path` | `anchors[].path` | 无 | 相对路径 |
30
+ | `anchors[].symbol` | `anchors[].symbol` | 无 | 符号名 |
31
+ | `anchors[].line` | `anchors[].line` | 无 | 行号 |
32
+
33
+ ---
34
+
35
+ ## 2. 有漂移须说明
36
+
37
+ ### 2.1 `schema_version` 新增
38
+
39
+ - **原因**:产品化后须机械区分 YAML 版本,避免后端试点与产品 schema 混用。
40
+ - **兼容**:`harness graph yaml compile` 对缺 `schema_version` 的 YAML 发出 warn,但仍尝试编译(graceful)。
41
+
42
+ ### 2.2 `nodes[].kind` 新增
43
+
44
+ - **原因**:试点 graph_v2 schema 在 `graph.json` 阶段未强制 kind;v3 将其前移到编辑源,便于 Mermaid class 渲染与 HGM `InformArtifact` 子类型推断。
45
+ - **兼容**:缺省 `kind` 时编译器按 label 启发式推断形状,与试点 `graph_yaml_compile.py` 行为一致。
46
+
47
+ ### 2.3 `direction` 新增
48
+
49
+ - **原因**:试点 `00_main.graph.yaml` 未声明方向,编译器默认 `TD`;v3 显式支持 `TD/TB/BT/LR/RL`。
50
+ - **兼容**:缺省仍为 `TD`。
51
+
52
+ ---
53
+
54
+ ## 3. 无漂移(保持语义)
55
+
56
+ - `graph_id` / `title` / `description` / `version` / `notes`
57
+ - `nodes[].id` / `nodes[].label`
58
+ - `edges[].from` / `edges[].to` / `edges[].mark` / `edges[].label` / `edges[].type`
59
+ - `edges[].anchors[].path` / `symbol` / `line`
60
+
61
+ ---
62
+
63
+ ## 4. 产物对照
64
+
65
+ | 产物 | 试点 | 产品 v1.1+ |
66
+ | ---- | ---- | ---------- |
67
+ | 人类可读 MD | `scripts/graph_yaml_compile.py` | `harness graph yaml compile` |
68
+ | graph.json 切片 | `tools/tech_graph_graph_export.py` + `tech_graph_graph_v2_yaml.py` | `harness graph yaml check`(diff 模式) |
69
+ | 校验 schema | `tools/tech_graph_graph_v2_schema.py` | `schema/inform_graph.v3.schema.json` |
70
+
71
+ ---
72
+
73
+ ## 5. 与 HGM G1 接口
74
+
75
+ - **InformArtifact 节点 ID**:`inform:{repo_rel_path}`,其中 `repo_rel_path` 为业务仓 `docs/_tech_graph/` 下编译产物路径(如 `docs/_tech_graph/00_main.md`)。
76
+ - **MUST_READ 边**:Task → InformArtifact,由 task 表 `must_read` 或 `gate-check --graph` 解析。
77
+ - **正文来源**:仍来自 YAML/MD 真值 · HGM 只存指针。
78
+
79
+ ---
80
+
81
+ freeze_id: CYNING-HARNESS-Y1-YAML-INFORM