@tea-agent/loop-agent 0.12.0 → 0.13.0-beta.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 (284) hide show
  1. package/AGENTS.md +155 -153
  2. package/CHANGELOG.md +338 -265
  3. package/README.md +345 -298
  4. package/bin/agent-worker.js +22 -22
  5. package/bin/loop-agent.js +21 -21
  6. package/dist/application/dag/generate-task-dag.js +28 -28
  7. package/dist/application/evaluation/candidate-hash.js +75 -0
  8. package/dist/application/evaluation/candidate.js +52 -0
  9. package/dist/application/evaluation/replay.js +289 -0
  10. package/dist/application/evaluation/types.js +130 -0
  11. package/dist/cli/command-definitions.js +27 -7
  12. package/dist/cli/program.js +8 -4
  13. package/dist/commands/cursor-prompt.js +6 -6
  14. package/dist/commands/eval.js +235 -0
  15. package/dist/commands/init.js +544 -506
  16. package/dist/commands/knowledge.js +129 -31
  17. package/dist/commands/loop-benchmark.js +11 -11
  18. package/dist/commands/pi-reuse-benchmark.js +16 -16
  19. package/dist/executors/pi-sdk-executor.js +38 -24
  20. package/dist/executors/shell-executor.js +34 -2
  21. package/dist/executors/shell-presets.js +20 -0
  22. package/dist/executors/shell-verification.js +7 -0
  23. package/dist/governance/manifest-types.js +4 -0
  24. package/dist/infrastructure/evaluation/candidate-store.js +435 -0
  25. package/dist/infrastructure/evaluation/store.js +40 -0
  26. package/dist/sidecars/cursor-prompt/executor.js +1 -1
  27. package/dist/task/config-types.js +28 -1
  28. package/dist/task/runtime.js +27 -27
  29. package/dist/worker/cli.js +96 -1
  30. package/dist/worker/delivery/package.js +3 -3
  31. package/dist/worker/feature/decision-loader.js +37 -6
  32. package/dist/worker/feature/next-action.js +10 -2
  33. package/dist/worker/feature/ready-plan-projection.js +81 -0
  34. package/dist/worker/feature/reducer.js +2 -1
  35. package/dist/worker/feature/review.js +19 -2
  36. package/dist/worker/feature/run.js +27 -2
  37. package/dist/worker/follow-up/approve.js +5 -2
  38. package/dist/worker/follow-up/factory.js +1 -1
  39. package/dist/worker/observability/read-model.js +246 -41
  40. package/dist/worker/observe/routes.js +173 -15
  41. package/dist/worker/observe/spec-evidence.js +281 -0
  42. package/dist/worker/observe/static/api.js +46 -27
  43. package/dist/worker/observe/static/app.js +150 -150
  44. package/dist/worker/observe/static/constants.js +148 -148
  45. package/dist/worker/observe/static/copy.js +67 -67
  46. package/dist/worker/observe/static/dag-helpers.js +172 -172
  47. package/dist/worker/observe/static/dag-layout.d.ts +31 -31
  48. package/dist/worker/observe/static/dag-layout.js +83 -83
  49. package/dist/worker/observe/static/dag-model.js +72 -72
  50. package/dist/worker/observe/static/dom.js +61 -61
  51. package/dist/worker/observe/static/format-pool.js +67 -67
  52. package/dist/worker/observe/static/format.js +292 -292
  53. package/dist/worker/observe/static/index.html +308 -308
  54. package/dist/worker/observe/static/kpi.js +94 -94
  55. package/dist/worker/observe/static/relations.js +133 -128
  56. package/dist/worker/observe/static/router.js +93 -85
  57. package/dist/worker/observe/static/run-processing.js +148 -148
  58. package/dist/worker/observe/static/shell-chrome.js +68 -68
  59. package/dist/worker/observe/static/state.js +253 -253
  60. package/dist/worker/observe/static/styles.css +1902 -1890
  61. package/dist/worker/observe/static/views/batch.js +227 -226
  62. package/dist/worker/observe/static/views/dag-graph.js +172 -172
  63. package/dist/worker/observe/static/views/dag-inspector.js +607 -477
  64. package/dist/worker/observe/static/views/dag.js +362 -362
  65. package/dist/worker/observe/static/views/dashboard.js +445 -442
  66. package/dist/worker/observe/static/views/failures.js +143 -143
  67. package/dist/worker/observe/static/views/feature.js +492 -453
  68. package/dist/worker/observe/static/views/pool.js +350 -347
  69. package/dist/worker/observe/static/views/run.js +453 -453
  70. package/dist/worker/observe/static/views/session-timeline.js +205 -205
  71. package/dist/worker/observe/static/views/shell.js +7 -7
  72. package/dist/worker/observe/static/views/task.js +314 -260
  73. package/dist/worker/observe/static/views/timeline.js +163 -163
  74. package/dist/worker/pool/doctor.js +165 -0
  75. package/dist/worker/pool/migrate-state.js +303 -0
  76. package/dist/worker/pool/run-store.js +205 -17
  77. package/dist/worker/pool/types.js +17 -1
  78. package/dist/worker/pool/validation.js +100 -15
  79. package/dist/worker/report/morning-report.js +12 -2
  80. package/dist/worker/runner/run-ready.js +41 -26
  81. package/dist/worker/task-graph/ready-planner.js +136 -0
  82. package/dist/workflows/dag/backend-test-analysis-contract.js +120 -0
  83. package/dist/workflows/dag/canvas-observer.js +275 -275
  84. package/dist/workflows/dag/convergence/controller.js +16 -8
  85. package/dist/workflows/dag/dynamic-runtime/map.js +90 -2
  86. package/dist/workflows/dag/failure-routing.js +12 -1
  87. package/dist/workflows/dag/init-hybrid.js +2404 -360
  88. package/dist/workflows/dag/node-execution.js +9 -0
  89. package/dist/workflows/dag/prompt.js +9 -0
  90. package/dist/workflows/dag/report.js +35 -1
  91. package/dist/workflows/dag/runner.js +28 -2
  92. package/dist/workflows/dag/task-demand-routing.js +383 -0
  93. package/dist/workflows/dag/types.js +51 -13
  94. package/dist/workflows/dag/upstream-artifacts.js +1 -0
  95. package/dist/workflows/dag/validate.js +59 -1
  96. package/docs/README.md +106 -104
  97. package/docs/agent-dag-recovery-playbook.md +195 -184
  98. package/docs/agent-dag-runner.md +67 -67
  99. package/docs/architecture/README.md +26 -26
  100. package/docs/architecture/dag-execution.md +140 -140
  101. package/docs/architecture/evolution.md +54 -53
  102. package/docs/architecture/facts-and-state.md +71 -58
  103. package/docs/architecture/runtime-boundaries.md +191 -191
  104. package/docs/architecture/system-overview.md +93 -93
  105. package/docs/architecture/worker-and-feature.md +85 -81
  106. package/docs/cursor-prompt-sidecar.md +36 -36
  107. package/docs/decisions/README.md +18 -15
  108. package/docs/design/README.md +167 -77
  109. package/docs/development-principles.md +73 -73
  110. package/docs/exec-plans/README.md +6 -6
  111. package/docs/exec-plans/active/README.md +15 -9
  112. package/docs/exec-plans/completed/README.md +85 -73
  113. package/docs/feature-workflow.md +389 -261
  114. package/docs/harness-methodology-debugging.md +153 -153
  115. package/docs/harness-methodology-tdd.md +130 -130
  116. package/docs/harness-methodology-verification.md +27 -27
  117. package/docs/init-surface.manifest.json +289 -280
  118. package/docs/loop-agent-harness.md +142 -130
  119. package/docs/production-readiness.md +96 -96
  120. package/docs/progress/README.md +64 -54
  121. package/docs/reports/README.md +117 -94
  122. package/docs/skills/README.md +7 -7
  123. package/docs/skills/vetted-skill-registry.md +29 -27
  124. package/docs/templates/adr.md +60 -60
  125. package/docs/templates/agent-dag-authority-surface-audit.prompt.md +94 -94
  126. package/docs/templates/agent-dag-decision-envelope.schema.json +213 -213
  127. package/docs/templates/agent-dag-decision-gate-dogfood-report.md +117 -117
  128. package/docs/templates/agent-dag-decision-gate.prompt.md +246 -246
  129. package/docs/templates/agent-dag-process-supervisor.prompt.md +98 -98
  130. package/docs/templates/agent-dag-report.schema.json +473 -473
  131. package/docs/templates/agent-dag-review-verdict.prompt.md +68 -68
  132. package/docs/templates/agent-dag.base.json +190 -190
  133. package/docs/templates/agent-dag.final-verification.json +185 -185
  134. package/docs/templates/agent-dag.schema.json +411 -383
  135. package/docs/templates/agent-dag.supervised-implementation.json +501 -501
  136. package/docs/templates/backend-test-analysis.schema.json +44 -0
  137. package/docs/templates/backend-test-dag.generate-pytest.prompt.md +202 -139
  138. package/docs/templates/backend-test-dag.json +311 -276
  139. package/docs/templates/backend-test-dag.retrospect.prompt.md +125 -125
  140. package/docs/templates/backend-test-dag.review-cases.prompt.md +81 -81
  141. package/docs/templates/exec-plan.md +64 -64
  142. package/docs/templates/feature-spec.md +53 -53
  143. package/docs/templates/frontend-design-contract.md +42 -33
  144. package/docs/templates/frontend-task-constraints.md +35 -25
  145. package/docs/templates/frontend-task-requirement.md +70 -61
  146. package/docs/templates/frontend-test-dag.generate-cases.prompt.md +5 -0
  147. package/docs/templates/frontend-test-dag.json +23 -0
  148. package/docs/templates/frontend-test-dag.retrieve-context.prompt.md +3 -0
  149. package/docs/templates/frontend-test-dag.retrospect.prompt.md +3 -0
  150. package/docs/templates/frontend-test-dag.review-cases.prompt.md +3 -0
  151. package/docs/templates/frontend-test-dag.review-execution.prompt.md +3 -0
  152. package/docs/templates/harness.schema.json +221 -221
  153. package/docs/templates/hybrid-dag.json +188 -188
  154. package/docs/templates/init-evolution-review.md +35 -35
  155. package/docs/templates/interactive-ui-round2-experiment.md +66 -66
  156. package/docs/templates/knowledge-graph-bootstrap-dag.json +118 -0
  157. package/docs/templates/knowledge-sync-dag.json +178 -0
  158. package/docs/templates/knowledge-sync-draft.schema.json +71 -0
  159. package/docs/templates/product-line/AGENTS.md +8 -8
  160. package/docs/templates/product-line/README.md +9 -9
  161. package/docs/templates/product-line/acceptance.yaml +14 -14
  162. package/docs/templates/product-line/closeout.yaml +9 -9
  163. package/docs/templates/product-line/design.md +13 -13
  164. package/docs/templates/product-line/links.md +10 -10
  165. package/docs/templates/product-line/requirement.md +17 -17
  166. package/docs/templates/product-line/task-graph.yaml +15 -15
  167. package/docs/templates/product-line/task.yaml +64 -64
  168. package/docs/templates/product-line/test-plan.md +7 -7
  169. package/docs/templates/production-readiness-checklist.md +57 -57
  170. package/docs/templates/progress-log.md +17 -17
  171. package/docs/templates/project-start-checklist.md +9 -9
  172. package/docs/templates/qa-report.md +48 -48
  173. package/docs/templates/sprint-contract.md +29 -29
  174. package/docs/templates/worker-dogfood-evidence.md +80 -80
  175. package/docs/templates/worker-dogfood-setup.md +68 -68
  176. package/docs/verification-matrix.md +70 -66
  177. package/examples/decision-gate-agent-dag.json +177 -177
  178. package/examples/example-dag.json +46 -46
  179. package/examples/hybrid-loop-agent-dag.json +189 -189
  180. package/harness.json +66 -66
  181. package/package.json +88 -46
  182. package/scripts/check-product-line-docs.sh +29 -29
  183. package/scripts/check-task-pool-root.sh +32 -32
  184. package/scripts/kb-bootstrap-init-skeleton.sh +240 -0
  185. package/scripts/kb-graph-incremental-prepare.mjs +386 -0
  186. package/scripts/kb-graph-incremental-prepare.sh +5 -0
  187. package/scripts/kb-graph-materialize.mjs +105 -0
  188. package/scripts/kb-graph-materialize.sh +4 -0
  189. package/scripts/kb-graph-promote.mjs +164 -0
  190. package/scripts/kb-graph-promote.sh +4 -0
  191. package/scripts/kb-query.mjs +554 -0
  192. package/scripts/kb-query.sh +5 -0
  193. package/skills/agent-worker/SKILL.md +39 -37
  194. package/skills/agent-worker/references/agent-worker-operator.md +60 -43
  195. package/skills/ai-engineering-context/SKILL.md +48 -48
  196. package/skills/analyze-product-dependencies/SKILL.md +67 -0
  197. package/skills/analyze-product-dependencies/agents/openai.yaml +4 -0
  198. package/skills/analyze-product-dependencies/references/api-documentation-schema.md +30 -0
  199. package/skills/analyze-product-dependencies/references/dependency-analysis-schema.md +28 -0
  200. package/skills/analyze-product-dependencies/references/example.md +76 -0
  201. package/skills/analyze-product-dependencies/references/forward-test-cases.md +35 -0
  202. package/skills/analyze-product-dependencies/references/input-contract.md +11 -0
  203. package/skills/analyze-product-dependencies/references/scouting-rules.md +61 -0
  204. package/skills/analyze-product-dependencies/scripts/test-validators.mjs +267 -0
  205. package/skills/analyze-product-dependencies/scripts/validate-api-documentation.mjs +101 -0
  206. package/skills/analyze-product-dependencies/scripts/validate-dependency-analysis.mjs +142 -0
  207. package/skills/analyze-product-dependencies/scripts/validate-product-requirement-input.mjs +76 -0
  208. package/skills/analyze-product-dependencies/scripts/validation-helpers.mjs +146 -0
  209. package/skills/analyze-product-requirements/SKILL.md +90 -0
  210. package/skills/analyze-product-requirements/agents/openai.yaml +4 -0
  211. package/skills/analyze-product-requirements/references/acceptance-criteria.md +91 -0
  212. package/skills/analyze-product-requirements/references/clarification-and-knowledge.md +56 -0
  213. package/skills/analyze-product-requirements/references/example.md +86 -0
  214. package/skills/analyze-product-requirements/references/forward-test-cases.md +66 -0
  215. package/skills/analyze-product-requirements/references/product-analysis-schema.md +32 -0
  216. package/skills/analyze-product-requirements/references/product-requirement-schema.md +33 -0
  217. package/skills/analyze-product-requirements/references/requirement-clarification-schema.md +35 -0
  218. package/skills/analyze-product-requirements/scripts/test-validators.mjs +193 -0
  219. package/skills/analyze-product-requirements/scripts/validate-product-analysis.mjs +69 -0
  220. package/skills/analyze-product-requirements/scripts/validate-product-requirement.mjs +97 -0
  221. package/skills/analyze-product-requirements/scripts/validate-requirement-clarification.mjs +98 -0
  222. package/skills/analyze-product-requirements/scripts/validation-helpers.mjs +156 -0
  223. package/skills/code-review-core/SKILL.md +20 -20
  224. package/skills/codebase-scout/SKILL.md +19 -19
  225. package/skills/frontend-design-review/SKILL.md +66 -59
  226. package/skills/frontend-design-review/references/review-checklist.md +58 -37
  227. package/skills/frontend-implementation/SKILL.md +47 -51
  228. package/skills/frontend-implementation/references/code-standards.md +32 -34
  229. package/skills/frontend-implementation/references/design-spec.md +46 -46
  230. package/skills/frontend-implementation/references/node-contracts.md +76 -32
  231. package/skills/frontend-review/SKILL.md +59 -53
  232. package/skills/frontend-review/references/review-findings.md +47 -42
  233. package/skills/frontend-verification/SKILL.md +53 -40
  234. package/skills/frontend-verification/references/verification-checklist.md +68 -56
  235. package/skills/grill-me/SKILL.md +10 -10
  236. package/skills/grill-with-docs/SKILL.md +88 -88
  237. package/skills/grill-with-docs/adr-format.md +47 -47
  238. package/skills/grill-with-docs/context-format.md +60 -60
  239. package/skills/init-capability-evolution/SKILL.md +70 -70
  240. package/skills/loop-agent/SKILL.md +151 -151
  241. package/skills/loop-agent/references/README.md +67 -67
  242. package/skills/loop-agent/references/command-reference.md +505 -452
  243. package/skills/loop-agent/references/docs-converge.md +126 -126
  244. package/skills/loop-agent/references/harness-policy.md +263 -263
  245. package/skills/loop-agent/references/hybrid-dag.md +238 -233
  246. package/skills/loop-agent/references/learned/README.md +21 -21
  247. package/skills/loop-agent/references/long-running-loop.md +57 -57
  248. package/skills/loop-agent/references/model-routing.md +36 -36
  249. package/skills/loop-agent/references/multi-worktree.md +54 -54
  250. package/skills/loop-agent/references/one-shot-runs.md +85 -85
  251. package/skills/loop-agent/references/orchestrator-and-interventions.md +169 -169
  252. package/skills/loop-agent/references/pi-prompt.md +23 -23
  253. package/skills/loop-agent/references/pi-subagent-assisted-mode.md +84 -84
  254. package/skills/loop-agent/references/post-implementation-and-patterns.md +44 -44
  255. package/skills/loop-agent/references/task-workflow.md +89 -89
  256. package/skills/loop-agent/references/verification-and-failure-handling.md +139 -139
  257. package/skills/playwright-cli/SKILL.md +420 -0
  258. package/skills/playwright-cli/references/element-attributes.md +23 -0
  259. package/skills/playwright-cli/references/playwright-tests.md +39 -0
  260. package/skills/playwright-cli/references/request-mocking.md +87 -0
  261. package/skills/playwright-cli/references/running-code.md +241 -0
  262. package/skills/playwright-cli/references/session-management.md +225 -0
  263. package/skills/playwright-cli/references/storage-state.md +275 -0
  264. package/skills/playwright-cli/references/test-generation.md +433 -0
  265. package/skills/playwright-cli/references/tracing.md +139 -0
  266. package/skills/playwright-cli/references/video-recording.md +143 -0
  267. package/skills/playwright-cli-case-generator/SKILL.md +74 -0
  268. package/skills/requesting-code-review/SKILL.md +101 -101
  269. package/skills/requesting-code-review/code-reviewer.md +168 -168
  270. package/skills/systematic-debugging/CREATION-LOG.md +119 -119
  271. package/skills/systematic-debugging/SKILL.md +296 -296
  272. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
  273. package/skills/systematic-debugging/condition-based-waiting.md +115 -115
  274. package/skills/systematic-debugging/defense-in-depth.md +122 -122
  275. package/skills/systematic-debugging/find-polluter.sh +63 -63
  276. package/skills/systematic-debugging/root-cause-tracing.md +169 -169
  277. package/skills/systematic-debugging/test-academic.md +14 -14
  278. package/skills/systematic-debugging/test-pressure-1.md +58 -58
  279. package/skills/systematic-debugging/test-pressure-2.md +68 -68
  280. package/skills/systematic-debugging/test-pressure-3.md +69 -69
  281. package/skills/test-driven-development/SKILL.md +20 -20
  282. package/skills/using-git-worktrees/SKILL.md +215 -215
  283. package/skills/verification-before-completion/SKILL.md +154 -154
  284. package/skills/webapp-testing/SKILL.md +19 -19
