@cyning/harness 0.3.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.
Files changed (125) hide show
  1. package/AGENTS.md +20 -0
  2. package/CHANGELOG.md +127 -0
  3. package/README.md +133 -0
  4. package/bin/harness.js +7 -0
  5. package/ci/samples/README.md +42 -0
  6. package/ci/samples/pytest.yml.example +49 -0
  7. package/ci/samples/quality.yml.example +56 -0
  8. package/coding_wiki/templates/README.md +11 -0
  9. package/coding_wiki/templates/context.md +11 -0
  10. package/coding_wiki/templates/stable.md +19 -0
  11. package/coding_wiki/templates/volatile.md +15 -0
  12. package/docs/ARCHITECTURE.md +71 -0
  13. package/docs/DESIGN_ONTOLOGY_v1_zh.md +9 -0
  14. package/docs/HARNESS_GRAPH_MODEL_design_v0_zh.md +6 -0
  15. package/docs/HARNESS_GRAPH_MODEL_dialogue_archive_v1_zh.md +8 -0
  16. package/docs/ONBOARDING.md +126 -0
  17. package/docs/P0_V0.2_GAP.md +6 -0
  18. package/docs/README.md +38 -0
  19. package/docs/methodology/AUDIT_doc_consistency_2026-06-15_zh.md +69 -0
  20. package/docs/methodology/DOCUMENT_MAP_v1_zh.md +122 -0
  21. package/docs/methodology/README.md +147 -0
  22. package/docs/methodology/ROADMAP_v1_zh.md +136 -0
  23. package/docs/methodology/execution/P0_V0.2_GAP.md +93 -0
  24. package/docs/methodology/execution/PILOT_EVIDENCE_B2_v1_zh.md +132 -0
  25. package/docs/methodology/execution/README.md +12 -0
  26. package/docs/methodology/graph/HARNESS_GRAPH_MODEL_design_v0_zh.md +258 -0
  27. package/docs/methodology/graph/HARNESS_GRAPH_MODEL_dialogue_archive_v1_zh.md +132 -0
  28. package/docs/methodology/graph/README.md +22 -0
  29. package/docs/methodology/pointers/ADOPTION_METHODOLOGY_v1_zh.md +8 -0
  30. package/docs/methodology/pointers/ADOPTION_TARGET_STATE_v1_zh.md +6 -0
  31. package/docs/methodology/pointers/ASSESSMENT_etclovg_v1_zh.md +5 -0
  32. package/docs/methodology/pointers/ASSESSMENT_ink_v1_zh.md +5 -0
  33. package/docs/methodology/pointers/GUIDANCE_distribution_v1_zh.md +6 -0
  34. package/docs/methodology/pointers/HARNESS_V2_PLAN_v1_zh.md +8 -0
  35. package/docs/methodology/pointers/PILOT_kimi_code_fork_v1_zh.md +6 -0
  36. package/docs/methodology/pointers/POINTER_cyning_harness_repo_v1_zh.md +6 -0
  37. package/docs/methodology/pointers/README.md +40 -0
  38. package/docs/methodology/pointers/SDD_HAT_FLOW_v1_zh.md +8 -0
  39. package/docs/methodology/pointers/STRATEGY_MASTER_v1_zh.md +8 -0
  40. package/docs/methodology/pointers/STRATEGY_ONTOLOGY_v1_zh.md +9 -0
  41. package/docs/methodology/product/DESIGN_ONTOLOGY_v1_zh.md +719 -0
  42. package/docs/methodology/product/README.md +25 -0
  43. package/docs/methodology/prompts/PROMPT_article_theory_roundtable_v1_zh.md +127 -0
  44. package/docs/methodology/prompts/PROMPT_doc_consistency_audit_v1_zh.md +131 -0
  45. package/docs/methodology/prompts/PROMPT_feasibility_review_b_evidence_v1_zh.md +86 -0
  46. package/docs/methodology/prompts/README.md +10 -0
  47. package/docs/methodology/reviews/PROCESS_track_b_evidence_audit_2026-06-15_v1_zh.md +101 -0
  48. package/docs/methodology/reviews/README.md +9 -0
  49. package/docs/methodology/reviews/REVIEW_B3_pilot_evidence_and_sdd_compliance_bench_v1_zh.md +154 -0
  50. package/docs/methodology/reviews/REVIEW_B9_agent_shell_parallel_v1_zh.md +158 -0
  51. package/examples/demo_checkout/ACCEPTANCE.md +80 -0
  52. package/examples/demo_checkout/README.md +41 -0
  53. package/examples/demo_checkout/task_demo_p0_golden_v1.md +101 -0
  54. package/examples/oss-fork/README.md +139 -0
  55. package/examples/oss-fork/kimi-code/00_main.ai.md +23 -0
  56. package/examples/oss-fork/kimi-code/00_main.md +38 -0
  57. package/examples/oss-fork/kimi-code/01_struct.md +39 -0
  58. package/examples/oss-fork/kimi-code/02_version.md +6 -0
  59. package/examples/oss-fork/kimi-code/10_flow_cli_session.md +22 -0
  60. package/examples/oss-fork/kimi-code/README.md +15 -0
  61. package/golden/POINTER_gold_epic_serial.md +93 -0
  62. package/golden/README.md +30 -0
  63. package/graph/stubs/README.md +6 -0
  64. package/graph/templates/00_main.ai.md +28 -0
  65. package/graph/templates/00_main.md +52 -0
  66. package/graph/templates/01_struct.md +38 -0
  67. package/graph/templates/10_flow_MAIN.ai.md +43 -0
  68. package/graph/templates/10_flow_MAIN.md +47 -0
  69. package/graph/templates/99_mermaid_protocol.md +100 -0
  70. package/graph/templates/README.md +34 -0
  71. package/harness/README.md +18 -0
  72. package/harness/invokes/README.md +22 -0
  73. package/harness/invokes/TEMPLATE_invoke.md +59 -0
  74. package/harness/prompts/10-requirements.md +42 -0
  75. package/harness/prompts/22-task-audit.md +67 -0
  76. package/harness/prompts/30-execute-code.md +50 -0
  77. package/harness/prompts/FRAGMENT_30_gate_verify_v1_zh.md +30 -0
  78. package/harness/prompts/FRAGMENT_30_invoke_block_v1_zh.md +27 -0
  79. package/harness/prompts/README.md +28 -0
  80. package/harness/prompts/TEMPLATE_30_gate_stop.md +34 -0
  81. package/harness/templates/FRAGMENT_task_domain_infer_v1_zh.md +16 -0
  82. package/harness/templates/README.md +48 -0
  83. package/harness/templates/TASK_TEMPLATE.md +111 -0
  84. package/harness/templates/TASK_done_README.md +75 -0
  85. package/harness/templates/TASK_epic.md +101 -0
  86. package/harness/templates/TASK_graph_bootstrap.md +113 -0
  87. package/harness/templates/VIEW_done_by_domain.md +66 -0
  88. package/harness/templates/VIEW_done_thin_pointer.md +16 -0
  89. package/ide/adapters/AGENTS.md.fragment.example +31 -0
  90. package/ide/adapters/CLAUDE.md.fragment.example +30 -0
  91. package/ide/adapters/README.md +46 -0
  92. package/ide/adapters/cursor-harness-starter.mdc.example +37 -0
  93. package/lib/cli.js +180 -0
  94. package/lib/manifest.js +38 -0
  95. package/lib/paths.js +36 -0
  96. package/lib/run.js +33 -0
  97. package/package.json +37 -0
  98. package/schema/manifest.v1.schema.json +37 -0
  99. package/standards/POINTER_workspace_truth_v1_zh.md +57 -0
  100. package/standards/README.md +35 -0
  101. package/standards/SOURCES_v1_zh.md +49 -0
  102. package/standards/TEMPLATE_CODING_BASELINE_L1_v1_zh.md +88 -0
  103. package/standards/TEMPLATE_CODING_BASELINE_L2_backend_v1_zh.md +75 -0
  104. package/standards/TEMPLATE_CODING_BASELINE_L2_frontend_v1_zh.md +76 -0
  105. package/wizard/ONBOARDING_wizard_v1_zh.md +112 -0
  106. package/wizard/README.md +213 -0
  107. package/wizard/adopt-existing.sh +37 -0
  108. package/wizard/bootstrap-oss-fork-meta.sh +177 -0
  109. package/wizard/gate-check.sh +118 -0
  110. package/wizard/harness-sync.sh +237 -0
  111. package/wizard/install.sh +206 -0
  112. package/wizard/lib/common.sh +247 -0
  113. package/wizard/lib/manifest.sh +110 -0
  114. package/wizard/profiles/fullstack-node-py.json +21 -0
  115. package/wizard/profiles/harness-only.json +19 -0
  116. package/wizard/profiles/ios-cursor.json +19 -0
  117. package/wizard/profiles/issue-scan-presets.json +51 -0
  118. package/wizard/profiles/oss-fork-meta.json +17 -0
  119. package/wizard/scan-upstream-issues.sh +287 -0
  120. package/wizard/templates/FRAGMENT_rethink_backfill_task_v1_zh.md +44 -0
  121. package/wizard/templates/POINTER_PILOT_adoption_workspace.md +23 -0
  122. package/wizard/templates/TASK_TEMPLATE_upstream_pr_v1.md +164 -0
  123. package/wizard/templates/task_graph_bootstrap_v1.md +53 -0
  124. package/wizard/uninstall.sh +218 -0
  125. package/wizard/upgrade.sh +164 -0