@@ -1,151 +1,151 @@
1
- ---
2
- name: loop-agent
3
- description: >-
4
- Use when implementing features, processing PRDs or requirements, running structured loop-agent workflows, creating harness tasks, using Agent DAG, run-dag, pi-prompt planning/review, cursor-prompt one-shot sidecar intervention, or converging website/governance docs after user-visible changes in loop-agent. Triggers: loop-agent, workflow, structured development, harness task, Agent DAG, docs converge, Converge Docs, 文档收敛, 结构化开发, 工作流, 需求实现, PRD 实现.
5
- references:
6
- - path: references/harness-policy.md
7
- required: true
8
- - path: references/hybrid-dag.md
9
- required: true
10
- - path: references/verification-and-failure-handling.md
11
- required: true
12
- - path: references/command-reference.md
13
- required: true
14
- ---
15
-
16
- # loop-agent Workflow
17
-
18
- 这是 `loop-agent` 的入口文档,只负责 trigger、routing 和硬规则。较长的 command details、workflow 细节与失败处理放在 `references/`,按需加载。
19
-
20
- ## Canonical Harness Policy
21
-
22
- Shared loop-agent harness workflow 规则见 `references/harness-policy.md`。Repo-local `docs/loop-agent-harness.md` / `specs/loop-agent-harness.md` 应保持为 local runtime path、governance root、verification commands 的 thin adapters。
23
-
24
- ## 默认立场
25
-
26
- - 主入口是 **Agent DAG**。
27
- - 主会话负责编排、审 writeSet、复核验证与 handoff。
28
- - DAG `pi` executor 是唯一受治理 Agent runtime:默认用于 read-only planning / review / diagnosis;当节点声明 `toolProfile: "write"` 时用于 bounded implementation / repair;Pi 模型矩阵保持 LOW=`gpt-5.3-codex-spark`、MED=`glm-5.2`、HIGH=`gpt-5.5`。
29
- - `pi-prompt` 与 `cursor-prompt` 都是一次性 full-capability helper;用作 sidecar 时必须在 prompt 和 tool/model 参数里显式收窄。
30
- - Cursor 仅是显式、手工触发的 `cursor-prompt` one-shot sidecar,不是受治理 DAG/Loop writer;受治理写入固定为 `implement-pi` / `repair-pi`,必须给出 allowed / forbidden paths 与 writeSet。
31
- - Shell verification 是事实源;任何完成声明都必须有本轮命令输出。
32
- - 长期结论写回 `docs/exec-plans/`、`docs/reports/`、`docs/progress/` 或 `./skill/`。
33
-
34
- ## 唯一推荐执行路径
35
-
36
- ```bash
37
- loop-agent new-task <task-id> "Task Title"
38
- # Prefer immutable original PRD first:
39
- # loop-agent import-prd <task-id> --file <path-to-original-prd.md>
40
- # write derived <repo-root>/.harness/tasks/<task-id>/source/需求.md
41
- # write <repo-root>/.harness/tasks/<task-id>/source/执行约束.md
42
-
43
- loop-agent dag run-task <task-id> --profile auto --strict-models --output <temp-dir>/<task-id>-dag.json
44
- loop-agent dag validate --dag <temp-dir>/<task-id>-dag.json --strict-models --strict-governance
45
- loop-agent run-dag --dag <temp-dir>/<task-id>-dag.json --cwd <repo-root>
46
- ```
47
-
48
- `loop-agent` 默认指 npm 上已发布的全局 CLI。自举迭代 loop-agent 本仓库时,首次安装或有意升级可用 `npm install -g @tea-agent/loop-agent@latest`,但一次自举任务启动后不要中途升级控制器,并记录 `npm list -g @tea-agent/loop-agent --depth=0` 显示的实际版本。不要用当前工作区的 `npm link` 或 `npm run dev` 控制可能改动 CLI、DAG runtime、executor、package metadata 或 build output 的任务。`npm run dev -- <args>` 只用于源码调试和聚焦 CLI 开发。
49
-
50
- `<temp-dir>` 表示平台原生临时目录。macOS 和 Windows 都应使用实际平台路径;`/` 只用于 repo refs、JSON/Markdown 证据 refs 和 glob 约定。
51
-
52
- 执行前必须审阅:
53
-
54
- - `profileRouting`
55
- - `governanceProfile`
56
- - writer `writeSet`
57
- - writer `forbiddenPaths`
58
- - shell verification commands
59
- - decision gate mode
60
-
61
- ## Pi Sidecar 入口规则
62
-
63
- 短时规划、审查、失败归因可使用 full-capability `pi-prompt`,默认模型是 `glm-5.2`:
64
-
65
- - 只读 sidecar 必须显式传 `--tools read,grep,find,ls`,并在 prompt 中写明不编辑文件。
66
- - 高复杂度 one-shot 诊断可显式加 `--model gpt-5.5`。
67
- - 输出是 advisory,不能替代 deterministic verification;发现必须写回 task source、report、progress 或 exec plan。
68
-
69
- ## Bounded Write Execution
70
-
71
- 需要写代码时,默认使用 DAG `pi` executor 的 write tool profile(`implement-pi` / `repair-pi`)。Pi writer 节点必须包含 task id、目标、allowed paths、forbidden paths、writeSet、硬约束和预期验证,并在执行后由主会话独立运行 shell verification。
72
-
73
- `cursor-prompt` 仅作人工 one-shot sidecar intervention,不进入 Loop auto-execute / Delegate auto-run / DAG writer 选择。细节见 `docs/cursor-prompt-sidecar.md`、`references/harness-policy.md` 和 `references/verification-and-failure-handling.md`。
74
-
75
- Pi writer prompt(以及可选 sidecar prompt)都必须包含:
76
-
77
- - task id
78
- - exact objective
79
- - allowed paths
80
- - forbidden paths
81
- - hard constraints
82
- - expected verification
83
- - instruction to preserve unrelated files
84
-
85
- bounded writer 完成后,主会话必须独立复核;命令清单见 `references/verification-and-failure-handling.md` 的独立复核章节。
86
-
87
- ## 进阶主题路由
88
-
89
- 以下主题只在 references 中维护细节,不在本文展开:
90
-
91
- | 主题 | Reference |
92
- |---|---|
93
- | Long-Running Loop(`loop` init/status/run/record-round/add-signal/closeout、auto mode、signals) | `references/long-running-loop.md` |
94
- | Three-Pass Convergence、repair artifact、spine audit、knowledge curate、SePO-lite prompt evolution | `references/harness-policy.md` |
95
- | Operator commands(status/doctor/report/closeout/promote/inspect/spine/knowledge/docs/handoff) | `references/command-reference.md` |
96
- | 伴生 CLI `agent-worker`(TaskSpec / Task Pool / batch / morning report) | `references/command-reference.md` |
97
- | Post-writer 独立验证、verify knobs、failure handling、closeout | `references/verification-and-failure-handling.md` |
98
- | Docs Converge(用户可见变更后的站上/治理文档同步检查表) | `references/docs-converge.md` |
99
-
100
- ## Source Layout
101
-
102
- 新代码优先从这些目录进入:
103
-
104
- | Area | Entry |
105
- |---|---|
106
- | CLI command tree / help / commander program | `src/cli/` |
107
- | DAG workflow | `src/workflows/dag/` |
108
- | Long-running loop workflow | `src/workflows/loop/` |
109
- | Task runtime | `src/task/` |
110
- | Executors | `src/executors/` |
111
- | Worker TaskSpec pipeline(伴生 CLI `agent-worker`) | `src/worker/` |
112
- | Run records / promotion / closeout | `src/records/` |
113
- | Governance | `src/governance/` |
114
- | Shared helpers | `src/shared/` |
115
- | Repo adapters | `src/adapters/` |
116
-
117
- 不要新增平行兼容入口。CLI public export 的唯一入口是 `src/cli/index.ts`;commander command tree 和 help 实现在 `src/cli/program.ts`。
118
-
119
- ## Hard Rules
120
-
121
- 1. One task = one bounded work chunk.
122
- 2. Source materials are mandatory: `source/需求.md` and `source/执行约束.md`. Prefer immutable originals under `source/references/` via `import-prd` or Worker `source_docs`; treat `需求.md` as a derived contract.
123
- 3. Agent DAG is the implementation workflow. Review must three-way check references + derived source + implementation when originals exist.
124
- 4. DAG `pi` executor stays read-only unless the node sets `toolProfile: "write"`; `pi-prompt` / `cursor-prompt` are full-capability one-shot helpers and must be bounded per call.
125
- 5. Pi writer nodes must be bounded by explicit allowed / forbidden paths and writeSet; Cursor remains `cursor-prompt` sidecar only.
126
- 6. Completed DAG and one-shot run facts are read-only.
127
- 7. Do not write root `artifacts/` from read-only DAG or sidecar steps.
128
- 8. Do not keep hidden workflow state in chat only; write durable conclusions to repo artifacts.
129
- 9. Verify before completion.
130
-
131
- ## References
132
-
133
- Required(frontmatter 已声明):
134
-
135
- - `references/harness-policy.md`
136
- - `references/hybrid-dag.md`
137
- - `references/verification-and-failure-handling.md`
138
- - `references/command-reference.md`
139
-
140
- Optional(按需加载):
141
-
142
- - `references/orchestrator-and-interventions.md`
143
- - `references/long-running-loop.md`
144
- - `references/task-workflow.md`
145
- - `references/pi-prompt.md`
146
- - `references/one-shot-runs.md`
147
- - `references/pi-subagent-assisted-mode.md`
148
- - `references/model-routing.md`
149
- - `references/multi-worktree.md`
150
- - `references/post-implementation-and-patterns.md`
151
- - `references/docs-converge.md` — 用户可见变更后的文档收敛检查表;禁止每次重新规划整站大纲
1
+ ---
2
+ name: loop-agent
3
+ description: >-
4
+ Use when implementing features, processing PRDs or requirements, running structured loop-agent workflows, creating harness tasks, using Agent DAG, run-dag, pi-prompt planning/review, cursor-prompt one-shot sidecar intervention, or converging website/governance docs after user-visible changes in loop-agent. Triggers: loop-agent, workflow, structured development, harness task, Agent DAG, docs converge, Converge Docs, 文档收敛, 结构化开发, 工作流, 需求实现, PRD 实现.
5
+ references:
6
+ - path: references/harness-policy.md
7
+ required: true
8
+ - path: references/hybrid-dag.md
9
+ required: true
10
+ - path: references/verification-and-failure-handling.md
11
+ required: true
12
+ - path: references/command-reference.md
13
+ required: true
14
+ ---
15
+
16
+ # loop-agent Workflow
17
+
18
+ 这是 `loop-agent` 的入口文档,只负责 trigger、routing 和硬规则。较长的 command details、workflow 细节与失败处理放在 `references/`,按需加载。
19
+
20
+ ## Canonical Harness Policy
21
+
22
+ Shared loop-agent harness workflow 规则见 `references/harness-policy.md`。Repo-local `docs/loop-agent-harness.md` / `specs/loop-agent-harness.md` 应保持为 local runtime path、governance root、verification commands 的 thin adapters。
23
+
24
+ ## 默认立场
25
+
26
+ - 主入口是 **Agent DAG**。
27
+ - 主会话负责编排、审 writeSet、复核验证与 handoff。
28
+ - DAG `pi` executor 是唯一受治理 Agent runtime:默认用于 read-only planning / review / diagnosis;当节点声明 `toolProfile: "write"` 时用于 bounded implementation / repair;Pi 模型矩阵保持 LOW=`gpt-5.3-codex-spark`、MED=`glm-5.2`、HIGH=`gpt-5.5`。
29
+ - `pi-prompt` 与 `cursor-prompt` 都是一次性 full-capability helper;用作 sidecar 时必须在 prompt 和 tool/model 参数里显式收窄。
30
+ - Cursor 仅是显式、手工触发的 `cursor-prompt` one-shot sidecar,不是受治理 DAG/Loop writer;受治理写入固定为 `implement-pi` / `repair-pi`,必须给出 allowed / forbidden paths 与 writeSet。
31
+ - Shell verification 是事实源;任何完成声明都必须有本轮命令输出。
32
+ - 长期结论写回 `docs/exec-plans/`、`docs/reports/`、`docs/progress/` 或 `./skill/`。
33
+
34
+ ## 唯一推荐执行路径
35
+
36
+ ```bash
37
+ loop-agent new-task <task-id> "Task Title"
38
+ # Prefer immutable original PRD first:
39
+ # loop-agent import-prd <task-id> --file <path-to-original-prd.md>
40
+ # write derived <repo-root>/.harness/tasks/<task-id>/source/需求.md
41
+ # write <repo-root>/.harness/tasks/<task-id>/source/执行约束.md
42
+
43
+ loop-agent dag run-task <task-id> --profile auto --strict-models --output <temp-dir>/<task-id>-dag.json
44
+ loop-agent dag validate --dag <temp-dir>/<task-id>-dag.json --strict-models --strict-governance
45
+ loop-agent run-dag --dag <temp-dir>/<task-id>-dag.json --cwd <repo-root>
46
+ ```
47
+
48
+ `loop-agent` 默认指 npm 上已发布的全局 CLI。自举迭代 loop-agent 本仓库时,首次安装或有意升级可用 `npm install -g @tea-agent/loop-agent@latest`,但一次自举任务启动后不要中途升级控制器,并记录 `npm list -g @tea-agent/loop-agent --depth=0` 显示的实际版本。不要用当前工作区的 `npm link` 或 `npm run dev` 控制可能改动 CLI、DAG runtime、executor、package metadata 或 build output 的任务。`npm run dev -- <args>` 只用于源码调试和聚焦 CLI 开发。
49
+
50
+ `<temp-dir>` 表示平台原生临时目录。macOS 和 Windows 都应使用实际平台路径;`/` 只用于 repo refs、JSON/Markdown 证据 refs 和 glob 约定。
51
+
52
+ 执行前必须审阅:
53
+
54
+ - `profileRouting`
55
+ - `governanceProfile`
56
+ - writer `writeSet`
57
+ - writer `forbiddenPaths`
58
+ - shell verification commands
59
+ - decision gate mode
60
+
61
+ ## Pi Sidecar 入口规则
62
+
63
+ 短时规划、审查、失败归因可使用 full-capability `pi-prompt`,默认模型是 `glm-5.2`:
64
+
65
+ - 只读 sidecar 必须显式传 `--tools read,grep,find,ls`,并在 prompt 中写明不编辑文件。
66
+ - 高复杂度 one-shot 诊断可显式加 `--model gpt-5.5`。
67
+ - 输出是 advisory,不能替代 deterministic verification;发现必须写回 task source、report、progress 或 exec plan。
68
+
69
+ ## Bounded Write Execution
70
+
71
+ 需要写代码时,默认使用 DAG `pi` executor 的 write tool profile(`implement-pi` / `repair-pi`)。Pi writer 节点必须包含 task id、目标、allowed paths、forbidden paths、writeSet、硬约束和预期验证,并在执行后由主会话独立运行 shell verification。
72
+
73
+ `cursor-prompt` 仅作人工 one-shot sidecar intervention,不进入 Loop auto-execute / Delegate auto-run / DAG writer 选择。细节见 `docs/cursor-prompt-sidecar.md`、`references/harness-policy.md` 和 `references/verification-and-failure-handling.md`。
74
+
75
+ Pi writer prompt(以及可选 sidecar prompt)都必须包含:
76
+
77
+ - task id
78
+ - exact objective
79
+ - allowed paths
80
+ - forbidden paths
81
+ - hard constraints
82
+ - expected verification
83
+ - instruction to preserve unrelated files
84
+
85
+ bounded writer 完成后,主会话必须独立复核;命令清单见 `references/verification-and-failure-handling.md` 的独立复核章节。
86
+
87
+ ## 进阶主题路由
88
+
89
+ 以下主题只在 references 中维护细节,不在本文展开:
90
+
91
+ | 主题 | Reference |
92
+ |---|---|
93
+ | Long-Running Loop(`loop` init/status/run/record-round/add-signal/closeout、auto mode、signals) | `references/long-running-loop.md` |
94
+ | Three-Pass Convergence、repair artifact、spine audit、knowledge curate、SePO-lite prompt evolution | `references/harness-policy.md` |
95
+ | Operator commands(status/doctor/report/closeout/promote/inspect/spine/knowledge/docs/handoff) | `references/command-reference.md` |
96
+ | 伴生 CLI `agent-worker`(TaskSpec / Task Pool / batch / morning report) | `references/command-reference.md` |
97
+ | Post-writer 独立验证、verify knobs、failure handling、closeout | `references/verification-and-failure-handling.md` |
98
+ | Docs Converge(用户可见变更后的站上/治理文档同步检查表) | `references/docs-converge.md` |
99
+
100
+ ## Source Layout
101
+
102
+ 新代码优先从这些目录进入:
103
+
104
+ | Area | Entry |
105
+ |---|---|
106
+ | CLI command tree / help / commander program | `src/cli/` |
107
+ | DAG workflow | `src/workflows/dag/` |
108
+ | Long-running loop workflow | `src/workflows/loop/` |
109
+ | Task runtime | `src/task/` |
110
+ | Executors | `src/executors/` |
111
+ | Worker TaskSpec pipeline(伴生 CLI `agent-worker`) | `src/worker/` |
112
+ | Run records / promotion / closeout | `src/records/` |
113
+ | Governance | `src/governance/` |
114
+ | Shared helpers | `src/shared/` |
115
+ | Repo adapters | `src/adapters/` |
116
+
117
+ 不要新增平行兼容入口。CLI public export 的唯一入口是 `src/cli/index.ts`;commander command tree 和 help 实现在 `src/cli/program.ts`。
118
+
119
+ ## Hard Rules
120
+
121
+ 1. One task = one bounded work chunk.
122
+ 2. Source materials are mandatory: `source/需求.md` and `source/执行约束.md`. Prefer immutable originals under `source/references/` via `import-prd` or Worker `source_docs`; treat `需求.md` as a derived contract.
123
+ 3. Agent DAG is the implementation workflow. Review must three-way check references + derived source + implementation when originals exist.
124
+ 4. DAG `pi` executor stays read-only unless the node sets `toolProfile: "write"`; `pi-prompt` / `cursor-prompt` are full-capability one-shot helpers and must be bounded per call.
125
+ 5. Pi writer nodes must be bounded by explicit allowed / forbidden paths and writeSet; Cursor remains `cursor-prompt` sidecar only.
126
+ 6. Completed DAG and one-shot run facts are read-only.
127
+ 7. Do not write root `artifacts/` from read-only DAG or sidecar steps.
128
+ 8. Do not keep hidden workflow state in chat only; write durable conclusions to repo artifacts.
129
+ 9. Verify before completion.
130
+
131
+ ## References
132
+
133
+ Required(frontmatter 已声明):
134
+
135
+ - `references/harness-policy.md`
136
+ - `references/hybrid-dag.md`
137
+ - `references/verification-and-failure-handling.md`
138
+ - `references/command-reference.md`
139
+
140
+ Optional(按需加载):
141
+
142
+ - `references/orchestrator-and-interventions.md`
143
+ - `references/long-running-loop.md`
144
+ - `references/task-workflow.md`
145
+ - `references/pi-prompt.md`
146
+ - `references/one-shot-runs.md`
147
+ - `references/pi-subagent-assisted-mode.md`
148
+ - `references/model-routing.md`
149
+ - `references/multi-worktree.md`
150
+ - `references/post-implementation-and-patterns.md`
151
+ - `references/docs-converge.md` — 用户可见变更后的文档收敛检查表;禁止每次重新规划整站大纲
@@ -1,67 +1,67 @@
1
- # loop-agent Skill References
2
-
3
- 本目录是 `../SKILL.md` 的 progressive-disclosure reference layer。`SKILL.md`
4
- 只负责 trigger、入口选择和硬规则;较长的 command details、operational procedures、
5
- failure handling 与 workflow 细节放在这里,避免主 skill 变成百科。
6
-
7
- ## 使用方式
8
-
9
- 1. 先读 `../SKILL.md`,确认当前任务是否真的需要 `loop-agent`。
10
- 2. 根据任务类型只打开相关 reference,不要一次加载整个目录。
11
- 3. 执行时遵循 Agent DAG 路径;历史顺序式 `run ...` workflow 已移除。
12
- 4. 如果 reference 与 `harness.json` 或 repo-local `docs/loop-agent-harness.md` / `specs/loop-agent-harness.md` 冲突,以
13
- `harness.json` 的机器可读 policy 和本目录的 shared policy 为准,并回头修正文档漂移。
14
-
15
- ## 快速路由
16
-
17
- | 场景 | 优先读取 |
18
- |---|---|
19
- | 通用 loop-agent harness workflow policy、跨 repo 共同规则 | `harness-policy.md` |
20
- | 中大型 autonomous implementation、harness-governed work | `harness-policy.md`、`hybrid-dag.md`、`orchestrator-and-interventions.md`、`verification-and-failure-handling.md` |
21
- | 需要查精确 CLI 用法、setup、goal、docs helper、stats | `command-reference.md` |
22
- | 低风险 micro task、旧任务目录兼容、DAG runtime 修复 | `task-workflow.md`、`verification-and-failure-handling.md` |
23
- | DAG 运行中要判断 main session 是否能手术式补丁、是否需要 sidecar prompt | `orchestrator-and-interventions.md` |
24
- | 短时 one-shot Pi SDK 调用,不创建 `.harness/tasks/` | `pi-prompt.md` |
25
- | 解释 `.harness/runs/`、one-shot evidence、active 残留或 promotion | `one-shot-runs.md` |
26
- | 多 worktree 并行委派、delegate/harvest | `multi-worktree.md` |
27
- | 模型、provider、profile、fallback routing | `model-routing.md` |
28
- | Long-running `loop` 命令、action 规则、auto mode、signals、loop closeout | `long-running-loop.md` |
29
- | Three-pass convergence、repair artifact / spine audit / knowledge curate、SePO-lite prompt evolution | `harness-policy.md` |
30
- | Cursor bounded write 后的独立复核、verify knobs、failure handling | `verification-and-failure-handling.md` |
31
-
32
- ## Reference 索引
33
-
34
- | Reference | 使用场景 |
35
- |---|---|
36
- | `harness-policy.md` | 通用 loop-agent harness policy:DAG、命令分层、source materials、loop/sidecar 边界、facts/verification/handoff 规则;repo-local harness docs 应引用它而不是复制规则 |
37
- | `orchestrator-and-interventions.md` | 协调长时间 autonomous DAG work;判断 main session 是否可以 edit;使用 one-shot Pi/Cursor sidecar;恢复 in-flight workflow |
38
- | `command-reference.md` | 需要 `.` 的精确 CLI 命令、setup、goal lifecycle、docs helper、stats |
39
- | `task-workflow.md` | 处理 task source material、task config、repo adapter 或 legacy task 目录布局 |
40
- | `pi-prompt.md` | 运行短时 one-shot Pi SDK task,且不创建 `.harness/tasks/` |
41
- | `one-shot-runs.md` | 解释 `.harness/runs/{active,completed,failed}` 的创建条件、生命周期、治理清理与 `promote-run` 关系 |
42
- | `hybrid-dag.md` | 使用 Agent DAG Level 2 `dag validate` / `run-dag`,Level 3 `dag init-hybrid` / `dag run-task`,或查看 write policy、DAG source-of-truth 规则 |
43
- | `pi-subagent-assisted-mode.md` | 启用 `piSubagentMode`,或在 Pi step 内配置 read-only scout / planner / reviewer subagent |
44
- | `model-routing.md` | 查看或修改 model/provider 默认、profile、routing 或 fallback 行为 |
45
- | `post-implementation-and-patterns.md` | 处理 post-verify handoff、PRD item 拆分、fast bounded task、quick status 或 Pi timeout |
46
- | `multi-worktree.md` | 用 isolated worktree、`delegate` 与 `harvest` 并发执行互不重叠的 independent task |
47
- | `verification-and-failure-handling.md` | 选择 verify knob、Cursor bounded write 后的独立复核、解释 failure mode、执行 completion audit 与 closeout |
48
- | `long-running-loop.md` | 使用 experimental long-running `loop` outer state:命令入口、action 规则、auto mode 写入边界、signals 与 loop closeout |
49
-
50
- ## 边界与状态源
51
-
52
- - `references/harness-policy.md` 是 shared workflow policy source,供多个 repo 的 thin adapter docs 引用。
53
- - `../SKILL.md` 是 skill trigger 与 routing source,不承载长流程细节。
54
- - `docs/loop-agent-harness.md` / repo-local `specs/loop-agent-harness.md` 是本仓库或目标仓库的 adapter 文档:只描述 runtime 位置、governance root、验证入口和本地边界。
55
- - `harness.json` 是 workflowPolicy、script entrypoints、artifacts 目录与 model routing 的机器可读 source of truth。
56
- - `.harness/tasks/<task-id>/` 是 task 运行态状态;不要把运行态事实写进本目录。
57
- - `.harness/runs/completed/<run-id>/` 是 one-shot tool run evidence;reference 文档只能解释如何读取和 promotion,不应复制 run facts。
58
- - `.harness/dag-runs/completed/<run-id>/` 是单次 DAG run 的不可变 facts;reference 文档只能解释如何读取和收口,不应复制 run facts。
59
-
60
- ## 维护规则
61
-
62
- - 不要把长段落复制回 `SKILL.md`;需要新增细节时,在本目录新增或更新 reference,并在 `SKILL.md` 添加 routing row。
63
- - 让 `SKILL.md` 保持 120-180 行以内;reference 文件承担细节。
64
- - 新 reference 应有清晰标题、触发场景、最小步骤、失败处理和维护边界。
65
- - 如果某个 reference 变成可独立触发、跨项目通用且不再依赖本仓库上下文,再考虑拆成独立 skill。
66
- - 更新 command、workflow policy 或 verification 规则时,同步核对 `harness.json`、`references/harness-policy.md`、repo-local harness adapter docs 和 verification matrix。
67
- - `~/.pi/agent/skills/loop-agent` 是指向本目录的 symlink,所以仓库内 edits 会直接更新 Pi skill。
1
+ # loop-agent Skill References
2
+
3
+ 本目录是 `../SKILL.md` 的 progressive-disclosure reference layer。`SKILL.md`
4
+ 只负责 trigger、入口选择和硬规则;较长的 command details、operational procedures、
5
+ failure handling 与 workflow 细节放在这里,避免主 skill 变成百科。
6
+
7
+ ## 使用方式
8
+
9
+ 1. 先读 `../SKILL.md`,确认当前任务是否真的需要 `loop-agent`。
10
+ 2. 根据任务类型只打开相关 reference,不要一次加载整个目录。
11
+ 3. 执行时遵循 Agent DAG 路径;历史顺序式 `run ...` workflow 已移除。
12
+ 4. 如果 reference 与 `harness.json` 或 repo-local `docs/loop-agent-harness.md` / `specs/loop-agent-harness.md` 冲突,以
13
+ `harness.json` 的机器可读 policy 和本目录的 shared policy 为准,并回头修正文档漂移。
14
+
15
+ ## 快速路由
16
+
17
+ | 场景 | 优先读取 |
18
+ |---|---|
19
+ | 通用 loop-agent harness workflow policy、跨 repo 共同规则 | `harness-policy.md` |
20
+ | 中大型 autonomous implementation、harness-governed work | `harness-policy.md`、`hybrid-dag.md`、`orchestrator-and-interventions.md`、`verification-and-failure-handling.md` |
21
+ | 需要查精确 CLI 用法、setup、goal、docs helper、stats | `command-reference.md` |
22
+ | 低风险 micro task、旧任务目录兼容、DAG runtime 修复 | `task-workflow.md`、`verification-and-failure-handling.md` |
23
+ | DAG 运行中要判断 main session 是否能手术式补丁、是否需要 sidecar prompt | `orchestrator-and-interventions.md` |
24
+ | 短时 one-shot Pi SDK 调用,不创建 `.harness/tasks/` | `pi-prompt.md` |
25
+ | 解释 `.harness/runs/`、one-shot evidence、active 残留或 promotion | `one-shot-runs.md` |
26
+ | 多 worktree 并行委派、delegate/harvest | `multi-worktree.md` |
27
+ | 模型、provider、profile、fallback routing | `model-routing.md` |
28
+ | Long-running `loop` 命令、action 规则、auto mode、signals、loop closeout | `long-running-loop.md` |
29
+ | Three-pass convergence、repair artifact / spine audit / knowledge curate、SePO-lite prompt evolution | `harness-policy.md` |
30
+ | Cursor bounded write 后的独立复核、verify knobs、failure handling | `verification-and-failure-handling.md` |
31
+
32
+ ## Reference 索引
33
+
34
+ | Reference | 使用场景 |
35
+ |---|---|
36
+ | `harness-policy.md` | 通用 loop-agent harness policy:DAG、命令分层、source materials、loop/sidecar 边界、facts/verification/handoff 规则;repo-local harness docs 应引用它而不是复制规则 |
37
+ | `orchestrator-and-interventions.md` | 协调长时间 autonomous DAG work;判断 main session 是否可以 edit;使用 one-shot Pi/Cursor sidecar;恢复 in-flight workflow |
38
+ | `command-reference.md` | 需要 `.` 的精确 CLI 命令、setup、goal lifecycle、docs helper、stats |
39
+ | `task-workflow.md` | 处理 task source material、task config、repo adapter 或 legacy task 目录布局 |
40
+ | `pi-prompt.md` | 运行短时 one-shot Pi SDK task,且不创建 `.harness/tasks/` |
41
+ | `one-shot-runs.md` | 解释 `.harness/runs/{active,completed,failed}` 的创建条件、生命周期、治理清理与 `promote-run` 关系 |
42
+ | `hybrid-dag.md` | 使用 Agent DAG Level 2 `dag validate` / `run-dag`,Level 3 `dag init-hybrid` / `dag run-task`,或查看 write policy、DAG source-of-truth 规则 |
43
+ | `pi-subagent-assisted-mode.md` | 启用 `piSubagentMode`,或在 Pi step 内配置 read-only scout / planner / reviewer subagent |
44
+ | `model-routing.md` | 查看或修改 model/provider 默认、profile、routing 或 fallback 行为 |
45
+ | `post-implementation-and-patterns.md` | 处理 post-verify handoff、PRD item 拆分、fast bounded task、quick status 或 Pi timeout |
46
+ | `multi-worktree.md` | 用 isolated worktree、`delegate` 与 `harvest` 并发执行互不重叠的 independent task |
47
+ | `verification-and-failure-handling.md` | 选择 verify knob、Cursor bounded write 后的独立复核、解释 failure mode、执行 completion audit 与 closeout |
48
+ | `long-running-loop.md` | 使用 experimental long-running `loop` outer state:命令入口、action 规则、auto mode 写入边界、signals 与 loop closeout |
49
+
50
+ ## 边界与状态源
51
+
52
+ - `references/harness-policy.md` 是 shared workflow policy source,供多个 repo 的 thin adapter docs 引用。
53
+ - `../SKILL.md` 是 skill trigger 与 routing source,不承载长流程细节。
54
+ - `docs/loop-agent-harness.md` / repo-local `specs/loop-agent-harness.md` 是本仓库或目标仓库的 adapter 文档:只描述 runtime 位置、governance root、验证入口和本地边界。
55
+ - `harness.json` 是 workflowPolicy、script entrypoints、artifacts 目录与 model routing 的机器可读 source of truth。
56
+ - `.harness/tasks/<task-id>/` 是 task 运行态状态;不要把运行态事实写进本目录。
57
+ - `.harness/runs/completed/<run-id>/` 是 one-shot tool run evidence;reference 文档只能解释如何读取和 promotion,不应复制 run facts。
58
+ - `.harness/dag-runs/completed/<run-id>/` 是单次 DAG run 的不可变 facts;reference 文档只能解释如何读取和收口,不应复制 run facts。
59
+
60
+ ## 维护规则
61
+
62
+ - 不要把长段落复制回 `SKILL.md`;需要新增细节时,在本目录新增或更新 reference,并在 `SKILL.md` 添加 routing row。
63
+ - 让 `SKILL.md` 保持 120-180 行以内;reference 文件承担细节。
64
+ - 新 reference 应有清晰标题、触发场景、最小步骤、失败处理和维护边界。
65
+ - 如果某个 reference 变成可独立触发、跨项目通用且不再依赖本仓库上下文,再考虑拆成独立 skill。
66
+ - 更新 command、workflow policy 或 verification 规则时,同步核对 `harness.json`、`references/harness-policy.md`、repo-local harness adapter docs 和 verification matrix。
67
+ - `~/.pi/agent/skills/loop-agent` 是指向本目录的 symlink,所以仓库内 edits 会直接更新 Pi skill。