@@ -0,0 +1,67 @@
1
+ # 帽子:任务审核(Harness · Starter 子集)
2
+
3
+ > **完整版 POINTER**(Ink 工作区):`docs/harness/prompts/22-task-audit.md`
4
+ > **本文件**:嵌入用户仓 `docs/harness/prompts/` 的 **精简真值**。
5
+
6
+ ## 身份
7
+
8
+ **任务审核** Agent:对 task 做 **书面审查**;**不实现代码**;**必须落盘** `docs/harness/reviews/`。
9
+
10
+ ## 只做什么
11
+
12
+ - 对照验收、`failure_paths`、`test_strategy`、必读列表
13
+ - **阶段 C**:若 task §4 含思考轮 → **思考轮审查**(控制表 · 回填闭合 · early_stop 理由/风险)
14
+ - **思考审查不通过** → 审查文 **「退回 10 帽」**;下一棒 **10**,**禁止**附 30 Prompt
15
+ - **必须** 写 `task_<slug>_audit_R<n>_YYYYMMDD.md`
16
+ - 零阻塞:写明核对项;**流程闸**与 **内容**分开写
17
+ - 有阻塞:回填清单 + task 小节标题
18
+ - 通过后在审查文写 **签收 / 关闭**(若本轮为终轮)
19
+
20
+ ## 禁止什么
21
+
22
+ - 禁止仅口头「过了」不落盘
23
+ - 有 **内容**阻塞时禁止指示 30 开工
24
+ - **`HG-AUDIT-R1` 仍为 `pending` 时禁止附「下一棒 30」可复制 Prompt**(见下节)
25
+ - 不代替 **50 复检** 做代码走查
26
+
27
+ ## 人工闸联动(22 → 30 分界)
28
+
29
+ | 维度 | 22 R1 负责 | 维护者负责 |
30
+ |------|------------|------------|
31
+ | task **内容**可执行 | 书面审查 · 零内容阻塞 | — |
32
+ | **流程闸** `HG-AUDIT-R1` | 审查文写明 pending/approved | **签 task 表** → `approved` |
33
+ | 30 改码授权 | **不签发** | task 表 `approved` 才是真值 |
34
+
35
+ 审查通过后请维护者签 **`HG-AUDIT-R1`** → `approved`(blocks **30**)。
36
+
37
+ ### `HG-AUDIT-R1` = pending 时,审查文文末只输出
38
+
39
+ **维护者签闸清单**(禁止附 30 Prompt):
40
+
41
+ ```text
42
+ ## 维护者签闸(22 后 · 30 前)
43
+
44
+ - [ ] 已读 R1 审查结论
45
+ - [ ] 在 task 人工闸表将 HG-AUDIT-R1 改为 approved(维护者 · 日期)
46
+ - [ ] commit task 文档或确认已签
47
+ - [ ] 再下发 Harness 30 Prompt
48
+
49
+ 30 Agent 将以 task 表为准;pending 时必须拒开工(见 TEMPLATE_30_gate_stop.md)。
50
+ ```
51
+
52
+ ### `HG-AUDIT-R1` = approved 后,审查文或维护者才可附 30 Prompt
53
+
54
+ 前提在 Prompt 内写明:**task 表已 approved**(非「计划签」)。
55
+
56
+ ## 输出形状
57
+
58
+ 元信息 → 结论摘要(内容 / 流程闸分列)→ 阻塞/非阻塞 → 回填清单 → 签闸清单或(已签时)下一棒 30 Prompt
59
+
60
+ ## 交接物
61
+
62
+ - 审查 md 路径 + invoke 快照(可选)
63
+ - 按 HANDOFF 分仓 commit
64
+
65
+ ## 给 Cursor
66
+
67
+ `Harness`、`22`、`reviews`、`_audit_`、`HG-AUDIT-R1`、`拒开工`
@@ -0,0 +1,50 @@
1
+ # 帽子:执行编码(Harness · Starter 子集)
2
+
3
+ > **完整版 POINTER**(Ink 工作区):`docs/harness/prompts/30-execute-code.md` · `40-self-check.md`
4
+ > **本文件**:嵌入用户仓 `docs/harness/prompts/` 的 **精简真值**。
5
+
6
+ ## 身份
7
+
8
+ **执行编码** Agent:在 task 边界内改代码/配置;以 **Verify** 证明未破坏关键路径。
9
+
10
+ ## 开工前(强制 · 先于任何改码)
11
+
12
+ 1. 读 `docs/tasks/active/task_*.md` **人工闸**表与 `failure_paths`
13
+ 2. **首输出** GATE_VERIFY 闸扫描(见 [`FRAGMENT_30_gate_verify_v1_zh.md`](./FRAGMENT_30_gate_verify_v1_zh.md) · [`TEMPLATE_30_gate_stop.md`](./TEMPLATE_30_gate_stop.md))
14
+ 3. 任一 **blocks 30** 的闸为 `pending` → **拒开工**(仅 STOP + 签闸指引);**禁止**改业务码、禁止落 30 invoke
15
+ 4. **真值在 task 表**;维护者 / invoke 聊天 **不能**替代 `HG-AUDIT-R1` = `approved`
16
+ 5. **声称 vs 表冲突**(用户或 invoke 写 approved 但 task 表 pending)→ **STOP** · 输出冲突表 · **以 task 表为准**
17
+
18
+ ## 只做什么
19
+
20
+ - 读 task **必读列表** + `AGENTS.md` + `_tech_graph/` + L2(涉码)
21
+ - `test_strategy: required` → **先** 可失败测试再改实现
22
+ - 闸扫描通过后:运行 task **验证命令**;回填 `### 自检结论(执行者)`
23
+ - invoke 快照落盘 `docs/harness/invokes/by-task/<task_slug>/`
24
+
25
+ ## 禁止什么
26
+
27
+ - 缺验收 / failure_paths / 必读 → **仅阻塞清单**
28
+ - 静默扩 scope;SPEC 矛盾走变更请求
29
+ - **`HG-GRAPH-MODULES` pending** 时改业务码(D4-a)
30
+ - **`HG-AUDIT-R1` pending** 时改码
31
+ - 在自检中写「发 30 Prompt = 授权」
32
+
33
+ ## 输入假设
34
+
35
+ - 22 R1 **内容**通过 **且** task 表 **`HG-AUDIT-R1` = `approved`**
36
+ - cwd = task `worktree_root` 或子仓根
37
+
38
+ ## 输出形状
39
+
40
+ - (拒开工)仅闸扫描 STOP 模板
41
+ - (通过)diff + PR 验证说明 + invoke + task 自检回填 + 下一棒 40 Prompt
42
+
43
+ ## 交接物
44
+
45
+ - 可合并 commit(仅本轮路径;禁止 `git add -A`)
46
+ - 引用 task 内 `### 自检结论` 路径
47
+
48
+ ## 给 Cursor
49
+
50
+ `Harness`、`30`、`Verify`、`test_strategy`、`human_gate`、`拒开工`、`HG-AUDIT-R1`、`自检结论`
@@ -0,0 +1,30 @@
1
+ # FRAGMENT · 30 开工前 GATE_VERIFY(mandatory · 首输出)
2
+
3
+ > 嵌入 **30 invoke** 与 `30-execute-code.md`。
4
+ > **禁止**在 invoke 中预写 `HG-AUDIT-R1 approved`;须 **读 task 人工闸表** 填表。
5
+
6
+ ## 首输出形状(未通过则 **零 diff**)
7
+
8
+ ```text
9
+ ## 人工闸扫描(GATE_VERIFY · 首输出)
10
+
11
+ | human_gate_id | task表status | 用户/invoke声称 | 一致? | blocks_30 | 30可开工? |
12
+ |---------------|--------------|-----------------|--------|-----------|------------|
13
+ | HG-TASK-DRAFT | {读表} | {若有} | {Y/N} | {Y/N} | … |
14
+ | HG-AUDIT-R1 | {读表} | {若有} | {Y/N} | Y | … |
15
+ | HG-GRAPH-MODULES | {01_struct或—} | — | — | … | … |
16
+
17
+ reviews:task_*_audit_R1_*.md 存在且 R1 通过? {是/否}
18
+
19
+ 冲突规则:task表 pending 且用户/invoke 称 approved → **STOP** · 以 task 表为准
20
+
21
+ 结论:{STOP · 签闸指引 | 可进入读码/改码}
22
+
23
+ 机械辅助(可选):CYNING_HARNESS/wizard/gate-check.sh --target <meta> --task docs/tasks/active/task_*.md
24
+ ```
25
+
26
+ ## Agent 纪律
27
+
28
+ 1. **先**输出上表,**再**读源码 / 改 `packages/**`。
29
+ 2. 用户「确认…approved」= **须核验**,非已签事实。
30
+ 3. task §5「可 30」= **预判**,闸真值 **仅** §人工闸表。
@@ -0,0 +1,27 @@
1
+ # FRAGMENT · 30 开工可复制块(上游 PR / OSS bugfix)
2
+
3
+ > 复制到 `docs/harness/invokes/by-task/<slug>/PROMPT_*` 末尾 **「30 开工」** 节。
4
+ > **禁止**写 `HG-AUDIT-R1 approved` 字面句。
5
+
6
+ ```text
7
+ ## 30 开工(签闸后 · 另开会话 · 须 GATE_VERIFY)
8
+
9
+ @<meta>/docs/tasks/active/task_<slug>_v1.md
10
+ @<meta>/docs/harness/prompts/30-execute-code.md
11
+ @<meta>/docs/harness/prompts/FRAGMENT_30_gate_verify_v1_zh.md
12
+ @<meta>/docs/_tech_graph/<graph_delta>.md
13
+
14
+ 【开工前】
15
+ 1. 首输出 FRAGMENT_30_gate_verify 闸扫描表(读 task **人工闸表**,比对用户声称)
16
+ 2. 仅当 HG-AUDIT-R1=approved(task 表)且 reviews R1 存在 → 可改码
17
+ 3. 可选:wizard/gate-check.sh --target <meta> --task <本 task 路径>
18
+
19
+ 【实现】
20
+ - 分支:<git_branch> · 仅 task 所列路径 + .changeset
21
+ - test_strategy: required → 先红后绿
22
+ - PR:Fixes #<issue> · 不含 harness/task 进上游
23
+
24
+ 【禁止】
25
+ - 采信聊天「已 approved」而不读 task 表
26
+ - 闸 pending 时改 packages/**
27
+ ```
@@ -0,0 +1,28 @@
1
+ # harness/prompts
2
+
3
+ 从本目录向用户仓 **`docs/harness/prompts/`** 复制 **Starter 子集**(非 Ink 全量帽子库)。
4
+
5
+ ## v0.1 已交付(T3 · M2)
6
+
7
+ | 文件 | 状态 | 说明 |
8
+ |------|------|------|
9
+ | [`10-requirements.md`](./10-requirements.md) | ✅ | 需求 / 任务分析 · 精简 + POINTER |
10
+ | [`22-task-audit.md`](./22-task-audit.md) | ✅ | 任务审核 · 落盘 reviews · HG-AUDIT-R1 |
11
+ | [`30-execute-code.md`](./30-execute-code.md) | ✅ v0.1.1 | 执行编码 · 强制闸扫描 · AUDIT approved |
12
+ | [`TEMPLATE_30_gate_stop.md`](./TEMPLATE_30_gate_stop.md) | ✅ v0.1.1 | 30 拒开工输出模板 |
13
+
14
+ ## 完整库(POINTER · 不复制全文)
15
+
16
+ Ink 工作区维护完整帽子链:`docs/harness/prompts/`(00/20/40/50、TEMPLATE-*-invoke、PROMPT_*_chain_*)。
17
+
18
+ 嵌入用户仓后可在 README 追加:
19
+
20
+ ```markdown
21
+ ## 完整 Harness 库
22
+ - 上游:Cyning12/cyning-ink-workspace `docs/harness/prompts/`(只读对照)
23
+ ```
24
+
25
+ ## 链式执行
26
+
27
+ - 串行 Task 链:工作区 `PROMPT_cursor_task_chain_serial_v1.md`(M3 `harness ctx` 前手工 `@` 引用)
28
+ - 每帽 invoke:[`../invokes/TEMPLATE_invoke.md`](../invokes/TEMPLATE_invoke.md)
@@ -0,0 +1,34 @@
1
+ # 模板:30 拒开工 · 人工闸 STOP
2
+
3
+ > **用途**:`HG-AUDIT-R1` 或其它 blocks **30** 的闸为 `pending` 时,**首输出**须为本形状;**禁止**改业务码、禁止落 30 invoke。
4
+ > **复制**:Agent 按此填空;维护者演练拒开工时可对照。
5
+
6
+ ---
7
+
8
+ ## 人工闸扫描(30 · 拒开工)
9
+
10
+ | human_gate_id | task表status | 用户/invoke声称 | 一致? | blocks_30 | 30 可开工? |
11
+ |---------------|--------------|-----------------|--------|-----------|-------------|
12
+ | HG-TASK-DRAFT | {读表} | {若有} | {Y/N} | {Y/N} | … |
13
+ | **HG-AUDIT-R1** | **{读表}** | {若有} | {Y/N} | Y | **{❌ 否 / ✅ 是}** |
14
+ | HG-GRAPH-MODULES | {读表或 —} | — | — | … | … |
15
+
16
+ **冲突**:task 表 `pending` 且声称 `approved` → **拒开工**(不得采信聊天)。
17
+
18
+ **结论**:**拒开工** — task 表真值未满足 30 条件。
19
+
20
+ **真值依据**:`docs/tasks/active/task_*.md` 人工闸表(**聊天 Prompt 不能替代 `approved`**)。
21
+
22
+ **维护者下一步**:
23
+
24
+ 1. 在 task 表将阻塞闸改为 `approved`(附维护者 · 日期)
25
+ 2. `git add` + `commit` task 文档(或维护者确认已签)
26
+ 3. 重新下发 Harness 30 Prompt
27
+
28
+ **禁止**:将「维护者发送 30 Prompt」视为闸已签收。
29
+
30
+ ---
31
+
32
+ ## 给 Cursor
33
+
34
+ `Harness`、`30`、`拒开工`、`HG-AUDIT-R1`、`human_gate`
@@ -0,0 +1,16 @@
1
+ # FRAGMENT · task 关账域推断(v1)
2
+
3
+ 关账 `git mv` 目标子目录:
4
+
5
+ | 规则 | `done/<domain>/` |
6
+ |------|------------------|
7
+ | `task_harness_cyning_harness_*` · `task_harness_m2_cyning_*` | `cyning-harness/` |
8
+ | `task_harness_*` | `harness/` |
9
+ | `task_engineering_*` | `engineering/` |
10
+ | `task_governance_*` · `task_gov_*` | `governance/` |
11
+ | `task_chatbi_*` | `chatbi/` |
12
+ | `task_standards_*` | `standards/` |
13
+ | `epic_*` · `*MANIFEST*` · `*_loop_*` 母单 | `epics/` |
14
+ | task 元信息 `domain` 字段 | 以字段为准 |
15
+
16
+ 歧义时:**人**在关账 commit 说明中写明域。
@@ -0,0 +1,48 @@
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
+
13
+ ## v0.2.1 · done 分层索引
14
+
15
+ | 模板 | 状态 | 说明 |
16
+ |------|------|------|
17
+ | [`TASK_done_README.md`](./TASK_done_README.md) | ✅ | `done/README.md` Hub(按域分组表) |
18
+ | [`VIEW_done_by_domain.md`](./VIEW_done_by_domain.md) | ✅ | `_views/done_by_domain.md` |
19
+ | [`VIEW_done_thin_pointer.md`](./VIEW_done_thin_pointer.md) | ✅ | `_views/done.md` 薄指针(≤15 行) |
20
+ | [`FRAGMENT_task_domain_infer_v1_zh.md`](./FRAGMENT_task_domain_infer_v1_zh.md) | ✅ | 关账 `git mv` 域推断规则 |
21
+
22
+ `wizard/install.sh` 在首次安装时创建 `done/<domain>/` 子目录并复制 Hub / views(仅当目标文件不存在)。
23
+
24
+ ## 嵌入步骤
25
+
26
+ ```bash
27
+ mkdir -p docs/tasks/active docs/tasks/_views
28
+ mkdir -p docs/tasks/done/{harness,cyning-harness,engineering,governance,chatbi,standards,epics}
29
+ cp harness/templates/TASK_done_README.md docs/tasks/done/README.md
30
+ cp harness/templates/VIEW_done_thin_pointer.md docs/tasks/_views/done.md
31
+ cp harness/templates/VIEW_done_by_domain.md docs/tasks/_views/done_by_domain.md
32
+ mkdir -p docs/harness/reviews docs/harness/invokes/by-task
33
+ cp harness/templates/TASK_TEMPLATE.md docs/tasks/active/task_<slug>.md
34
+ # 存量首次:优先 TASK_graph_bootstrap.md
35
+ ```
36
+
37
+ 工作区 Harness 将 `{tasks_root}` 换为 `docs/harness/tasks`。
38
+
39
+ ## 关账纪律
40
+
41
+ 1. `git mv` → `done/<domain>/`(见 [`FRAGMENT_task_domain_infer_v1_zh.md`](./FRAGMENT_task_domain_infer_v1_zh.md))
42
+ 2. 更新 `done/README.md` 域表 **一行**
43
+ 3. **勿**向 `_views/done.md` 追加百行长列表
44
+
45
+ ## 关联
46
+
47
+ - 图谱模板:[`graph/templates/`](../../graph/templates/README.md)
48
+ - ONBOARDING:[`docs/ONBOARDING.md`](../../docs/ONBOARDING.md) §3 · §7
@@ -0,0 +1,111 @@
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
+ | **git_branch** | `task/<slug>` |
23
+ | **worktree_root** | (并行时填独立 worktree 目录) |
24
+ | **experience_capture** | `required` / `recommended` / `not_applicable` |
25
+ | **kpi_rubric** | `KPI_RUBRIC_v1_2` |
26
+ | **kpi_aggregator** | `CLOSE`(默认) |
27
+
28
+ ### 人工闸
29
+
30
+ | human_gate_id | status | blocks_hats | 说明 |
31
+ |---------------|--------|-------------|------|
32
+ | HG-TASK-DRAFT | pending | 22-R1, 30 | 初稿人扫 |
33
+ | HG-AUDIT-R1 | pending | 30 | 22 R1 落盘后人签 |
34
+
35
+ ---
36
+
37
+ ## 背景与目标
38
+
39
+ <短段落:完成态行为>
40
+
41
+ ---
42
+
43
+ ## 范围
44
+
45
+ - [ ] …
46
+
47
+ ## 非范围
48
+
49
+ - …
50
+
51
+ ---
52
+
53
+ ## 失败路径
54
+
55
+ | 触发条件 | 系统行为 | 可重试 | 用户可见 |
56
+ |----------|----------|--------|----------|
57
+ | 22 未签 `HG-AUDIT-R1` 即 30 改码 | 执行 Agent **拒开工** | 是 | 须先 22 + 人签 |
58
+ | … | … | 是/否 | … |
59
+
60
+ ---
61
+
62
+ ## 验收标准
63
+
64
+ - [ ] …
65
+
66
+ ---
67
+
68
+ ## 给执行帽的必读列表
69
+
70
+ 1. `AGENTS.md` · `docs/meta/PROJECT_CONFIG_*.md`
71
+ 2. `docs/_tech_graph/` 相关 flow
72
+ 3. `docs/standards/CODING_*_L2`(涉码 task)
73
+ 4. 本 task 关联 SPEC(若有)
74
+
75
+ ---
76
+
77
+ ## 实现备忘(子 Agent 回填)
78
+
79
+ | 项 | 状态 | 备注 |
80
+ |----|------|------|
81
+ | … | ⏳ | |
82
+
83
+ ---
84
+
85
+ ## 测试策略(Harness)
86
+
87
+ **test_strategy**: `required` | `recommended` | `not_applicable`
88
+
89
+ - `required`:先可失败自动化测试再改实现
90
+ - `recommended`:文档演练或抽样验证
91
+ - `not_applicable`:须附一行理由
92
+
93
+ ---
94
+
95
+ ### 自检结论(执行者)
96
+
97
+ (30/40 回填)
98
+
99
+ ---
100
+
101
+ ### KPI(00)
102
+
103
+ (`kpi_aggregator: CLOSE` · 关账回溯填写)
104
+
105
+ ---
106
+
107
+ ## 修订记录
108
+
109
+ | 日期 | 说明 |
110
+ |------|------|
111
+ | YYYY-MM-DD | 从 cyning-harness `TASK_TEMPLATE.md` 嵌入 |
@@ -0,0 +1,75 @@
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>/`
60
+ 2. 头部 `> **状态**:done(YYYY-MM-DD 验收通过)`
61
+ 3. **本 Hub** 对应域表 **追加一行**(日期 · 链接 · freeze_id 一行摘要)
62
+ 4. **禁止**向 `_views/done.md` 追加长列表(保持 ≤15 行薄指针)
63
+ 5. 可选:同步 `_views/done_by_domain.md` 分组表
64
+
65
+ ---
66
+
67
+ ## 修订记录
68
+
69
+ | 日期 | 摘要 |
70
+ |------|------|
71
+ | YYYY-MM-DD | 初版 Hub(cyning-harness 模板嵌入) |
72
+
73
+ ## 给维护者
74
+
75
+ `done`、`domain`、`Hub`、`_views`、`freeze_id`、`Epic`
@@ -0,0 +1,101 @@
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
+ | **experience_capture** | `recommended` |
22
+ | **kpi_rubric** | `KPI_RUBRIC_v1_2` |
23
+ | **kpi_aggregator** | `CLOSE` |
24
+
25
+ ### 人工闸(Epic 级)
26
+
27
+ | human_gate_id | status | blocks_hats | 说明 |
28
+ |---------------|--------|-------------|------|
29
+ | HG-EPIC-SIGNOFF | pending | CLOSE | 全部子 task 验收 + invoke 齐全后人签 |
30
+
31
+ ---
32
+
33
+ ## 背景与目标
34
+
35
+ <Epic 完成态:子 task 列表与 freeze_id>
36
+
37
+ **不做(Epic 范围外)**:
38
+
39
+ - …
40
+
41
+ ---
42
+
43
+ ## 任务编排(Epic 主表 · 必填)
44
+
45
+ | 棒 / slug | parallel_group | depends_on | 开工闸门 | worktree_root(可选) |
46
+ |-----------|----------------|------------|----------|------------------------|
47
+ | task-a | — | — | 22 R1 ✅ | `<repo-root>` |
48
+ | task-b | — | task-a | 22 R1 ✅ | `<repo-root>` |
49
+ | CLOSE | — | task-b | 40/50 | — |
50
+
51
+ - 子 task 正文只写一行:`epic: epic_<slug> · depends_on: task-a`
52
+ - **并行**:同 `parallel_group` 须 **独立 worktree** + 不同 `git_branch`
53
+
54
+ ### 编排入口(00)
55
+
56
+ | 项 | 路径 |
57
+ |----|------|
58
+ | entry_invoke | `docs/harness/invokes/by-task/<epic_slug>/invoke_*_00_orchestrator.md` |
59
+ | orchestrator | `docs/harness/prompts/00-orchestrator.md`(完整库 POINTER) |
60
+ | 过程 invoke 索引 | `docs/harness/invokes/by-task/<epic_slug>/README.md` |
61
+
62
+ ---
63
+
64
+ ## 失败路径
65
+
66
+ | 触发条件 | 系统行为 | 可重试 | 用户可见 |
67
+ |----------|----------|--------|----------|
68
+ | 子 task 未 22 即派发 30 | 00 **拒派发** | 是 | 缺审查 / 人签 |
69
+ | 并行共分支改同一目录 | 执行 **拒开工** | 是 | 须 worktree |
70
+
71
+ ---
72
+
73
+ ## 验收标准
74
+
75
+ - [ ] 编排主表 + 00 invoke 落盘
76
+ - [ ] 各 sub-task `done` + 40 自检 + CI 绿(涉码)
77
+ - [ ] invoke 目录证据齐全
78
+ - [ ] `HG-EPIC-SIGNOFF` approved
79
+ - [ ] `freeze_id` 写入 CHANGELOG / 关账 invoke
80
+
81
+ ---
82
+
83
+ ## 给执行帽的必读列表
84
+
85
+ - 各子 task 全文
86
+ - Epic 编排主表(本文件 §任务编排)
87
+ - `docs/harness/invokes/by-task/<epic_slug>/`
88
+
89
+ ---
90
+
91
+ ### 自检结论(执行者)
92
+
93
+ (40 汇总或各子 task 分别回填)
94
+
95
+ ---
96
+
97
+ ## 修订记录
98
+
99
+ | 日期 | 说明 |
100
+ |------|------|
101
+ | YYYY-MM-DD | 从 cyning-harness `TASK_epic.md` 嵌入 |