@tea-agent/loop-agent 0.25.5 → 0.26.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 (173) hide show
  1. package/AGENTS.md +2 -1
  2. package/CHANGELOG.md +1020 -986
  3. package/bin/loop-agent.js +21 -21
  4. package/dist/commands/cursor-prompt.js +6 -6
  5. package/dist/commands/init.js +68 -129
  6. package/dist/commands/loop-benchmark.js +11 -11
  7. package/dist/commands/pi-reuse-benchmark.js +16 -16
  8. package/dist/executors/dag-pi-executor.js +26 -20
  9. package/dist/executors/model-routing.js +34 -18
  10. package/dist/executors/shell-executor.js +1 -1
  11. package/dist/governance/manifest-types.js +33 -5
  12. package/dist/sidecars/cursor-prompt/executor.js +1 -1
  13. package/dist/task/task-demand-routing.js +3 -1
  14. package/dist/worker/console/chat/model-resolver.js +15 -3
  15. package/dist/worker/observe/static/constants.js +3 -2
  16. package/dist/worker/observe/static/copy.js +67 -67
  17. package/dist/worker/observe/static/dag-layout.d.ts +31 -31
  18. package/dist/worker/observe/static/dag-layout.js +83 -83
  19. package/dist/worker/observe/static/dag-model.js +1 -0
  20. package/dist/worker/observe/static/dom.js +220 -220
  21. package/dist/worker/observe/static/relations.js +133 -133
  22. package/dist/worker/observe/static/router.js +93 -93
  23. package/dist/worker/observe/static/run-processing.js +148 -148
  24. package/dist/worker/observe/static/styles.css +182 -42
  25. package/dist/worker/observe/static/views/batch.js +227 -227
  26. package/dist/worker/observe/static/views/dag-graph.js +172 -172
  27. package/dist/worker/observe/static/views/failures.js +143 -143
  28. package/dist/worker/observe/static/views/feature.js +492 -492
  29. package/dist/worker/observe/static/views/run.js +453 -453
  30. package/dist/worker/observe/static/views/shell.js +7 -7
  31. package/dist/worker/observe/static/views/timeline.js +163 -163
  32. package/dist/workflows/dag/backend-test-case-coverage-analysis.js +362 -45
  33. package/dist/workflows/dag/backend-test-case-manifest.js +20 -0
  34. package/dist/workflows/dag/backend-test-markdown-workflow.js +17 -0
  35. package/dist/workflows/dag/canvas-observer.js +275 -275
  36. package/dist/workflows/dag/init-hybrid.js +18 -15
  37. package/dist/workflows/dag/lifecycle.js +40 -30
  38. package/dist/workflows/dag/node-execution.js +13 -0
  39. package/dist/workflows/dag/types.js +59 -19
  40. package/docs/init-surface.manifest.json +3 -1
  41. package/docs/skills/README.md +7 -7
  42. package/docs/templates/README.md +1 -0
  43. package/docs/templates/adr.md +60 -60
  44. package/docs/templates/agent-dag-authority-surface-audit.prompt.md +94 -94
  45. package/docs/templates/agent-dag-decision-envelope.schema.json +213 -213
  46. package/docs/templates/agent-dag-decision-gate.prompt.md +246 -246
  47. package/docs/templates/agent-dag-process-supervisor.prompt.md +98 -98
  48. package/docs/templates/agent-dag-report.schema.json +473 -473
  49. package/docs/templates/agent-dag-review-verdict.prompt.md +68 -68
  50. package/docs/templates/backend-test-dag.json +9 -9
  51. package/docs/templates/backend-test-result.schema.json +99 -99
  52. package/docs/templates/feature-spec.md +53 -53
  53. package/docs/templates/frontend-design-contract.md +42 -42
  54. package/docs/templates/frontend-eval/fixtures/failures/01-type-build-error.md +17 -17
  55. package/docs/templates/frontend-eval/fixtures/failures/02-unit-component-test-fail.md +16 -16
  56. package/docs/templates/frontend-eval/fixtures/failures/03-fixture-schema-drift.md +16 -16
  57. package/docs/templates/frontend-eval/fixtures/failures/04-missing-loading-empty-error-state.md +16 -16
  58. package/docs/templates/frontend-eval/fixtures/failures/05-forbidden-write-writeset-expansion.md +16 -16
  59. package/docs/templates/frontend-eval/fixtures/failures/06-unapproved-dependency-add.md +16 -16
  60. package/docs/templates/frontend-eval/fixtures/failures/07-mock-production-on.md +21 -21
  61. package/docs/templates/frontend-eval/fixtures/functional/01-simple-component-style.md +29 -29
  62. package/docs/templates/frontend-eval/fixtures/functional/02-form-validation.md +28 -28
  63. package/docs/templates/frontend-eval/fixtures/functional/03-list-detail-page.md +28 -28
  64. package/docs/templates/frontend-eval/fixtures/functional/04-api-mock.md +29 -29
  65. package/docs/templates/frontend-eval/fixtures/functional/05-permission-auth-gated-ui.md +27 -27
  66. package/docs/templates/frontend-eval/fixtures/functional/06-ssr-server-client-boundary.md +28 -28
  67. package/docs/templates/frontend-eval/fixtures/functional/07-shared-public-component-api.md +28 -28
  68. package/docs/templates/frontend-eval/fixtures/functional/08-pure-local-no-remote.md +27 -27
  69. package/docs/templates/frontend-eval/metrics.md +138 -138
  70. package/docs/templates/frontend-eval/smoke-targets.md +53 -53
  71. package/docs/templates/frontend-task-constraints.md +35 -35
  72. package/docs/templates/frontend-task-requirement.md +70 -70
  73. package/docs/templates/harness.schema.json +29 -7
  74. package/docs/templates/init-evolution-review.md +35 -35
  75. package/docs/templates/init-managed-agents.md +137 -0
  76. package/docs/templates/interactive-ui-round2-experiment.md +66 -66
  77. package/docs/templates/knowledge-graph-bootstrap-dag.json +118 -118
  78. package/docs/templates/knowledge-sync-dag.json +178 -178
  79. package/docs/templates/knowledge-sync-draft.schema.json +71 -71
  80. package/docs/templates/product-line/closeout.yaml +9 -9
  81. package/docs/templates/product-line/design.md +13 -13
  82. package/docs/templates/product-line/links.md +10 -10
  83. package/docs/templates/product-line/requirement.md +17 -17
  84. package/docs/templates/product-line/test-plan.md +7 -7
  85. package/docs/templates/production-readiness-checklist.md +57 -57
  86. package/docs/templates/project-start-checklist.md +9 -9
  87. package/docs/templates/qa-report.md +48 -48
  88. package/docs/templates/sprint-contract.md +29 -29
  89. package/docs/templates/worker-dogfood-evidence.md +80 -80
  90. package/docs/templates/worker-dogfood-setup.md +68 -68
  91. package/harness.json +1 -2
  92. package/package.json +1 -1
  93. package/scripts/kb-bootstrap-init-skeleton.sh +0 -0
  94. package/scripts/kb-graph-incremental-prepare.mjs +386 -386
  95. package/scripts/kb-graph-materialize.mjs +105 -105
  96. package/scripts/kb-graph-promote.mjs +164 -164
  97. package/scripts/kb-query.mjs +554 -554
  98. package/skills/ai-engineering-context/SKILL.md +48 -48
  99. package/skills/analyze-product-dependencies/SKILL.md +67 -67
  100. package/skills/analyze-product-dependencies/agents/openai.yaml +4 -4
  101. package/skills/analyze-product-dependencies/references/api-documentation-schema.md +30 -30
  102. package/skills/analyze-product-dependencies/references/dependency-analysis-schema.md +28 -28
  103. package/skills/analyze-product-dependencies/references/example.md +76 -76
  104. package/skills/analyze-product-dependencies/references/forward-test-cases.md +35 -35
  105. package/skills/analyze-product-dependencies/references/input-contract.md +11 -11
  106. package/skills/analyze-product-dependencies/references/scouting-rules.md +61 -61
  107. package/skills/analyze-product-dependencies/scripts/test-validators.mjs +267 -267
  108. package/skills/analyze-product-dependencies/scripts/validate-api-documentation.mjs +101 -101
  109. package/skills/analyze-product-dependencies/scripts/validate-dependency-analysis.mjs +142 -142
  110. package/skills/analyze-product-dependencies/scripts/validate-product-requirement-input.mjs +76 -76
  111. package/skills/analyze-product-dependencies/scripts/validation-helpers.mjs +146 -146
  112. package/skills/analyze-product-requirements/SKILL.md +90 -90
  113. package/skills/analyze-product-requirements/agents/openai.yaml +4 -4
  114. package/skills/analyze-product-requirements/references/acceptance-criteria.md +91 -91
  115. package/skills/analyze-product-requirements/references/clarification-and-knowledge.md +56 -56
  116. package/skills/analyze-product-requirements/references/example.md +86 -86
  117. package/skills/analyze-product-requirements/references/forward-test-cases.md +66 -66
  118. package/skills/analyze-product-requirements/references/product-analysis-schema.md +32 -32
  119. package/skills/analyze-product-requirements/references/product-requirement-schema.md +33 -33
  120. package/skills/analyze-product-requirements/references/requirement-clarification-schema.md +35 -35
  121. package/skills/analyze-product-requirements/scripts/test-validators.mjs +193 -193
  122. package/skills/analyze-product-requirements/scripts/validate-product-analysis.mjs +69 -69
  123. package/skills/analyze-product-requirements/scripts/validate-product-requirement.mjs +97 -97
  124. package/skills/analyze-product-requirements/scripts/validate-requirement-clarification.mjs +98 -98
  125. package/skills/analyze-product-requirements/scripts/validation-helpers.mjs +156 -156
  126. package/skills/browser-tools/browser-content.js +103 -103
  127. package/skills/browser-tools/browser-cookies.js +35 -35
  128. package/skills/browser-tools/browser-eval.js +53 -53
  129. package/skills/browser-tools/browser-hn-scraper.js +108 -108
  130. package/skills/browser-tools/browser-nav.js +44 -44
  131. package/skills/browser-tools/browser-pick.js +162 -162
  132. package/skills/browser-tools/browser-screenshot.js +34 -34
  133. package/skills/browser-tools/browser-start.js +86 -86
  134. package/skills/browser-tools/package-lock.json +2556 -2556
  135. package/skills/browser-tools/package.json +19 -19
  136. package/skills/code-review-core/SKILL.md +20 -20
  137. package/skills/codebase-scout/SKILL.md +19 -19
  138. package/skills/grill-me/SKILL.md +10 -10
  139. package/skills/loop-agent/references/README.md +67 -67
  140. package/skills/loop-agent/references/command-reference.md +5 -4
  141. package/skills/loop-agent/references/docs-converge.md +126 -126
  142. package/skills/loop-agent/references/hybrid-dag.md +2 -2
  143. package/skills/loop-agent/references/learned/README.md +21 -21
  144. package/skills/loop-agent/references/long-running-loop.md +57 -57
  145. package/skills/loop-agent/references/model-routing.md +2 -0
  146. package/skills/loop-agent/references/one-shot-runs.md +85 -85
  147. package/skills/loop-agent/references/pi-prompt.md +23 -23
  148. package/skills/loop-agent/references/pi-subagent-assisted-mode.md +84 -84
  149. package/skills/playwright-cli/SKILL.md +420 -420
  150. package/skills/playwright-cli/references/element-attributes.md +23 -23
  151. package/skills/playwright-cli/references/playwright-tests.md +39 -39
  152. package/skills/playwright-cli/references/request-mocking.md +87 -87
  153. package/skills/playwright-cli/references/running-code.md +241 -241
  154. package/skills/playwright-cli/references/session-management.md +225 -225
  155. package/skills/playwright-cli/references/storage-state.md +275 -275
  156. package/skills/playwright-cli/references/test-generation.md +433 -433
  157. package/skills/playwright-cli/references/tracing.md +139 -139
  158. package/skills/playwright-cli/references/video-recording.md +143 -143
  159. package/skills/requesting-code-review/SKILL.md +101 -101
  160. package/skills/requesting-code-review/code-reviewer.md +168 -168
  161. package/skills/systematic-debugging/CREATION-LOG.md +119 -119
  162. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
  163. package/skills/systematic-debugging/condition-based-waiting.md +115 -115
  164. package/skills/systematic-debugging/defense-in-depth.md +122 -122
  165. package/skills/systematic-debugging/find-polluter.sh +63 -63
  166. package/skills/systematic-debugging/root-cause-tracing.md +169 -169
  167. package/skills/systematic-debugging/test-academic.md +14 -14
  168. package/skills/systematic-debugging/test-pressure-1.md +58 -58
  169. package/skills/systematic-debugging/test-pressure-2.md +68 -68
  170. package/skills/systematic-debugging/test-pressure-3.md +69 -69
  171. package/skills/using-git-worktrees/SKILL.md +215 -215
  172. package/skills/verification-before-completion/SKILL.md +154 -154
  173. package/skills/webapp-testing/SKILL.md +19 -19
package/CHANGELOG.md CHANGED
@@ -1,986 +1,1020 @@
1
- # 更新日志
2
-
3
- ## [Unreleased]
4
-
5
- ## [0.25.5] - 2026-07-31
6
-
7
- ### 重点更新
8
-
9
- - 后端测试 DAG 新增确定性场景覆盖分析与 Markdown pytest 的精准对应,显著提升测试质量度量的准确性与透明度
10
- - 受监督的 DAG 默认启用有界自愈闭环,能够自动处理可恢复的执行失败并安全重算后续节点
11
- - 全面加固客户端会话恢复机制,精准识别并补偿由模型服务瞬时异常引发的结构校验错误
12
- - 大幅增强 DAG 执行的确定性收尾能力,确保在模型输出不稳定或前置快照失败时安全降级
13
-
14
- ### 新增
15
-
16
- - 后端测试固定 9 节点 DAG 新增可审计的场景覆盖与 Markdown→pytest 一一对应事实:节点 4 从严格 Coverage Matrix、Case Rule/Test Point 绑定及 OpenAPI required/enum/boundary/pattern/format 规则生成覆盖报告,节点 6 生成 1:1/1:0/1:N/0:1 对应报告,节点 7 校验一致性后物化 canonical manifest
17
- - 受监督的 DAG 默认启用有界自愈闭环:通过 maxFixLoops 派生收敛预算,将可恢复失败与合法的审查修订请求统一纳入恢复链,并确定性注入上一轮失败证据指针,同时保持对安全失败的不自动重试
18
- - 后端测试用例生成与独立 Review 改为产品需求优先,并穷举文档化 API 规则,涵盖生命周期、枚举等价类、长度数值边界及业务状态迁移等场景
19
- - 后端测试 HTML/facts 新增可展开的“用例场景覆盖分析”和“Markdown → pytest 一一对应”质量详情
20
-
21
- ### 改进
22
-
23
- - 减少全量测试中的重复 CLI 冷启动和 self-host canary 二次打包安装场景,收敛低价值重复用例并保留关键端到端主路径
24
- - DAG 执行期间的主会话行为约束得到增补:启动后自主推进至结束、持续可靠判活、严格限制工作区文件修改,并优先使用纯函数探针排查路由
25
-
26
- ### 修复
27
-
28
- - 修复后端测试节点 4/6 的确定性覆盖与对应分析在自身崩溃时被静默吞掉的问题,现会写入诊断信息并按基础设施故障安全停止
29
- - 修复后端测试节点 4、6、7 在缺失 spec.sourceBinding 时未统一停止的问题,避免上游回退导致下游 manifest 突发报错
30
- - 修复成功执行路径下 HTTP 请求/响应日志解析不规范的问题,现统一规范化大小写不敏感的日志前缀并完整解析 JSON,恢复报告中的请求参数与大响应正文
31
- - 修复 Pi writer 已输出合法结果却因前置说明、Markdown 装饰或中文标点被误判失败的问题,现确定性规范化唯一 outcome 且不影响无副作用操作
32
- - 修复 Pi writer 前置 Git 快照失败被延后处理的问题,现调用模型前即安全停止,并在失败信息中保留完整的尝试次数与错误上下文
33
- - 修复不稳定模型输出导致受监督 DAG 无法可信收尾的问题,现使用精确判定协议和有限重试,确保最终状态准确且保持安全关闭
34
- - 修复合并后 canonical DAG Pi MED 路由错误回退到旧模型的问题,统一恢复为正确配置
35
- - 修复脚手架样例漂移检查误判当前 worktree 目录名的问题,避免附加 worktree 触发稳定测试失败
36
- - 修复 Windows 8.3 短路径与长路径指向同一仓库时生成不同指纹的问题,避免应用数据命名空间冲突
37
- - 修复生成的 OpenCode 恢复插件在 busy→idle 竞态下丢失续接的问题,现保留待处理错误并在明确空闲后安全重试
38
- - 修复 Pi retry 配置读取将权限或 I/O 错误误判为缺文件的问题,现仅缺失文件时允许新建配置
39
- - 修复客户端瞬态恢复无法正确处理 TypeValidation 瞬时错误的问题,现能准确识别携带瞬时信号的错误并安全重试,纯 schema 校验失败仍被拒绝
40
-
41
- ## [0.25.4] - 2026-07-31
42
-
43
- ### 新增
44
-
45
- - stream run progress heartbeats
46
-
47
- ### 新增
48
-
49
- - stream run progress heartbeats
50
- - improve HTML failure triage
51
- - add native checklist and HTML report gates
52
-
53
- ### 修复
54
-
55
- - tighten production URL detection
56
- - preserve supported Pi default model
57
- - sync packaged prompt contract
58
- - normalize drifted case ids and decode nested HTML entities
59
-
60
- ## [0.25.3] - 2026-07-30
61
-
62
- ### 重点更新
63
-
64
- - 新增 OpenCode 客户端瞬态会话恢复机制,在内置重试遗漏时自动补偿 UnknownError
65
- - 优化前端实现需求路由,将前端开发与测试任务准确分发至对应 DAG 流程
66
-
67
- ### 新增
68
-
69
- - loop-agent init 支持 --client-recovery 参数,可在目标项目生成 OpenCode 插件以补偿瞬态 UnknownError
70
- - 支持在用户级别原子写入 Pi retry 推荐配置,并严格遵守插件 ownership 不覆盖用户改动
71
-
72
- ### 改进
73
-
74
- - 初始化或刷新 AGENTS.md 时,要求将明确的前端实现需求路由至 frontend-implementation,与浏览器和 UI 自动化测试区分开
75
-
76
- ### 修复
77
-
78
- - 修复生成的 OpenCode 恢复插件无法按真实 API 工作的问题,现直接返回 Hooks.event 并按事件正确分发与续接
79
- - 修复 Type validation failed 等真实错误被业务校验规则误杀的问题
80
- - 修复 Pi retry 配置读取将权限或 I/O 错误误判为缺文件的问题,现仅 ENOENT 视为缺文件
81
-
82
- ## [0.25.2] - 2026-07-30
83
-
84
- ### 重点更新
85
-
86
- - 加固后端测试中文 HTML 报告的用例关联与解析逻辑,提升报告的准确性与可读性
87
-
88
- ### 改进
89
-
90
- - 改进基于 class pytest node id 解析,准确提取真实脚本路径,避免显示为 unknown.py
91
- - 当用例名称缺失后端 ID 时,支持按函数名与 Markdown catalog 进行回退关联
92
- - 规范化 [REQ]/[RESP] HTTP 日志块,增强日志兼容性
93
-
94
- ### 修复
95
-
96
- - 修复成功执行路径下原生 pytest-html 报告未正确保留的问题,现会将其另存为 backend-test-pytest-native.html
97
-
98
- ## [0.25.1] - 2026-07-30
99
-
100
- ### 重点更新
101
-
102
- - 后端测试 DAG 节点新增 JaCoCo 覆盖率收集能力,支持在 L-5 dashboard 展示 Java 后端的代码行与分支覆盖率
103
- - 规范任务 DAG 草稿的默认输出路径,统一指向 `.harness/tasks/<task-id>/dag.json`
104
- - 修复 loop-agent 技能条目因注入预算超限被截断的问题,确保默认 DAG 下技能完整解析
105
-
106
- ### 新增
107
-
108
- - backend-test DAG 节点 7 支持可选的 JaCoCo 覆盖率收集:通过跨网络 TCP dump JaCoCo tcpserver 数据,经 jacococli.jar 转换并解析为 code-coverage-v1 合约,供 L-5 dashboard 使用
109
- - task shell 配置新增 `jacocoCoverage` 字段,支持配置 endpoint、cliJarPath、includes 和 connectTimeoutMs
110
- - 新增面向开发与运维的 JaCoCo 覆盖率部署指南,涵盖 tcpserver agent 挂载、端口放行、cli 预装及安全提醒
111
-
112
- ### 改进
113
-
114
- - `dag run-task` `dag init-hybrid` 的默认输出路径改为 `.harness/tasks/<task-id>/dag.json`,不再写入系统临时目录
115
- - agent-worker 在 strict validate 成功后,将校验通过的草稿原子同步到 task 根 `dag.json`
116
- - task read-model、delegate worktree 提示及各文档示例统一指向规范化的任务草稿路径
117
- - skills 补充 `source-and-plan-practice.md`,明确 `import-prd` 与 `plan create` 的决策表与推荐顺序,不强制微小任务
118
-
119
- ### 修复
120
-
121
- - 压缩 SKILL.md 及 required-reference 体积,修复默认 DAG 技能注入预算超限导致 loop-agent 条目被截断的问题
122
-
123
- ## [0.25.0] - 2026-07-30
124
-
125
- ### 重点更新
126
-
127
- - 新增确定性 Feature Packet 脚手架,支持后端、前端及含 API 前端模板,并具备原子批量写入与预检能力
128
- - 新增 Feature 交付编排命令,自动串联最终验证、交付与收口流程
129
- - 显著提升 DAG 执行稳定性,修复超时残留子进程、重复验证及耗时记录不完整等问题
130
- - 新增任务级 Maven 验证规划,自动定位并仅针对相关模块执行验证
131
- - 后端测试节点现可自动生成指标机器计算的自包含 L-5 可视化报告
132
-
133
- ### 新增
134
-
135
- - backend-test DAG 节点 7 支持可选的 JaCoCo 覆盖率收集(Java 服务):task shell 配置新增 `jacocoCoverage`(endpoint + cliJarPath + includes + connectTimeoutMs);节点 7 在 pytest 后跨网络 TCP dump JaCoCo tcpserver 执行数据,用 jacococli.jar 转为 jacoco.xml,确定性解析为 `contracts/code-coverage-v1.json` 并喂给 L-5 dashboard 的 line/branch 指标;全程失败安全(endpoint 不通 / cli 缺失 / 解析失败 → 覆盖率降级 unavailable,不阻断测试与 L-5)
136
- - 提供 agent-worker Feature Packet 脚手架,内置 backend-only、frontend-only fe-with-api 模板,支持原子批量写入与 validate-feature 预检
137
- - 新增 agent-worker feature advance 命令,编排 verify-final、delivery 到 closeout 的完整交付路径
138
- - 新增 agent-worker feature doctor 命令,提供只读的交付就绪诊断(覆盖证据、Pool 状态与工作区改动)
139
- - Maven 验证现支持任务级范围规划,根据任务涉及的目录自动定位并验证正确的 POM 模块
140
- - 后端测试 DAG 节点 7 现可确定性生成美观的自包含 L-5 可视化报告,指标完全由机器计算
141
-
142
- ### 改进
143
-
144
- - Feature Delivery 在省略特定参数时,默认使用 feature verify-final 写入的标准证据路径
145
- - TaskConfig 持久化入口在写入前执行 schema 校验,拒绝不符合规范的数据格式
146
- - Dogfood 前端测试服务器在检测到旧缓存导致接口数据异常时,现会自动强制重启恢复
147
-
148
- ### 修复
149
-
150
- - 显著加固 DAG 执行可靠性,修复超时或中断后子进程残留问题,降低文件占用与测试干扰概率
151
- - 修复受监督流程可能重复执行完整验证的问题,避免高成本检查在不同阶段反复运行
152
- - 修复 DAG 被放弃或替换时,运行中节点实际耗时记录不完整的问题
153
- - 修复 Windows 环境下因提示内容过长导致 DAG 无法启动的问题,现安全采用受控临时文件传输
154
- - 修复前端实现 DAG 在未确认项目 Mock 能力时误报缺失 Mock 文件的问题
155
- - 修复结构化任务配置中数组类型校验不严格的问题
156
-
157
- ## [0.24.10] - 2026-07-29
158
-
159
- ### 修复
160
-
161
- - Closeout 重验不再要求 `should`/partial AC 绑定完整 run evidence(仅 `covered` must AC 强制 hash 绑定)
162
-
163
- ## [0.24.9] - 2026-07-29
164
-
165
- ### 重点更新
166
-
167
- - 后端测试执行失败时的诊断信息更加完善,避免出现无输出导致无法定位的问题
168
- - 修复 Windows 环境下前端证据校验因长命令终端转义导致的崩溃
169
- - 节点检查器新增「节点输入」只读页签,支持安全审查冻结的节点定义
170
-
171
- ### 新增
172
-
173
- - Observe / Inspect 节点检查器在「节点输出」左侧新增「节点输入」页签:只读投影冻结 run.json 顶层节点定义(任务正文、依赖、执行器摘要、边界)与可选 assembled prompt 指纹
174
-
175
- ### 改进
176
-
177
- - 后端测试节点执行失败时可观测性增强:写入包含映射脚本、PYTHON_BIN、pytest 版本、exit、html 是否存在与 STEP 等信息的诊断文件,并在节点 stderr 汇总失败摘要
178
-
179
- ### 修复
180
-
181
- - 修复前端证据校验在 Windows 下通过长 node -e 命令执行时的终端转义崩溃:改为由 runtime 内部直接校验,兼容 CMD、Git Bash、PowerShell 与 Unix shell
182
-
183
- ## [0.24.9] - 2026-07-29
184
-
185
- ### 修复
186
-
187
- - Closeout 重验不再要求 `should`/partial AC 绑定完整 run evidence(仅 `covered` must AC 强制 hash 绑定)
188
-
189
- ## [0.24.8] - 2026-07-29
190
-
191
- ### 重点更新
192
-
193
- - 修复 FINAL-VERIFY 改写已存在的 allowed_paths 证据(gitignore)时 Git checkpoint 误失败,以及 record-error 后 Task Pool 卡在 Running 无法 mark-failed/retry 的问题
194
-
195
- ### 修复
196
-
197
- - `finalizeGitTask` 对 allowed_paths 内的 pre-existing ignored evidence 允许 rewrite 并 force-add
198
- - `runReadyTasks` 在 record-error 时 best-effort 投影 `runs.jsonl` + Failed 状态,便于官方 retry
199
-
200
- ## [0.24.7] - 2026-07-29
201
-
202
- ### 重点更新
203
-
204
- - 修复 Feature Verification Bundle 在 Delivery 重验时因绝对路径 artifact、`qa-testcode` 类型与 `run_record` 后写 hash 漂移而失败的问题
205
-
206
- ### 修复
207
-
208
- - 修复前端证据校验在 Windows 下通过长 `node -e` 命令执行时的终端转义崩溃:改为由 runtime 内部直接校验,兼容 CMD、Git Bash、PowerShell 与 Unix shell
209
- - 修复 `frontend-implement-pi` 因复用需求发现 skill 而长时间侦查后空实现:contract 现在强制 requirement outcome 与 interaction 行为语义,implement/repair 改用不含递归 OpenSpec/AI workspace 搜索的 bounded skill,并由 `implementation-outcome-v1` 机器校验声明结果与实际 diff;只有显式 already-satisfied 才允许空 diff
210
- - Outcome 投影强制写出 repo-relative artifact 路径
211
- - Delivery `verifyArtifactRefs` 接受位于仓库内的绝对路径(兼容旧 envelope)
212
- - `verifyBundleTaskSpecBindings` 接受 `qa-testcode`(backend-test)与 `qa-execute`(frontend-test)
213
- - Bundle 重验仅 rehash typed evidence(backend/frontend-test-result),忽略可能后写的 run_record
214
-
215
- ## [0.24.6] - 2026-07-29
216
-
217
- ### 重点更新
218
-
219
- - 修复后端测试 Markdown-first 成功路径未投影 `backend-test-result` 的问题,Ready Planner 可再次放行 FE-TEST
220
-
221
- ### 修复
222
-
223
- - Markdown-first `markdown-execute-html` 在解析原生 pytest-html 后立即物化 `contracts/backend-test-result.json`(Result v1),避免 styled HTML 覆盖后丢失 JSON island
224
- - `node-execution` 对 `markdown-execute-html` 绑定 `structuredArtifact*`,Outcome 适配器可投影 `kind: backend-test-result`
225
-
226
- ## [0.24.5] - 2026-07-28
227
-
228
- ### 重点更新
229
-
230
- - 后端测试 Markdown 模块与 pytest 脚本实现一对一精准映射,提升测试执行的确定性
231
- - 修复后端测试 HTML 报告中请求参数显示为空的问题,正确展示请求与响应日志
232
- - 初始化项目支持将「帮我完成/实现/修复」等通用需求表达直接路由进 Agent DAG
233
- - 新增裸 agent-worker console 入口,简化本地看板启动流程
234
-
235
- ### 新增
236
-
237
- - 初始化后的目标项目支持将「帮我完成/实现/修复/开发」等通用需求表达确定性地路由进 Agent DAG(new-task → dag run-task → dag validate → run-dag),无需追加额外的 cli 关键词
238
- - 新增裸 agent-worker console 入口,直接启动 Loop Operator Console,repo 默认当前目录、port 默认 8790
239
- - check-skill-entry.sh 及初始化投影脚本支持解析 YAML 折叠块,对通用需求触发词建立机器门禁以防漂移
240
-
241
- ### 改进
242
-
243
- - 后端测试收敛模块映射,生成与评审 prompt 强制模块文件一对一映射,在映射缺失时支持确定性恢复
244
- - 后端测试 execute/report 节点文案与 pytest-html 真源对齐,移除残留的 JUnit 表述
245
- - 后端测试 HTML 报告对齐 R04 模板样式,采用全 inline style 设计(渐变 banner、可折叠用例卡片、状态胶囊及请求/响应分块展示)
246
- - 本地看板启动更简,端口被占用时不再自动更换,改为明确提示使用 --port 显式指定其它端口
247
- - 旧项目经 init check-update apply-safe 即可安全补回新的「通用需求实现」路由行,并保留用户自定义前言
248
-
249
- ### 修复
250
-
251
- - 修复后端测试 HTML 报告中请求参数显示为空的问题:渲染器现已兼容 payload= 键或 JSON request_record 格式的请求摘要
252
- - 修复后端测试报告无法正确获取请求/响应日志的问题:兼容 HTTP_REQUEST 与 HTTP REQUEST 两种日志前缀,并在解析前正确解码 HTML 实体
253
- - 修复 shell-executor Windows 环境下因反斜杠路径导致 runDir 损坏的问题,确保路径注入稳定
254
- - 修复前端 lint baseline 在 Windows 下因路径解析逻辑缺陷,拒绝相对路径输出导致评估误报为不可用的问题
255
- - 修复多个测试固件在 Windows 下因嵌套 Shell 引号剥离导致命令执行输出为空或报错的问题(涉及 composite-shell 与 init-command)
256
-
257
- ## [0.24.4] - 2026-07-28
258
-
259
- ### 重点更新
260
-
261
- - 控制台「导入需求」支持多文件批量导入,自动合成可编辑正文后创建任务
262
- - 后端测试移除重复运行稳定性门槛,每次执行同时生成用户可读的 HTML 与 Markdown 报告
263
- - 本地 pre-push 钩子升级为执行完整 CI 流程,覆盖治理检查、类型检查与全量测试
264
-
265
- ### 新增
266
-
267
- - 控制台「导入需求」支持选择或拖入一份或多份 Markdown/TXT 文档(严格 UTF-8,单文件 ≤8 MiB,最多 8 个),多文件分卷归档并合成可编辑正文后创建任务
268
-
269
- ### 改进
270
-
271
- - 后端测试 L-5 结论不再将重复运行稳定性作为门槛,每次执行同时产出用户可读的 HTML Markdown 报告,内部 facts 文件保留用于审计
272
- - 本地 pre-push 钩子改为执行完整 CI 流程(治理检查 + 类型检查 + 全量测试),pre-commit 保持仅执行 check-repo
273
- - harness 中等复杂度(MED)模型调整为 grok-4.5,并同步对齐相关 smoke/init 断言
274
- - 归档已完成的设计文档与执行计划,刷新 0.24.x 六个月规划与能力摘要,并同步验证与 hooks 文档
275
-
276
- ## [0.24.3] - 2026-07-28
277
-
278
- ### 重点更新
279
-
280
- - 发布工作流改为发布已通过完整门禁并经 SHA-256 校验的 npm tarball,避免 `npm publish` 再次触发全量测试、类型检查与构建。
281
- - 默认 `standard` 实现任务在 React、Next.js 或 Vue 项目中直接选择 `frontend-implementation` DAG,不再依赖需求关键词;明确后端、文档/测试范围或前端否定仍保留对应通用流程。
282
-
283
- ## [0.24.2] - 2026-07-28
284
-
285
- ### 重点更新
286
-
287
- - 夜间自动发布固定为 patch 通道,不再因功能提交自动跳转次版本号
288
- - 新增人工次版本发布工作流,支持显式触发 v0.x.0 版本线升级
289
- - 夜间发布支持幂等恢复,重跑时自动探测并跳过已完成步骤,冲突时安全失败
290
- - 控制台聊天工作台布局收紧,新增聚焦模式与落地页设计
291
-
292
- ### 新增
293
-
294
- - 新增 manual-minor-release 工作流,仅在显式触发时强制 bump minor 版本
295
- - 控制台新增 ChatLanding 子组件,提供无会话/空会话模式下的落地页与建议网格
296
- - 聊天压缩失败分类器新增对 token 预算超限、已压缩、模型缺失、活跃对话及不支持运行时等场景的精确 HTTP 状态码映射
297
-
298
- ### 改进
299
-
300
- - 发布工作流将最终门禁拆分为独立可观测步骤,并去重以提升执行效率
301
- - 夜间自动发布固定为 --bump=patch,确保版本递增稳定在 0.x.y + 0.0.1
302
- - 文档版本引用现支持 floating/current/minimum/range/historical 五类语义声明,合法旧文档不再误阻塞发布
303
- - 控制台聊天界面收紧工作台密度,新增 is-chat-focus 类锁定视口,仅消息区域滚动且输入框固定底部
304
- - 聊天压缩接口现通过分类器返回类型化错误码,替代原有的通用失败提示
305
-
306
- ### 修复
307
-
308
- - 修复发布流程接受 GitHub Release 目标时无法正确处理符号引用的问题
309
- - 修复 GitHub 状态探测缺少认证导致发布恢复判断不准确的问题
310
- - 修复夜间发布恢复时未针对当前版本标签进行探测的问题
311
- - 修复夜间发布与手动次版本发布通道混淆的问题,现拆分为独立的 patch 与 minor 通道
312
- - 修复文档版本治理将合法的旧版本引用误判为漂移并阻塞发布的问题
313
-
314
- ## [0.24.1] - 2026-07-27
315
-
316
- ### 重点更新
317
-
318
- - 后端测试 HTML 报告全面升级,采用更清晰的可折叠用例卡片设计,直观展示脱敏的请求与响应详情。
319
- - 彻底修复了 Windows 环境下因 cmd.exe 与 bash 嵌套引号转义不当,导致前端与初始化测试固件执行失败的问题。
320
- - 前端实现 DAG 大幅优化,复用现有 run-owned canonical artifacts,有效精简了常规全绿路径的直接依赖节点数量。
321
-
322
- ### 新增
323
-
324
- - 后端测试第 7 节点现使用 pytest-html 生成自包含报告,并新增解析器从其 JSON island 提取每条用例的结果与日志。
325
- - 后端测试生成的 pytest 文件名现可与 Markdown 模块建立一对一清晰映射。
326
-
327
- ### 改进
328
-
329
- - 后端测试 HTML 报告对齐 R04 模板样式:改用全 inline style 设计,包含渐变 banner、可折叠用例卡片、状态胶囊以及请求参数与响应结果分块展示。
330
- - 前端 canonical implementation contract 允许纯逻辑修改使用空的 UI state,不再强制虚构,并会确定性移除不适用状态下的空输出。
331
- - 前端实现 DAG 的多个节点(如 frontend-implement-pi、frontend-review-pi 等)直接依赖得到收敛,不再重复读取完整任务源或上游冗余文本。
332
-
333
- ### 修复
334
-
335
- - 修复后端测试 HTML 报告中请求参数显示为空的问题:渲染器现已兼容 payload= 键或 JSON request_record 格式的请求摘要。
336
- - 修复后端测试报告无法获取请求/响应日志的问题:兼容 HTTP_REQUEST 与 HTTP REQUEST 两种日志前缀,并在解析前正确解码 HTML 实体。
337
- - 修复 shell-executor 在 Windows 环境下因反斜杠路径导致 runDir 损坏的问题,确保路径注入稳定。
338
- - 修复前端 worktree baseline 解析 git status 时因提前 trim 导致未暂存文件路径丢失首字符的解析缺陷。
339
- - 统一 DAG 任务源路径生成与运行时解析基准,解决 freshness、rerun 与预览共享不一致的问题。
340
- - 修复前端项目在需求未显式提及 UI 时被误判保留为标准任务的问题,提升了基于工程证据与交互语义的任务类型推断准确度。
341
- - 修复前端 lint baseline 在 Windows 下因路径解析逻辑缺陷,拒绝相对路径输出导致评估误报为不可用的问题。
342
- - 修复多个测试固件在 Windows 下因嵌套 Shell 引号剥离导致命令执行输出为空或报错的问题(涉及 composite-shell 与 init-command)。
343
-
344
- ## [0.24.0] - 2026-07-27
345
-
346
- ### 新增
347
-
348
- - align chat workspace with pi web UX
349
- - operator chat workspace UX + async runtime race guards
350
- - operator chat M3-M7 (draft interview, human-gate, input context, artifacts, branching, landing)
351
- - pytest-html report + filename mapping + Windows path fix (#71)
352
-
353
- ### 改进
354
-
355
- - style(console): 收紧 Operator Chat 工作台密度与侧栏体验
356
- - style(console): prettier-format Operator Chat + keep UI-contract text intact
357
-
358
- ### 修复
359
-
360
- - operator chat M2 closure tracer + code review followups
361
-
362
- ## [0.23.1] - 2026-07-26
363
-
364
- ### 重点更新
365
-
366
- - **Console Phase 4 — General Operator Chat**:在 `agent-worker console` 内交付 Pi 驱动的自由对话入口,用自然语言多轮编排 loop-agent / agent-worker;暴露全部 operator action(registry 动态派生)+ 内置探查工具 bash/read/grep/find/ls,仍禁文件写入 coding tool;含两轮代码审查的 P1 修复(builtin tool 注册、schema↔dispatcher 契约、server 生命周期、tool policy 统一)与 followup 修复(缩进、SSE 错误兜底、文档同步、waitForIdle 超时+心跳)
367
- - DAG 新增显式 failure-aware 依赖语义,允许只读恢复节点容忍上游 ERROR 并读取失败证据执行收敛
368
- - review verdict 协议重试耗尽后支持确定性规范化,缺失或冲突时仍严格报错
369
- - 新增 recovery recommendation 稳定下一步分类,为各类失败提供明确的修复或重试路由提示
370
- - loop-agent doctor 新增机器可读 JSON 报告与只读上下文审计能力
371
- - loop-agent stats context 提供近端 DAG 运行的上下文用量只读聚合统计
372
- - AGENTS.md init managed block 采用感知源码的精简策略,保留路由与硬约束不变
373
- - 全面深化文档治理体系,引入目录状态语义、审查策略与外部方法论单轨融入
374
-
375
- ### 新增
376
-
377
- - **Console Phase 4 — General Operator Chat(Pi SDK services 模式)**:
378
- - 后端 `src/worker/console/chat/`:`pi-runtime.ts`(services 模式 SDK 包装 + session 隔离 + 显式注册 builtin 探查工具 `tools:[bash,read,grep,find,ls]`)、`tool-adapter.ts`(operator action → Pi tool schema,动态发现 fail-closed)、`session-store.ts`(Gate 3 per-call 授权 + per-session write chain)、`routes.ts`(SSE 流式 HTTP)、`tools.ts`(全 operator action 动态派生白名单)、`resource-loader.ts`(封闭 ResourceLoader)、`model-resolver.ts`(harness.json 动态解析,无硬编码)、`instruction-skills.ts`(9 个只读 skill 白名单)
379
- - 前端 `OperatorChat.tsx` + `ChatMarkdown.tsx`:多行 composer、Markdown 气泡、可折叠工具侧栏、停止生成、智能贴底滚动;零依赖 Markdown 渲染
380
- - 默认模型从 `harness.json executors.pi.MED` 动态解析,按「bare-id 优先 + 有凭证优先」选取 provider(无硬编码回退)
381
- - 红队验证 V12/V14/V15/V16:文件写入 coding tool 必拒、credential 不回传、高风险 action 无 prepared receipt 必失败、模型伪报 complete 不覆盖 deterministic validation
382
- - DAG 显式 failureAwareDependsOn 依赖语义,支持只读恢复等价节点显式声明容忍指定上游节点的 ERROR
383
- - review verdict 协议重试耗尽后的确定性规范化:当恰好存在一个合法受支持且无冲突的 verdict 行时自动规范化为首行
384
- - recovery recommendation 稳定下一步分类:为 nonzero-exit、protocol-invalid 等各类失败提供稳定的 repair/revision/retry 路由提示
385
- - loop-agent doctor --json 输出单一可 JSON.parse typed DoctorReport,供人与机器共享同一事实源
386
- - loop-agent doctor --context 提供只读上下文审计,报告默认策略、技能清单与预算跳过情况
387
- - loop-agent stats context [--last N] [--json] 只读聚合最近 DAG 运行的技能解析与节点结果
388
- - 新增 scripts/eval-dogfood-context-engineering-ab.sh,支持复现演练 AGENTS map verbose→slim A/B 协议
389
- - skill registry 增加 verification placement taxonomy(standalone/embedded/chained/PR-bound)创作词汇
390
- - 新增 docs/architecture/agents-invariants.md 作为源 AGENTS managed block 不变量合同的单一真源
391
- - 新增 docs/templates/README.md 并纳入 package / full init / init check-update 面
392
- - 新增文档治理任务式 README、机器可读 document-catalog.json 与 check-doc-governance.mjs 语义检查器
393
- - 新增文档审查策略与三档 reviewTier freshness 策略,支持按 UTC 日期边界阻断过期文档
394
- - 新增设计原则与范式转移起源文章,并发布到网站实践文档
395
-
396
- ### 改进
397
-
398
- - supervised 模板的 process-supervisor-pi 可显式消费 soft-verify-shell 的 ERROR,使失败进入有界修复收敛链
399
- - supervised 中间验证未显式配置时不再继承 verifyQuota: full,默认只取配额 1
400
- - 生成 DAG 的验证命令默认单命令超时由 5 分钟提升为 30 分钟,避免全量测试误判为超时
401
- - failure-aware 节点可在 upstream_context 中读取被容忍上游 ERROR 的 stdout/stderr 等作为失败证据
402
- - loop-agent public skill 增加默认预算完整性回归,确保关键 entry 与 required references 在默认预算下完整解析
403
- - skills/loop-agent/SKILL.md command-reference.md 从 required 调整为按需 reference,保持在默认预算内
404
- - doctor stats context 的 JSON 模式不再输出 [loop-agent] banner,保证机器输出可直接解析
405
- - 源仓库 AGENTS.md init managed block 采用感知源码的精简,长解释指向 docs/,保留开工路由与硬约束
406
- - 调试纪律要求先建立快速确定性反馈回路再进入根因调查;verifier skill 强调不得越过 writer 边界
407
- - 任务与 TDD 明确采用垂直 tracer bullet(一测试一实现),避免水平层批处理
408
- - ADR 增加三门槛过滤;CONTEXT.md 明确只承担术语表职责;grill-with-docs 按 governanceRoot 解析 decisions
409
- - 外部工程方法论按单轨治理融入 docs/skills/init(ADR 0006),不引入平行状态树
410
- - 文档治理完成当前权威与内容可信度审计,修正设计入口、能力摘要与网站 roadmap 中的归档状态表述
411
- - 文档治理完成实际归位,工程规则、runtime 手册和维护操作分别进入清晰目录,当前设计与历史设计分开
412
- - 文档入口版本与状态对齐 @tea-agent/loop-agent@0.22.0
413
- - Pi 中等复杂度节点默认模型由 glm-5.2 调整为 gpt-5.5;LOW HIGH 路由保持不变
414
-
415
- ### 修复
416
-
417
- - DAG run-task 持久化 writer 草稿生成前强制要求 managed Task Contract,未管理时在写出前失败并提示人工处理流程
418
- - Task source 指南修正 verifyCommands 示例为 { label, command, timeoutMs? }[],并补充旧字符串数组迁移说明
419
- - Vitest 配置排除 .worktrees/** 隔离 checkout,避免显式测试文件参数误收集旧副本
420
- - 受监督的 DAG 失败收敛机制修复,确保在有监督失败时保持收敛性
421
- - DAG bootstrap 合约反馈修复,确保引导阶段正确收敛
422
- - 修复 check-doc-governance.mjs 未忽略 .DS_Store/Thumbs.db OS 生成文件导致仓库目录测试失败的问题
423
- - 修复 context-engineering 提案中指向 exec-plans/active/ 的过时链接,更新为实际的 completed/ 路径
424
- - 校准 context-engineering 提案中的实现证据(测试计数与 AGENTS.md 行数)以匹配当前代码实际产出
425
- - Console Phase 4 Chat 审查 followup:createSession 缩进规整;handleChatPrompt 加 try/catch+finally 兜底 SSE error 与 res.end;waitForIdle 超时 120s→45s 并新增每 10s heartbeat(SSE comment 帧)防代理超时;设计文档 §7.2.1/V25/§13 同步 widening 契约
426
- - Console Phase 4 Chat P1 审查修复:`createSessionFromServices` 显式传 `tools:[bash,read,grep,find,ls]`(SDK 默认 builtin 不含 grep/find/ls,否则 setActiveToolsByName 静默 no-op);schema↔dispatcher 契约对齐(contractValidate/Diff 用 draftJson、workerTaskRetry 补 featureId、动态发现 fail-closed);server.close() 先 chatRuntime.disposeAll();resource-loader/system prompt 统一到 widening(hasBash:true)
427
- - CI 治理:7 versionConsumer 文档版本漂移 0.22.0→0.23.0;check-task-pool-root.sh allowlist 增补 codify-constraints.md
428
-
429
- ## [0.22.0] - 2026-07-24
430
-
431
- ### 重点更新
432
-
433
- - 前端规范读取范围扩展,新增 ai_workspace 作为并列来源,并独立展示各类规范证据
434
- - 前端实现 DAG 引入 lint 债务基线机制,精准区分存量与新增代码问题,减少误阻断
435
- - 前端预写门禁增强,强制校验真实的规范读取事件,避免遗漏关键上下文
436
- - 后端测试报告结构优化,新增 Markdown 报告并改进 HTML 报告的分层展示
437
-
438
- ### 新增
439
-
440
- - 前端规范读取将 ai_workspace 目录与 openspec 相关目录作为并列来源,即使缺少 package.json 也能发现本地规范候选
441
- - Dashboard 规范证据 API 与界面独立展示知识库查询、openspec 检索和成功读取三类证据
442
- - 后端测试在同目录下新增生成 backend-test.md 报告,便于查阅测试结论与明细
443
-
444
- ### 改进
445
-
446
- - 前端实现 DAG 允许未修改文件中的已知 lint 诊断作为基线债务继续,但对修改文件的新问题严格阻断
447
- - 后端测试 HTML 报告采用更清晰的分层展示,新增稳定结论图标与可折叠的质量校验明细,移除了原稳定性指标
448
- - 前端测试用例的内容完整性与证据检查降级为建议性反馈,不再因个别物料缺失阻断最终复盘
449
- - 设计文档与研发 DAG 拓扑说明同步更新,澄清了 profile/workflow/type 三套正交概念与当前实现状态
450
-
451
- ### 修复
452
-
453
- - 修复前端技能指令可能超出预算限制的问题
454
- - 修复 DAG 未正确注册 DeepSeek Pi 模型提供者的问题
455
- - 修复前端目标项目验证路由不够健壮的问题
456
- - 修复后端测试中无法跨环境便携解析 Python 运行时的问题
457
-
458
- ## [0.21.0] - 2026-07-24
459
-
460
- ### 重点更新
461
-
462
- - DAG/Pi 自适应活跃度监管:精准区分传输活动与真实执行进展,受控处置静默卡死,避免误杀。
463
- - 后端测试执行范围收窄:仅运行最终 Markdown 明确映射且通过安全校验的脚本,杜绝无关测试混入。
464
- - 后端测试 HTML 报告全面升级:采用清晰的用例卡片,直观展示脱敏的请求与响应详情。
465
-
466
- ### 新增
467
-
468
- - DAG/Pi 自适应 liveness 与非误杀监管:区分 runner lease、transport 活动与 Provider/tool/output 真实进展;节点可投影 active/quiet/suspected-stall/probing/needs-attention;静默 stall 会受控终止,退出无法确认时禁止自动重试;Pi absolute max 对齐 4h;Worker 默认不再给 `run-dag` 设置外层 wall-clock,显式 `worker.timeout_ms` 仍为 hard timeout。
469
-
470
- ### 改进
471
-
472
- - backend-test 第 7 节点现在只执行最终 Markdown `自动化映射` 明确声明且安全校验通过的 pytest 脚本,避免历史或无关 `test_*.py` 混入本轮 JUnit/HTML;空映射、缺失脚本或越界路径会 fail-closed。
473
- - backend-test HTML 报告升级为更清晰的用例卡片:保留测试结论、质量状态和失败概览,直接展示简洁测试场景、自动化用例名称、结果与耗时,并为通过/失败用例都展示同次执行中脱敏且有界的接口请求参数与响应结果;HTML 不再附带技术证据章节,审计路径与哈希继续保留在 facts/JUnit。
474
- - frontend-test 第四节点不再扫描或阻断 pytest、原生 Playwright、`npx playwright`、`@playwright/test` Node Playwright API 等可执行工具指令;该节点只保留 manifest、Case/AC/path、非生产 URL 和标准 `playwright-cli open` 前缀等结构与安全门禁,并强烈建议浏览器执行优先使用 `playwright-cli`。
475
- - frontend-test 用例内容、Case ID、AC 关联与 evidence 完整性检查改为 advisory:缺失或损坏的执行物料不再被自动改写为 blocked,也不阻断最终复盘;finding 汇入结构化结果,并在 Markdown retrospective 后生成中文 HTML 建议报告。路径越界、跨用例 evidence 引用、writeSet、生产环境与凭据安全仍保持硬门禁。
476
- - frontend-test checklist JavaScript 通过 Base64 参数交给 Node 解码执行,并修正变量声明顺序与重复语句,避免 Git Bash 将 `\s` / `\d`、反引号或引号破坏后再交给 Node。
477
- - 新初始化项目的 harness 指南同步 adaptive liveness、4h absolute max、stall 状态与 `termination-unconfirmed` 处置;旧项目可由 `init check-update` 识别未修改的受管指南,并通过 `init update --apply-safe` 安全刷新。
478
-
479
- ## [0.20.1] - 2026-07-24
480
-
481
- ### 新增
482
-
483
- - LLM/provider 偶发失败时可在同节点自动重试;reviewer 漏写 `VERDICT` 等协议错误也会在节点内纠错重试,不必等下游 gate 才失败
484
- - 新增 `loop-agent dag rerun`:在安全资格通过时,从选定节点重跑只读子图,并保留父 run 证据与 import 审计
485
- - 新增 `loop-agent dag rerun-task`:一键完整重跑 standalone 任务(重新生成、校验并执行),不修改父 run
486
- - Operator Console Recovery 提供明确动作:从节点重跑、完整重跑任务、重新排队 Worker Task(不再使用含糊的「重试」)
487
- - 前端规范读取将知识库与 `openspec/` 作为并列来源:无论知识库是否可用或命中,均继续递归枚举 `<repoRoot>/openspec/**` 并读取索引与任务相关规范正文。`discoverFrontendProjectCapability` 在没有 `package.json` 或 `package.json` 不可读时仍能发现 `openspec/**` 规范候选。
488
- - 前端预写门禁会校验 plan/design-review 的真实读取事件;生成期存在 `openspec` 规范候选但没有成功读取匹配文件时,在 writer 执行前阻断 DAG 并列出候选路径、检查节点和原因。
489
- - Dashboard 规范证据 API/UI 分别展示知识库查询、`openspec` 检索和 `openspec` 成功读取证据,三种类别独立展示。
490
- - 前端规范证据 API 新增 `openspecReads` 与 `openspecSearches` 字段,与通用 `specReads`/`specSearches` 并行。
491
-
492
- ### 改进
493
-
494
- - backend-test 第 4 个 Markdown 校验节点只将前置条件、操作步骤和预期结果作为必需章节;需求来源引用有效性不再阻断后续测试。普通质量问题保持 advisory,但 secret-shaped 值会先生成脱敏安全报告再 fail-closed,避免进入 pytest、HTML/facts 和最终报告。
495
- - backend-test 生成的真实 HTTP pytest 现在必须输出脱敏且有界的请求/响应日志,包含 method、URL/path、请求参数摘要、响应状态和响应 body 摘要;追溯节点会在 Markdown 映射脚本范围内把日志合同缺口记录为 advisory。
496
- - backend-test 第 7 节点的 HTML/facts 按测试概览、质量校验、失败概览、用例执行明细和技术证据分层展示;第 8 节点使用固定简洁的中文收口结构,减少重复原文并优先展示结论和风险。
497
- - Operator Console「恢复」面板自动拉取 DAG 运行与节点候选,优先展示失败项并以选择器填入,仍可手动输入
498
- - 从节点重跑预检失败时展示真实安全资格阻断原因,不再误报为「无法获取 planHash」
499
- - 恢复页长操作(完整重跑等)会回写终态成功/失败;不再只提示「已接受」后无下文
500
- - 恢复原因按所选 run/节点与失败事实自动预填,并给出三步操作指引;手动编辑不会被覆盖
501
- - 恢复页将「DAG 运行恢复」与「Worker Task 重排队」分成独立区域,避免把 runtime DAG 与 Task Pool 动作混在一起
502
- - 恢复页去掉高亮「打开检视」,避免与顶部「观测」入口重复误点;需要时用「侧栏预览」或「全屏观测」
503
- - 恢复页「侧栏预览」在本页打开可关闭;全屏观测顶栏改为「返回操作台」
504
- - 修复侧栏预览:兼容 Observe 的 `nodeId`/`label`,并安全格式化 session-events(避免 React 渲染对象导致整页空白)
505
- - 恢复 CTA:查看报告改走 `dag report`(按 run ID);推荐动作仅用橙色主按钮标出,悬停看说明
506
- - 从节点重跑 / 完整重跑任务点击后,在按钮下方出现「确定 / 取消」确认条
507
- - 恢复页不再展示仅弹 CLI 提示的按钮(如「重新生成契约/计划」)
508
- - 「查看报告」在按钮下方展示交接摘要(失败分类与建议),不再只闪顶部提示
509
- - 控制器指纹漂移错误改为中文提示:请重启 Console,勿在会话中途重建
510
- - frontend-test 环境预检:在生成用例前对冻结的非生产 `baseUrl` curl 可达性探测;不可达或缺少 curl 时以 `frontend-base-url-unreachable` / `curl-unavailable` 阻断 generate/map,并写入 `environmentProbe` 事实。节点 5 manifest 物化改为 ruleId 失败分类、map 配额预检与 temp+rename 原子写入;生成/清单/执行强制 playwright-cli-only,U/D 场景要求当前用户数据归属或 create/Mock/blocked
511
- - 前端测试 DAG 的证据自检改为按用例降级:个别缺失、空白或格式错误的证据会如实标为 blocked 并继续生成复盘报告;只有全部用例都未产生任何证据内容或证据路径不安全时才失败。
512
-
513
- ### 修复
514
-
515
- - Observe 总览 KPI 问号提示框宽度与窄卡片解耦:提示框使用稳定的 240–280px 视口安全宽度,并在五列、三列和两列布局的右侧列向内对齐,避免宽屏下被压缩成约 78px 的窄条;hover 与键盘焦点行为保持不变。
516
- - 节点检查器的规范证据文件预览会渲染 Markdown 标题、列表、表格与代码块,不再把正文作为带语法标记的纯文本显示。
517
-
518
- ## [0.20.0] - 2026-07-23
519
-
520
- ### 新增
521
-
522
- - 继续收紧前端实现证据门禁:禁止空 verification contract,校验验证目标与 requirement/UI state/授权路径绑定;新版 review context 缺失 writer baseline 时直接阻断,非 `not-needed` Mock 策略必须提供 endpoint consumer 证据。
523
- - 前端写入前重新校验 DAG 绑定源文件的 SHA-256;Mock endpoint 现在必须声明 fixture 与 consumer,且验证 trace 必须记录成功的 Mock 命令。
524
- - 前端验证 bundle 现在冻结实际命令文本,并将实现契约 targets 限制在 writer writeSet 内,避免验证证据与可写范围漂移。
525
- - 同步前端 prewrite/review context 的 DAG JSON Schema,避免生成 DAG 因 freshness、writeSet 或 baseline 字段漂移而被错误拒绝。
526
- - 前端 prewrite 现在强制校验需求源新鲜度,验证 Schema 也要求声明实际命令文本,减少旧 DAG 和证据配置的隐式降级。
527
- - 前端实现 DAG 的验证命令与侦察范围改为从目标项目自身的 package scripts、包管理器和允许路径推导,不再假设目标项目沿用 loop-agent 的目录与命令布局。
528
-
529
- ### 改进
530
-
531
- - 前端实现 DAG 的验证命令与侦察范围改为从目标项目自身的 package scripts、包管理器和允许路径推导,不再假设目标项目沿用 loop-agent 的目录与命令布局。
532
- - 后端测试用例默认生成中文 README 索引与模块用例卡片,步骤、预期、需求依据和自动化映射更便于测试、研发与评审人员阅读。
533
- - 后端测试 HTML 主报告现在逐条展示用例编号、中文名称与场景、脚本、测试函数、结果、耗时和失败原因,完整技术详情可折叠查看。
534
-
535
- - streamline implementation DAG (#61)
536
- - improve human-readable artifacts
537
-
538
- ### 修复
539
-
540
- - relax traceability mapping
541
-
542
- ## [0.19.0] - 2026-07-23
543
-
544
- ### 重点更新
545
-
546
- - Operator Console 统一整合 Operate 与 Inspect,在同一服务即可检视只读 Dashboard、DAG、时间线与 artifacts
547
- - 原 Observe 服务进入兼容期,仍可运行但会输出迁移提示,引导平滑过渡到统一控制台
548
-
549
- ### 新增
550
-
551
- - 新增统一 Operator Console:`console serve` 同时提供 Operate 与 Inspect,支持通过 `/inspect/` 直接检视运行详情与 DAG
552
- - Console 健康检查接口升级,包含 Inspect 就绪状态与路由能力信息
553
- - `console serve` 新增局域网绑定(`--host 0.0.0.0`)与调试日志(`--debug`)选项,并在非本地访问时保留安全校验
554
-
555
- ### 改进
556
-
557
- - `frontend-implementation` 保留独立 contract/scout,并把 Mock 策略与 implementation contract 合入 plan,把写前授权、验证/失败评估、复验和 review context 分别收敛为组合 shell 节点。standard/high-risk 固定 15 个顶层节点、small-risk 13 个;绿色路径执行 11 个节点、7 次 Pi,同时保留唯一 prewrite 写入授权、同 writeSet repair、真实 diff review 与 fail-closed closeout。
558
- - 加强前端实现节点的证据链:Trace 只绑定本次实际成功执行的验证命令,契约兼容转换不再补入占位文件或默认验证目标,Prewrite 要求上游节点明确完成,review context 校验 artifact 绑定,并以 writer 前工作区快照隔离既有用户改动。
559
- - 优化操作与观测统一界面的导航与布局,合并确认与运行为「开始运行」,DAG 详情跳转路径更加准确
560
-
561
- ### 修复
562
-
563
- - 修复执行计划索引将命名约定占位符(如 `YYYY-MM-DD-<topic>.md`)误判为缺失计划引用的问题
564
-
565
- ## [0.18.1] - 2026-07-22
566
-
567
- ### 重点更新
568
-
569
- - 放宽后端测试 Markdown 用例的映射与验收标准校验,减少合法用例被误拦截的情况
570
- - 修复文档审计报错未阻断 CI 的治理漏洞,并全面修正失效链接
571
- - 清理发布日志中残留的已发布记录,避免将已上线能力误展示为未发布
572
-
573
- ### 修复
574
-
575
- - 放宽后端测试 Markdown 用例的每条补充 Case 必须包含 AC 标识的硬性要求,改为确保任务要求的业务 AC 场景至少被一条最终用例覆盖即可,整体缺失必需 AC 时仍会严格阻断
576
- - 放宽后端测试 traceability 映射校验,Case ID 可位于测试函数名、装饰器、函数体或文档字符串区域,不再强制首行文档字符串或严格一对一映射,避免重复映射等情况导致的误阻断
577
- - 修复文档审计在发现错误时未返回非零退出码导致 CI 假绿的问题,并将链接门禁覆盖范围扩展至完整的 docs/ 目录
578
- - 修正文档报告分类迁移后遗留的 269 条失效链接
579
- - 修复自动发布创建版本区块时未正确消费已发布内容并清理残留记录的问题,移除了随 0.18.0 版本发布的 59 条残留日志
580
-
581
- ## [0.18.0] - 2026-07-22
582
-
583
- ### 重点更新
584
-
585
- - 后端测试全面采用 Markdown 优先工作流,整合环境预检、独立审查与确定性门禁,单次执行即可生成完整测试报告。
586
- - 前端实现与测试流程大幅优化,按需执行计划修订与验证,常规全绿路径执行节点数量显著减少。
587
- - 修复多项严格校验导致的误中断问题,大幅提升 Markdown 用例生成、追踪映射与异常清理的兼容性。
588
- - 优化 Pi CLI 与 SDK 执行器,彻底解决长文本输出导致的内存溢出与进程卡死问题。
589
-
590
- ### 新增
591
-
592
- - 引入 Markdown 优先的后端测试工作流,支持环境预检、独立审查用例并生成自包含的 HTML Markdown 报告。
593
- - 新增升级后的初始化面通知器,在检测到版本不一致时自动提示安全更新或引导人工处理。
594
- - 新增统一的初始化协调命令,支持安全应用更新并智能处理各类阻断情况。
595
- - 测试报告新增 L-5 指标消费与统一的代码覆盖率报告入口,支持 Python 与 Java 测试数据。
596
-
597
- ### 改进
598
-
599
- - 前端实现绿色路径改为按需分支执行,常规无错路径可少执行多个节点,提升执行效率。
600
- - 前端测试用例生成现可自动解析明确的 baseUrl,不再保留占位符,避免执行异常。
601
- - 前端测试复盘报告写入路径调整,支持安全禁止整个 docs 目录的写入权限。
602
- - 夜间自动发布机制优化为双基线检测,手动补丁不再抹除同周期的功能信号。
603
- - GitHub Actions CI 优化执行策略,合并任务并跳过纯文档变更,有效降低私有仓库分钟消耗。
604
-
605
- ### 修复
606
-
607
- - 修复 Markdown 用例追踪映射将 HTTP 状态码等数字误识别为用例 ID,以及无法正确识别带返回类型标注的测试函数的问题。
608
- - 修复 Markdown 用例门禁误拒绝合法的列表断言,以及无法正确解析相对路径绑定文件的问题。
609
- - 修复 Pi CLI 执行器将单个节点完整标准输出累积为单一字符串,导致长文本输出时内存溢出或卡死的问题。
610
- - 修复 Windows 环境下因清理环境变量导致 Python 和 pytest 无法正确发现用户级依赖的问题。
611
- - 修复初始化演进的高影响校验未覆盖专用路径,导致必要审查被静默跳过的问题。
612
-
613
- ## [0.17.2] - 2026-07-22
614
-
615
- ### 改进
616
-
617
- - Operator Console Happy Path 补齐:主导航(任务/恢复/模型与认证/设置)、newTask / importPrd、grill-me Interview(一次一问 + assessment)、SSE 运行跟随;Pi readiness 可刷新。
618
- - Operator Console 页面交互文案改为中文(导航、向导步骤、按钮与状态说明);产品名与 CLI 命令仍保留英文术语。
619
- - Operator Console 界面与交互美化:暖色画布、胶囊导航、步骤进度条、统一按钮层级与状态条,运行面板元信息更清晰。
620
- - Operator Console Happy Path 增加「流程类型」选择(后端研发 / 前端研发 / 后端测试 / 前端测试),写入 `taskKind`;访谈枚举同步支持 `frontend-implementation` 与 `frontend-test`。
621
- - Console Happy Path 去掉单独的「创建任务」步骤:导入需求时根据 PRD 标题自动生成任务名称与 canonical taskId,并一键创建任务 + import-prd。
622
- - Operator Console 需求访谈可跳过:一键按 grill-me 推荐补齐草稿并签发评估,可直接进入契约校验。
623
- - Operator Console 将「校验契约 / 应用契约 / Spine 审计」合并为「契约落地」:自动确定性校验与差异,人工确认一次应用,成功后自动 Spine。
624
- - Observe 运行看板视觉对齐 Console:暖色渐变画布、胶囊导航、柔和面板阴影与状态点,减少高饱和色块;进一步统一 badge/表格/风险块/时间线/DAG 图与 inspector、对象关系条与推荐命令等视图组件。
625
-
626
- ### 修复
627
-
628
- - Console Draft 在 validate/diff/apply 前会投影为 CLI 严格 schema:补齐 `constraints.invariants`,并去掉仅 Console 使用的 `updatedAt`,避免误报 draft schema validation failed。
629
- - 修复访谈完成后绑定 `interviewAssessmentRef` 会立刻让 assessment 过期的问题:`draftSha256` 不再纳入该绑定字段;finalize 时先清空 `openQuestions` 再签发 assessment。
630
- - 修复 Console `contractApply` 默认传入 `expectedObservedHash=unknown` 导致 OBSERVED_HASH_CONFLICT / 页面只见 `exit 1`:改为先 `task contract show` 再传真实 revision/hash;异步操作失败时展示 CLI 错误信息。
631
- - 修复应用契约后界面卡住:轮询操作结果时误读 `{ ok, operation }` 响应,一直等到超时且无法进入 Spine。
632
- - 修复 DAG 确认准备失败:不再提交空 stub DAG;`prepareDagConfirmation` 会经 `dag run-task` 生成真实 DAG;`dag validate` 接受 `--json` 兼容 Console。
633
- - 修复 Console `runDag` 因 `run-dag --json` 未识别而失败:CLI 现接受该旗标(输出本就为 JSON)。
634
- - 运行 DAG 不再用短超时阻塞整页:`runDag` 改为后台接受 + SSE 跟随;Observe 按钮与任务 busy 解耦,运行中可打开。
635
- - Console 打开 Observe 时,若只给 taskId,会解析该任务最新 DAG run 并跳转 `#/dag/<runId>`,不再误开 `#/task/<taskId>`。
636
-
637
- ## [0.17.1] - 2026-07-22
638
-
639
- ### 修复
640
-
641
- - TaskSpec materialize 在写入 task.json、需求和约束后会自动 adopt 或刷新 managed Task Contract,避免生成 v4 DAG 后立刻因 binding drift 无法 validate/run。
642
- - Operator Console 的 Pi readiness 改为真实探测 SDK、认证和可用模型;本机已配置 Pi 时不再误报 `setup-required`,界面同步对齐 Observe 暖白画布。
643
-
644
- ## [0.17.0] - 2026-07-22
645
-
646
- ### 新增
647
-
648
- - streamline report-first workflow (#53)
649
- - add operator console, task contract, and harden bindings (#51)
650
- - condition DAG design and repair branches
651
-
652
- ### 修复
653
-
654
- - synchronize console frontend lockfile (#52)
655
- - tolerate mock strategy format drift
656
- - bound executor output
657
-
658
- ## [0.16.26] - 2026-07-22
659
-
660
- ### 修复
661
-
662
- - Git checkpoint `allowed_paths` 内的 **gitignored 证据文件**(如 dogfood `reports/welcome/final/*.json`)执行 `git add -f` 纳入 checkpoint;敏感路径与范围外 ignored 文件仍 fail-closed。修复 FINAL-VERIFY DAG/report 已绿却因 ignored evidence 记 `record-error`、Task Pool Running 的 Delivery 阻断。
663
-
664
- ## [0.16.25] - 2026-07-22
665
-
666
- ### 修复
667
-
668
- - Backend-test pytest preflight 与执行体改为 `&&` fail-closed:preflight 失败不再因 `;` 继续跑 pytest(I27 曾出现 preflight 报 `WELCOME_BASE_URL`/testRoot 错配仍执行用例)。
669
- - 本地 `npm start` / `node server.js` `managed-command` materialize 时降级为 `in-process`,清空 requiredEnv、seed server fixture,并把 scout `testRoot` 收敛到冻结根 `testcase/`;generate-pytest 提示要求 fixture 内启动服务,不再依赖 clean-env 注入 base URL。
670
-
671
- ## [0.16.24] - 2026-07-21
672
-
673
- ### 改进
674
-
675
- - frontend-test 默认改为**短链 RAG**:`reviewMode` 默认 `off`(机械 `frontend-case-checklist-shell` 放行,不再默认双轮 LLM review 硬门);`strictOutcomeGate` 默认 `false`(outcome 全绿门 opt-in)。**流程验收=最终 retrospect 报告**,不以 case 100% 通过为条件。map 仅在 `dynamicExpansion.tolerateChildFailures=true`(frontend-test 默认开启)时将 child auth/timeout/executor 错误落 case-level blocked/failed evidence 且不炸 map closeout;其它 map 仍 fail-closed
676
- - Shell `verdictGate` 改为纯 `node -e` 单次调用,降低 Windows Git Bash 复合脚本崩溃风险。
677
-
678
- ### 修复
679
-
680
- - Windows DAG Shell/verification 的 clean environment 现在保留 `APPDATA`,使 Python 3.12/pip 可按系统规则发现用户级 `site-packages` 与其中的 pytest;仍不会继承完整宿主环境或透传未授权 token/credential,backend-test 无需硬编码用户路径。
681
-
682
- ## [0.16.23] - 2026-07-21
683
-
684
- ### 修复
685
-
686
- - DAG runner 在归档到 `completed/` 前停止 heartbeat 并排空 state 写队列。避免 terminal 节点全 FINISHED 后仍因 completed-facts write guard 拒绝写 `state.json` 导致 `run-dag` 非零退出、Worker 记 `run-error`/Task Pool `Blocked`。
687
-
688
- ## [0.16.22] - 2026-07-21
689
-
690
- ### 修复
691
-
692
- - Git checkpoint `allowed_paths` 审计与 shell write-guard 对齐:忽略 `.playwright-cli/**` 等 ephemeral tool cache。frontend-test 浏览器用例与 `frontend-test-result` 已绿时,不再因 playwright-cli 会话落盘导致 promote/closeout `record-error`。
693
-
694
- ## [0.16.21] - 2026-07-21
695
-
696
- ### 修复
697
-
698
- - DAG `sourceBinding.requirementIds` 优先取任务 `需求.md` 的 `## Acceptance References`(TaskSpec `acceptance_refs`),不再把 Feature 整份 `acceptance.yaml` 的兄弟 AC 扫进本任务。修复 frontend-test 用例全绿却因 `AC-CONTRACT-*` missing 判 incomplete 的假失败。
699
-
700
- ## [0.16.20] - 2026-07-21
701
-
702
- ### 修复
703
-
704
- - Shell write-guard 忽略 playwright-cli 默认会话落盘 `.playwright-cli/**`(console/page dump)。frontend-test 浏览器用例已把权威证据写到 `testcase/frontend/evidence/**` 时,不再因工具缓存误拦 exclusive writer。
705
-
706
- ## [0.16.19] - 2026-07-20
707
-
708
- ### 修复
709
-
710
- - frontend-test result 物化在比较 evidence 路径前先 `realpath` 仓库与 evidence 根,避免 macOS `/var`→`/private/var` 导致的 `evidence realpath escapes its allowed root` 误拦。
711
-
712
- ## [0.16.18] - 2026-07-20
713
-
714
- ### 修复
715
-
716
- - frontend-test 执行预检改为硬校验绝对非生产 `baseUrl`(优先 config.md,缺省 `http://localhost:5173`);fixture/reset 不再作为 preflight 硬门,避免中文隔离叙述因缺少英文 `reset` 被误拦。
717
-
718
- ## [0.16.17] - 2026-07-20
719
-
720
- ### 修复
721
-
722
- - backend-test execution 合同在 `in-process` 且 `existingFixtures: []` 时注入非秘密默认 fixture(优先 server bootstrap),避免 near-schema 侦察输出在 contracts 门 fail-closed。
723
-
724
- ## [0.16.16] - 2026-07-20
725
-
726
- ### 修复
727
-
728
- - 动态 DAG `itemsFrom` / JSON 选择器从 shell 节点 stdout 解析时,可跳过命令回显行并提取末尾 JSON 对象,避免 frontend-test `execute-frontend-cases-map` 在 materialize 门成功后仍因 `$ node -e ...` 前缀失败。
729
-
730
- ## [0.16.15] - 2026-07-20
731
-
732
- ### 修复
733
-
734
- - frontend-test case manifest 校验接受 `evidenceDir` 为 `testcase/frontend/evidence/<caseId>` 目录根(不必强制尾斜杠/子路径),避免生成节点写出合法目录后被 materialize 门误杀。
735
-
736
- ## [0.16.14] - 2026-07-20
737
-
738
- ### 修复
739
-
740
- - `frontend-test` materialize / path audit 自动并入 `testcase/frontend/**` 与 `docs/test-reports/**`,与 hybrid frontend-test DAG 生成约束对齐,避免 TaskSpec 仅声明 `tests/e2e/**` 时 `dag run-task` 直接失败。
741
-
742
- ## [0.16.13] - 2026-07-20
743
-
744
- ### 修复
745
-
746
- - backend-test 的 `finalize-effective-result` 管道在节点完成后绑定 `contracts/backend-test-result.json` 为 structured artifact,使 Outcome 投影出 `backend-test-result`,解除 FE-TEST Ready Planner 对 BE-TEST 产物门的误阻断。
747
-
748
- ## [0.16.12] - 2026-07-20
749
-
750
- ### 修复
751
-
752
- - `backend-test` materialize / Git checkpoint 自动并入 `testcase/**`(与 `docs/test-reports/**`)运行时写根,避免 TaskSpec 仍写 `tests/api/**` 时绿跑无法 promote、任务卡在 Running。
753
-
754
- ## [0.16.11] - 2026-07-20
755
-
756
- ### 修复
757
-
758
- - Worker 报告决策不再把条件分支的 `SKIPPED` 节点当成失败;backend-test 等混合 DAG 在 revise/repair 未选中时,只要 ERROR 不存在且 run finished,即可 `report-completed` 并进入 Outcome/promote。
759
-
760
- ## [0.16.10] - 2026-07-20
761
-
762
- ### 修复
763
-
764
- - 后端测试执行合同物化会清理 `managedCommand` 中的空字符串(如 `stop: ""`),避免 near-schema 侦察输出在 strict parse 下误拦 in-process BE-TEST。
765
-
766
- ## [0.16.9] - 2026-07-20
767
-
768
- ### 修复
769
-
770
- - Outcome 结构化产物声明不再绑定节点 mint-time sha256;同一路径若被后续 gate(如 backend-test traceability)就地改写,投影时以磁盘重算 hash 为准,消除 BE-TEST 完成态仍被 `artifact sha256 mismatch` 误拦。
771
-
772
- ## [0.16.8] - 2026-07-20
773
-
774
- ### 修复
775
-
776
- - Outcome 投影对同一 run-owned 结构化产物路径的多次 rewrite(如 backend-test case manifest initial→final)只保留最后一次 hash 声明,避免 `artifact sha256 mismatch` 误拦已完成的 BE-TEST。
777
-
778
- ## [0.16.7] - 2026-07-20
779
-
780
- ### 修复
781
-
782
- - 前端实现合同物化支持 free-form plan JSON 归一化(GWT/对象 UI 状态、requirementCoverage、mock productionDefaultOff),避免 FE-IMPL 在 `frontend-implementation-contract-shell` 因字段漂移误拦。
783
-
784
- ## [0.16.6] - 2026-07-20
785
-
786
- ### 修复
787
-
788
- - write guard 忽略 `__pycache__` / `.pytest_cache` 等 ephemeral 解释器缓存,避免 backend-test 生成节点本地冒烟 pytest 时被误拦;并明确 generate-pytest 节点不负责执行测试。
789
-
790
- ## [0.16.5] - 2026-07-20
791
-
792
- ### 修复
793
-
794
- - 后端测试分析/执行合同物化支持 free-form 环境侦察与 GWT/嵌套 endpoint 形状的严格 schema 归一化,避免 BE-TEST 在 contracts 门被模型字段漂移误拦。
795
-
796
- ## [0.16.4] - 2026-07-19
797
-
798
- ### 修复
799
-
800
- - 后端测试 `backend-test-semantic-final-gate-shell` 改为复合 pipeline `semantic-effective`,不再手写读 contracts 的 inline shell,避免 `--strict-governance` 误判为 fragile verdict gate 并阻断 BE-TEST DAG 校验。
801
-
802
- ## [0.16.3] - 2026-07-19
803
-
804
- ### 修复
805
-
806
- - 前端实现 DAG 在 review 前新增确定性 `frontend-worktree-diff-shell`,写出 run-owned `diff_patch` 与清单,避免 review 因找不到 actual diff 而误拦截。
807
-
808
- ## [0.16.2] - 2026-07-19
809
-
810
- ### 修复
811
-
812
- - 前端 `frontend-implementation-contract-shell` 物化时用 DAG 权威 `sourceBinding` 覆盖模型输出,避免模型错绑 requirement 路径/哈希或额外引用路径导致实现链在设计门后 fail-closed。
813
-
814
- ## [0.16.1] - 2026-07-19
815
-
816
- ### 重点更新
817
-
818
- - 修复全栈 dogfood 产物与恢复缺口:`produces.path` 可投影为 hash-bound Outcome、closeout 证据迁入 `.harness/`、成功任务 Git checkpoint 先于 Task Pool Done,并补齐 reconcile / mark-failed / advance-checkpoint
819
- - 收紧夜间自动发布门槛:至少一个可发布 Conventional Commit,且稳定 tag 后总提交数 ≥ 5 或距上次发布满 1 天,才自动发版
820
- - 将根 README 收敛为产品入口,本地环境排障说明独立成篇,降低首次阅读噪声
821
-
822
- ### 新增
823
-
824
- - 新增分支合并规范:按影响自动选择快速、标准或深度模式,统一双方功能保留审查、冲突解析、source-SHA 报告与 init/package 影响校验
825
- - `.gitignore` 与 `loop-agent init` managed block 现忽略 `.harness/dogfood-evidence/`,避免把 fullstack / Worker dogfood 本地战役证据误提交
826
-
827
- ### 改进
828
-
829
- - Observe DAG 详情移除依赖图下方重复的层级节点列表,并为节点表增加连续序号,浏览执行结构时更紧凑、更易定位
830
- - README 仅保留定位、适用问题、5 分钟开始、核心边界和文档导航;Agent DAG、Worker、发布与运维细节统一下沉到专题文档
831
- - Cursor Cloud 等环境排障说明从 `AGENTS.md` 迁至 `docs/local-development-environment.md`
832
-
833
- ### 修复
834
-
835
- - 全栈 dogfood 修复批次:reviewed/supervised DAG 增加一次性 review VERDICT 格式恢复;shell 改为非 login `bash -c`;PATH/VERDICT 格式失败分类对齐 EnvFailure/ContractMismatch
836
- - 旧目标项目可用 `init check-update` / `update --apply-safe` 刷新 ignore 区块以忽略 dogfood-evidence
837
-
838
- ## [0.16.0] - 2026-07-19
839
-
840
- ### 重点更新
841
-
842
- - Eval Lab 落地受控评测外环,支持 candidate 矩阵编排、Context Policy A/B dogfood 与 Ignition 研究门禁,全程 autoPromote=false,晋升须人工审核
843
- - Worker 新增 TaskSpec 显式工作流路由,为四类任务生成带哈希锚定的 Task Outcome,并在晋升前校验 run_record、dag_json 等必需产物
844
- - 新增 fullstack-v1 Feature Profile,支持确定性结构门禁与 Feature Verification Bundle v1,交付与收尾阶段任一身份漂移或产物篡改均阻断发布
845
- - Eval Lab 落地固定预算运行时,DagSpec v3 可声明硬预算门禁,超限 fail closed 并输出预算账本,缺失 token 不被当作 0
846
-
847
- ### 新增
848
-
849
- - Eval Lab 新增 Context Policy A/B dogfood 脚本,串联 corpus/candidate/campaign/scorecard 与人工 promote(默认 dry-run),不改 DAG 默认策略
850
- - Eval Lab 新增 Ignition 研究门禁命令,记录多代 proposer 并给出趋势 verdict,恒为研究用途,不自动晋升
851
- - Eval Lab 新增 Corpus 契约命令与 dogfood 样板清单(15 个异质任务,public/private/held_out 齐全)
852
- - Eval Lab 新增 public/private campaign private-verifier,支持多 seed 可重复计划与 candidate 内容泄漏门禁
853
- - Eval Lab 新增 anti-hack 审计与 Promotion Policy v1,检测验证弱化与可疑 outlier,promote 须通过多项门禁且默认 dry-run
854
- - Eval Lab 新增固定预算运行时,支持按节点累计资源消耗,硬门禁超限 fail closed 并写出 budget-ledger
855
- - Eval Lab 新增可切换 Context Policy(baseline-v1 默认与原先一致,role-specialized-v1 按角色调整预算)
856
- - 新增 fullstack-v1 dogfood Feature F-2026-005,提供零依赖可运行目标仓与双覆盖验收样板
857
- - 新增 fullstack-v1 Feature Profile,对 packet 执行确定性结构门禁,未声明 profile 的 legacy packet 行为不变
858
- - AcceptanceSpec verification 新增可选的实现/验证任务引用、required_evidence 与 integration 声明,保留 legacy 字段兼容
859
- - TaskGraph 节点新增可选 consumes/produces 声明与 Ready Planner artifact gate,上游产物不可验证时下游阻塞
860
-
861
- ### 改进
862
-
863
- - TaskSpec 支持可选 execution.workflow,可确定性物化为任务 DAG 类型并展示在 Worker、Task Pool、晨报与 Observe
864
- - Ready Planner 明确仅做 envelope 级绑定,不重算产物文件 sha256,文件级 hash 在 Outcome projection 与 Feature Verification Bundle 执行
865
- - DAG 节点 authoring guidance 明确 Pi 是唯一受治理 writer,cursor-prompt 仅作手工 one-shot sidecar
866
- - Eval Lab propose 与 experiment 命令支持有界提出 experimenting candidate,accept/reject 须通过 scorecard 门禁,不自动改写已接受 skill
867
- - 文档基线全面校准至 0.15.0,同步半年规划、仓库分析与路线图,harness Pi MED 路由至 grok-4.5
868
- - Eval Lab dogfood 脚本改为可安全重复运行,并记录 promote --apply 序列供后续分析
869
-
870
- ### 修复
871
-
872
- - 对齐 Task Outcome 与 Ready Planner 契约:Ready 仅做 envelope 级绑定,Outcome 产物补齐独立 schemaId,失败时写入 outcomeFailure
873
- - 规范化 shell_verification 为标准 evidence token(兼容旧 shell-verification),未知 outputs.required token 保持兼容不阻塞
874
- - 清理 0.15.0 版本仍残留在 Unreleased 区块的更新日志条目
875
- - Eval Lab 运行态(candidate/campaign/scorecard)现被 .gitignore 忽略,旧项目可用 init check-update 刷新 ignore 区块
876
-
877
- ## [0.15.0] - 2026-07-18
878
-
879
- ### 重点更新
880
-
881
- - 新增 Pull Request 的只读 AI 自动审查,自动检查代码缺陷与测试缺口并更新评论
882
- - 引入内部测试版本夜间自动发布工作流,主干达标后自动更新版本并发布
883
- - 收紧 npm 发布包范围,仅保留 init runtime 必需的文档和脚本
884
- - 修复预发布版本被误发布至 latest 的风险,发布门禁改为按版本号状态严格限制
885
-
886
- ### 新增
887
-
888
- - 新增 Pull Request 的只读 AI 自动审查:在创建、重新打开、转为 ready 或更新提交时检查 bug、测试缺口、runtime boundary 等,并更新单条 PR 评论
889
- - 新增内部测试版本夜间自动发布:达到提交门槛并通过发布检查后,自动更新版本、生成中文说明并发布 GitHub Release npm
890
- - 新增面向内部研发人员的轻量 GitHub 协作指南和简短 Pull Request 模板,统一采用短分支与 Squash Merge 的最小协作闭环
891
- - 新增 `.editorconfig` `.gitattributes`,统一常见文本文件的 UTF-8、LF、缩进和文件末尾换行约定
892
-
893
- ### 改进
894
-
895
- - 收紧 npm 发布包中的 `docs/` 范围:只保留 init/runtime 所需的治理文档、architecture、skills 与 templates
896
- - 收紧 npm 发布包中的 `scripts/`:只保留知识库实际调用的脚本,不再打包源仓治理检查与 `.sh` 包装
897
- - 前端实现 DAG `frontendMock.policy=auto` 不再因为目标项目缺少 Mock 能力而阻塞,无确认能力时自动跳过并保留真实请求默认路径
898
- - 文档基线全面校准至 0.14.0,修复了多处的文档索引遗漏与旧路径引用
899
-
900
- ### 修复
901
-
902
- - 修复私有仓库 AI PR 审查因通过网页 `*.diff` 地址拉取差异导致 404 的问题,改为经 GitHub API 获取 diff
903
- - 修复预发布版本误发布到 `latest` 的问题:发布门禁改为按版本号的 prerelease 状态限制 dist-tag,beta prerelease 仅允许 `beta` tag
904
- - 修复网站更新日志(Changelog)的版本插入位置错误:新版本段落不再错误地插入到读者摘要之前,保持页面结构正常
905
- - 修复网站更新日志中残留的 `[Unreleased]` 块未随版本发布移除的问题
906
-
907
- ## [0.14.0] - 2026-07-18
908
-
909
- ### 重点更新
910
-
911
- - 新增夜间自动发布工作流,主干达到提交门槛后自动更新版本、生成说明并发布
912
- - 运营看板重构为执行面优先布局,并新增可展开的富执行过程时间线
913
-
914
- ### 新增
915
-
916
- - 定时触发的 GitHub Actions 夜间发布工作流,支持 dry-run 预演与正式发布
917
- - 运营看板新增执行过程时间线,支持展开查看工具调用与 AI 正文,并记录时间戳
918
- - 资源池默认手动刷新,突出展示需处理和 Ready 状态的任务
919
- - 总览页改为执行面 KPI 与风险并排展示,节点检查器默认半屏显示
920
-
921
- ### 改进
922
-
923
- - 发布说明支持 OpenAI 兼容模型生成,并在模型不可用时自动回退到保守摘要
924
- - 破坏性变更识别改为严格遵循 Conventional Commits 规范,避免因正文提及该词而误判
925
-
926
- ### 修复
927
-
928
- - 修复模型返回的 JSON 包含 Markdown 代码块导致解析失败、发布说明始终回退为默认摘要的问题
929
- - 修复提交信息中包含 'breaking change' 字样被误判为破坏性变更从而阻断发布的问题
930
- - 补充 format-pool.d.ts 类型声明文件,修复 CI 类型检查报错
931
-
932
- ## [0.13.0] - 2026-07-18
933
-
934
- - 前端实现流程新增需求合同、风险识别、项目能力检查、有界修复和验证追踪;高置信度前端需求可自动进入专用流程。
935
- - 后端自动化测试会在生成 pytest 前确认执行环境和需求覆盖,并区分产品、测试与环境问题。
936
- - Observe 看板采用增量刷新,保留焦点、滚动位置和当前节点;节点输出、执行过程与规范证据切换更稳定。
937
- - 新增 `browser-tools` 和前端浏览器测试用例生成能力,full init 后可直接在目标项目使用。
938
- - Task Pool 按 `{ featureId, taskId }` 识别任务,并新增检查、迁移和 Ready 计划预览命令。
939
- - 新增 Eval Replay 与 Candidate Registry,用于重放证据、比较候选并审计候选运行关联。
940
- - 旧项目可通过 `init check-update` 检查新增模板、skills 和托管配置,再用 `init update --apply-safe` 安全补齐。
941
- - Pi SDK、Windows 命令执行、自举验证和受监督任务的计划修订流程得到稳定性改进。
942
-
943
- 完整条目和迁移提示见根 `CHANGELOG.md [0.13.0]`。
944
-
945
- ## [0.12.0] - 2026-07-16
946
-
947
- - **只读 Pi 节点安全重试**:opt-in `retryPolicy`(network / rate-limit / unavailable / timeout);writer / shell 等声明策略会校验失败。见 [Agent DAG](./website/docs/guides/agent-dag.md)。
948
- - **`taskKind: backend-test`**:需求分析 → 功能用例 → pytest → 复盘。
949
- - **知识同步与业务图谱 MVP**:`taskKind: knowledge-sync`(须 `featureId`)/ `knowledge-graph-bootstrap`;`loop-agent knowledge query|graph-init|graph-materialize|graph-promote|graph-incremental-prepare`(`knowledge curate` 仍只负责 repair guidance 提案)。
950
- - **init surface 全量跟踪**:`check-update` / `update --apply-safe` 覆盖包内全部 `docs/templates/**` 与 `skills/**` 到目标目录的投影。
951
- - 详见根 `CHANGELOG.md [0.12.0]`;站上 [当前规划](./website/docs/overview/roadmap.md) 与 [功能导览](./website/docs/overview/feature-map.md)。
952
-
953
- ## [0.11.0] - 2026-07-15
954
-
955
- - **Observe 本地运营面 R1–R5**:资源池 / Task 下钻、Batch·Run 三层事实、Feature 决策详情与对象关系条、有界事件历史、ES modules 前端模块化;`observe serve` keep-alive / SSE keepalive,可选非 loopback 绑定(默认仍 `127.0.0.1`)。见 [Observe](./website/docs/guides/observe-ui.md)。
956
- - **版本化自举**:controller identity / package fingerprint / expected gate、run-owned skill snapshot、deterministic `self-host:canary`、`skills/agent-worker` 及目标镜像;dogfood Feature `F-2026-004`。
957
- - **DagSpec v3 + repair 契约**:新 DAG 携带 `runtimeContract`;supervised `repairNodeId`;run-owned controller identity pin。
958
- - **`plan create` / `plan complete` / `plan check`**:exec-plan 生命周期与 DAG 前置索引校验。见 [CLI 参考](./website/docs/reference/cli.md)。
959
- - **CLI 自更新提醒**:交互式成功命令后检查 npm 新版本;`LOOP_AGENT_DISABLE_UPDATE_CHECK=1` 可关。见 [安装](./website/docs/quick-start/installation.md)。
960
- - **init 布局收敛**:目标项目默认 `ai_workspace/loop-agent/` + `.agents/skills/`;`init update --apply-safe` 可安全迁移旧根 `docs/` / `skills/`。
961
- - **文档站 IA**:intro 概念地图与 30 分钟路径;[功能导览](./website/docs/overview/feature-map.md)、[架构导读](./website/docs/overview/architecture.md)、[当前规划](./website/docs/overview/roadmap.md);Markdown 断链构建失败;`skills/loop-agent/references/docs-converge.md` 固化文档收敛检查表。
962
- - 可选 repo-local SDD skill 嵌入;前端 DAG skill 契约与验证命令安全解析。
963
-
964
- ## [0.10.0] - 2026-07-12
965
-
966
- - **Pi-only 受治理 runtime**:DAG writer 固定 `implement-pi` / `repair-pi`;`cursor-prompt` 仅显式 one-shot sidecar。
967
- - **`agent-worker feature review|run|approve-followup|delivery|closeout|verify-final`**:Feature 决策面、薄编排、Follow-up 可批准闭环、本地 Git checkpoint、Delivery Package、Feature Closeout。
968
- - **`task draft-followup`**、**`report metrics --month`**;Morning / Observe Feature Decision Summary。
969
- - 详见根 `CHANGELOG.md [0.10.0]`。
970
-
971
- ## [0.9.0] - 2026-07-12
972
-
973
- - Observe 看板重设计为暖白运行控制台:统一信息层级、依赖图 + 节点表、右侧节点检查器、安全 Markdown;本机资源 guardrail。见 [Observe](./website/docs/guides/observe-ui.md)。
974
-
975
- ## [0.8.0] 及更早
976
-
977
- - 0.8.0:[CLI 参考](./website/docs/reference/cli.md) 补充 `task validate-feature`、`task retry`、`scripts/worker-nightly.sh` + GitHub Actions、`capabilities: [interactive-ui]`,Task Pool 唯一根 `.harness/task-pool/`。
978
- - 0.7.5:Observe 新增 DAG 依赖图可视化。
979
- - 0.7.0:interactive-ui writer-only HIGH 路由与 UI 交付契约。
980
- - 更早条目见根目录 `CHANGELOG.md`。
981
-
982
- ## 文档站点同步说明
983
-
984
- - 站上 guide / reference 与根 `docs/` 双树边界见 [架构导读 · 双树边界](./website/docs/overview/architecture.md#双树边界)。
985
- - 活能力短摘要:[`docs/reports/current-capability-summary.md`](https://github.com/tea-agent/loop-agent/blob/main/docs/reports/current-capability-summary.md)。
986
- - 冻结基线长文:[`docs/reports/2026-07-02-repository-analysis.md`](https://github.com/tea-agent/loop-agent/blob/main/docs/reports/2026-07-02-repository-analysis.md)(2026-07-16 再采样对齐 0.12.0 + 主干 Unreleased;勿当第二 CHANGELOG)。
1
+ # 更新日志
2
+
3
+ ## [Unreleased]
4
+
5
+ ## [0.26.0] - 2026-08-01
6
+
7
+ ### 新增
8
+
9
+ - Observe/看板将 DAG 机器态 `partial_failed` 展示为「部分成功」(琥珀色 badge/timeline),与红色「执行失败」区分;内部状态与 recovery 语义仍为 `partial_failed` 非成功终态
10
+ - `harness.json` 的 `executors.pi.LOW|MED|HIGH` 支持简洁对象写法 `{ model, thinking? }`,同时完全兼容既有模型字符串;显式 `thinking` 会透传到 DAG Pi 的 `modelConfig.thinking`,省略时不强制覆盖 Pi 默认(含既有 `wizard-local/gpt-5.5 → low` 硬编码例外,且显式配置优先)
11
+ - pre-push 新增本机 verification receipt:相同 Git tree、关键环境与默认 24 小时 TTL 命中时可复用已通过验证,并对仅 `docs/reports/**/*.md` 的确定性变更使用 `check-repo` + `docs:build` 轻量门禁;新分支、多 ref、dirty/HEAD 漂移等不确定场景保持 fail-closed。
12
+ - DAG Pi 模型矩阵支持 `provider/model` 限定引用,可让 LOW/MED/HIGH 通过不同 Pi provider 调用模型;裸模型名继续兼容原有映射与默认 provider,非法空组件在模型调用前安全拒绝
13
+
14
+ ### 修复
15
+
16
+ - 收紧 `frontend-project-default-implementation`:强前端项目证据(React/Vue/Next)须与具体前端 allowedPath 证据(如 `.tsx`、`src/components/**`、`apps/web/src/**`)共同出现,才作为默认前端实现依据。核心 runtime 路径(如 `src/workflows/dag/**`、`src/server/**`)与宽泛 `src/**` 不再被仓库级前端证据单独劫持到 `frontend-implementation`,模糊任务安全回退 `standard-dag`/`supervised-implementation`。`Task Type: backend-feature` 不再因项目默认前端证据被误判为 mixed,分类保持 backend、模板保持非前端。不新增模型仲裁或路由 DAG 节点,也不向通用 backend 目录列表硬编码 loop-agent 私有目录,修复跨仓库通用。
17
+
18
+ ## [0.25.6] - 2026-08-01
19
+
20
+ ### 重点更新
21
+
22
+ - 后端测试新增按变更类型界定覆盖深度的机制,精准控制测试范围并避免无关用例膨胀
23
+ - 初始化托管块改为从独立模板文件渲染,大幅降低维护难度并提升可读性
24
+
25
+ ### 新增
26
+
27
+ - backend-test 新增机器可读的 Coverage Scope,支持按新增接口、契约变化、行为变化、缺陷修复和纯实现优化选择覆盖深度
28
+ - 目标项目的 AGENTS.md 托管块改为从 docs/templates/init-managed-agents.md 渲染,便于直接编辑维护
29
+
30
+ ### 改进
31
+
32
+ - Observe/看板将 DAG 机器态 `partial_failed` 展示为「部分成功」(琥珀色 badge/timeline),与红色「执行失败」区分;内部状态与 recovery 语义仍为 `partial_failed` 非成功终态
33
+ - 纯优化类变更现聚焦于需求、确定性影响面与最小回归集,避免无关接口全量用例膨胀
34
+ - 目标项目 `AGENTS.md` 的 `LOOP_AGENT_INIT` managed block 改为从 `docs/templates/init-managed-agents.md` 渲染,便于直接编辑维护;该模板仅随 npm 包发布,不投影到目标项目治理目录;同时同步 `import-prd`/exec-plan 推荐路径、init reconcile 零写入条件、DAG liveness/recovery 精确命令及 Official Console 裸入口
35
+
36
+ ## [0.25.5] - 2026-07-31
37
+
38
+ ### 重点更新
39
+
40
+ - 后端测试 DAG 新增确定性场景覆盖分析与 Markdown 到 pytest 的精准对应,显著提升测试质量度量的准确性与透明度
41
+ - 受监督的 DAG 默认启用有界自愈闭环,能够自动处理可恢复的执行失败并安全重算后续节点
42
+ - 全面加固客户端会话恢复机制,精准识别并补偿由模型服务瞬时异常引发的结构校验错误
43
+ - 大幅增强 DAG 执行的确定性收尾能力,确保在模型输出不稳定或前置快照失败时安全降级
44
+
45
+ ### 新增
46
+
47
+ - 后端测试固定 9 节点 DAG 新增可审计的场景覆盖与 Markdown→pytest 一一对应事实:节点 4 从严格 Coverage Matrix、Case Rule/Test Point 绑定及 OpenAPI required/enum/boundary/pattern/format 规则生成覆盖报告,节点 6 生成 1:1/1:0/1:N/0:1 对应报告,节点 7 校验一致性后物化 canonical manifest
48
+ - 受监督的 DAG 默认启用有界自愈闭环:通过 maxFixLoops 派生收敛预算,将可恢复失败与合法的审查修订请求统一纳入恢复链,并确定性注入上一轮失败证据指针,同时保持对安全失败的不自动重试
49
+ - 后端测试用例生成与独立 Review 改为产品需求优先,并穷举文档化 API 规则,涵盖生命周期、枚举等价类、长度数值边界及业务状态迁移等场景
50
+ - 后端测试 HTML/facts 新增可展开的“用例场景覆盖分析”和“Markdown → pytest 一一对应”质量详情
51
+
52
+ ### 改进
53
+
54
+ - backend-test 用例生成/独立 Review 改为产品需求优先,再穷举文档化 API 规则:覆盖 active/deleted duplicate-name 生命周期、每个合法枚举值、非法枚举等价类、长度/数值边界、字符格式、null/missing/type 错误和业务状态迁移;每个 Case 绑定唯一 primary pytest symbol
55
+ - backend-test Coverage Test Point 与 pytest 执行单元解耦:Test Point 明确分为 `variant`、`assertion`、`cross-cutting`,只有真实输入/状态/结果变体生成参数 item,同一业务旅程检查点通过 symbol docstring 追溯,HTTP 日志等横切证据不再制造重复业务 item;报告区分 Markdown Case、primary symbol、pytest item 并展示执行放大率
56
+ - backend-test HTML/facts 新增可展开的“用例场景覆盖分析”和“Markdown pytest 一一对应”质量详情,并由最终报告分别消费节点 4/6 详细 findings 与节点 7 machine totals
57
+ - 减少全量测试中的重复 CLI 冷启动和 self-host canary 二次打包安装场景,收敛低价值重复用例并保留关键端到端主路径
58
+ - DAG 执行期间的主会话行为约束得到增补:启动后自主推进至结束、持续可靠判活、严格限制工作区文件修改,并优先使用纯函数探针排查路由
59
+
60
+ ### 修复
61
+
62
+ - 修复后端测试节点 4/6 的确定性覆盖与对应分析在自身崩溃时被静默吞掉的问题,现会写入诊断信息并按基础设施故障安全停止
63
+ - 修复后端测试节点 4、6、7 在缺失 spec.sourceBinding 时未统一停止的问题,避免上游回退导致下游 manifest 突发报错
64
+ - 修复成功执行路径下 HTTP 请求/响应日志解析不规范的问题,现统一规范化大小写不敏感的日志前缀并完整解析 JSON,恢复报告中的请求参数与大响应正文
65
+ - 修复 Pi writer 已输出合法结果却因前置说明、Markdown 装饰或中文标点被误判失败的问题,现确定性规范化唯一 outcome 且不影响无副作用操作
66
+ - 修复 Pi writer 前置 Git 快照失败被延后处理的问题,现调用模型前即安全停止,并在失败信息中保留完整的尝试次数与错误上下文
67
+ - 修复不稳定模型输出导致受监督 DAG 无法可信收尾的问题,现使用精确判定协议和有限重试,确保最终状态准确且保持安全关闭
68
+ - 修复合并后 canonical DAG Pi MED 路由错误回退到旧模型的问题,统一恢复为正确配置
69
+ - 修复脚手架样例漂移检查误判当前 worktree 目录名的问题,避免附加 worktree 触发稳定测试失败
70
+ - 修复 Windows 8.3 短路径与长路径指向同一仓库时生成不同指纹的问题,避免应用数据命名空间冲突
71
+ - 修复生成的 OpenCode 恢复插件在 busy→idle 竞态下丢失续接的问题,现保留待处理错误并在明确空闲后安全重试
72
+ - 修复 Pi retry 配置读取将权限或 I/O 错误误判为缺文件的问题,现仅缺失文件时允许新建配置
73
+ - 修复客户端瞬态恢复无法正确处理 TypeValidation 瞬时错误的问题,现能准确识别携带瞬时信号的错误并安全重试,纯 schema 校验失败仍被拒绝
74
+
75
+ ## [0.25.4] - 2026-07-31
76
+
77
+ ### 新增
78
+
79
+ - stream run progress heartbeats
80
+
81
+ ### 新增
82
+
83
+ - stream run progress heartbeats
84
+ - improve HTML failure triage
85
+ - add native checklist and HTML report gates
86
+
87
+ ### 修复
88
+
89
+ - tighten production URL detection
90
+ - preserve supported Pi default model
91
+ - sync packaged prompt contract
92
+ - normalize drifted case ids and decode nested HTML entities
93
+
94
+ ## [0.25.3] - 2026-07-30
95
+
96
+ ### 重点更新
97
+
98
+ - 新增 OpenCode 客户端瞬态会话恢复机制,在内置重试遗漏时自动补偿 UnknownError
99
+ - 优化前端实现需求路由,将前端开发与测试任务准确分发至对应 DAG 流程
100
+
101
+ ### 新增
102
+
103
+ - loop-agent init 支持 --client-recovery 参数,可在目标项目生成 OpenCode 插件以补偿瞬态 UnknownError
104
+ - 支持在用户级别原子写入 Pi retry 推荐配置,并严格遵守插件 ownership 不覆盖用户改动
105
+
106
+ ### 改进
107
+
108
+ - 初始化或刷新 AGENTS.md 时,要求将明确的前端实现需求路由至 frontend-implementation,与浏览器和 UI 自动化测试区分开
109
+
110
+ ### 修复
111
+
112
+ - 修复生成的 OpenCode 恢复插件无法按真实 API 工作的问题,现直接返回 Hooks.event 并按事件正确分发与续接
113
+ - 修复 Type validation failed 等真实错误被业务校验规则误杀的问题
114
+ - 修复 Pi retry 配置读取将权限或 I/O 错误误判为缺文件的问题,现仅 ENOENT 视为缺文件
115
+
116
+ ## [0.25.2] - 2026-07-30
117
+
118
+ ### 重点更新
119
+
120
+ - 加固后端测试中文 HTML 报告的用例关联与解析逻辑,提升报告的准确性与可读性
121
+
122
+ ### 改进
123
+
124
+ - 改进基于 class 的 pytest node id 解析,准确提取真实脚本路径,避免显示为 unknown.py
125
+ - 当用例名称缺失后端 ID 时,支持按函数名与 Markdown catalog 进行回退关联
126
+ - 规范化 [REQ]/[RESP] HTTP 日志块,增强日志兼容性
127
+
128
+ ### 修复
129
+
130
+ - 修复成功执行路径下原生 pytest-html 报告未正确保留的问题,现会将其另存为 backend-test-pytest-native.html
131
+
132
+ ## [0.25.1] - 2026-07-30
133
+
134
+ ### 重点更新
135
+
136
+ - 后端测试 DAG 节点新增 JaCoCo 覆盖率收集能力,支持在 L-5 dashboard 展示 Java 后端的代码行与分支覆盖率
137
+ - 规范任务 DAG 草稿的默认输出路径,统一指向 `.harness/tasks/<task-id>/dag.json`
138
+ - 修复 loop-agent 技能条目因注入预算超限被截断的问题,确保默认 DAG 下技能完整解析
139
+
140
+ ### 新增
141
+
142
+ - backend-test DAG 节点 7 支持可选的 JaCoCo 覆盖率收集:通过跨网络 TCP dump JaCoCo tcpserver 数据,经 jacococli.jar 转换并解析为 code-coverage-v1 合约,供 L-5 dashboard 使用
143
+ - task shell 配置新增 `jacocoCoverage` 字段,支持配置 endpoint、cliJarPath、includes 和 connectTimeoutMs
144
+ - 新增面向开发与运维的 JaCoCo 覆盖率部署指南,涵盖 tcpserver agent 挂载、端口放行、cli 预装及安全提醒
145
+
146
+ ### 改进
147
+
148
+ - `dag run-task` 与 `dag init-hybrid` 的默认输出路径改为 `.harness/tasks/<task-id>/dag.json`,不再写入系统临时目录
149
+ - agent-worker 在 strict validate 成功后,将校验通过的草稿原子同步到 task 根 `dag.json`
150
+ - task read-model、delegate worktree 提示及各文档示例统一指向规范化的任务草稿路径
151
+ - skills 补充 `source-and-plan-practice.md`,明确 `import-prd` 与 `plan create` 的决策表与推荐顺序,不强制微小任务
152
+
153
+ ### 修复
154
+
155
+ - 压缩 SKILL.md 及 required-reference 体积,修复默认 DAG 技能注入预算超限导致 loop-agent 条目被截断的问题
156
+
157
+ ## [0.25.0] - 2026-07-30
158
+
159
+ ### 重点更新
160
+
161
+ - 新增确定性 Feature Packet 脚手架,支持后端、前端及含 API 前端模板,并具备原子批量写入与预检能力
162
+ - 新增 Feature 交付编排命令,自动串联最终验证、交付与收口流程
163
+ - 显著提升 DAG 执行稳定性,修复超时残留子进程、重复验证及耗时记录不完整等问题
164
+ - 新增任务级 Maven 验证规划,自动定位并仅针对相关模块执行验证
165
+ - 后端测试节点现可自动生成指标机器计算的自包含 L-5 可视化报告
166
+
167
+ ### 新增
168
+
169
+ - backend-test DAG 节点 7 支持可选的 JaCoCo 覆盖率收集(Java 服务):task shell 配置新增 `jacocoCoverage`(endpoint + cliJarPath + includes + connectTimeoutMs);节点 7 在 pytest 后跨网络 TCP dump JaCoCo tcpserver 执行数据,用 jacococli.jar 转为 jacoco.xml,确定性解析为 `contracts/code-coverage-v1.json` 并喂给 L-5 dashboard 的 line/branch 指标;全程失败安全(endpoint 不通 / cli 缺失 / 解析失败 → 覆盖率降级 unavailable,不阻断测试与 L-5)
170
+ - 提供 agent-worker Feature Packet 脚手架,内置 backend-only、frontend-only 和 fe-with-api 模板,支持原子批量写入与 validate-feature 预检
171
+ - 新增 agent-worker feature advance 命令,编排 verify-final、delivery 到 closeout 的完整交付路径
172
+ - 新增 agent-worker feature doctor 命令,提供只读的交付就绪诊断(覆盖证据、Pool 状态与工作区改动)
173
+ - Maven 验证现支持任务级范围规划,根据任务涉及的目录自动定位并验证正确的 POM 模块
174
+ - 后端测试 DAG 节点 7 现可确定性生成美观的自包含 L-5 可视化报告,指标完全由机器计算
175
+
176
+ ### 改进
177
+
178
+ - Feature Delivery 在省略特定参数时,默认使用 feature verify-final 写入的标准证据路径
179
+ - TaskConfig 持久化入口在写入前执行 schema 校验,拒绝不符合规范的数据格式
180
+ - Dogfood 前端测试服务器在检测到旧缓存导致接口数据异常时,现会自动强制重启恢复
181
+
182
+ ### 修复
183
+
184
+ - 显著加固 DAG 执行可靠性,修复超时或中断后子进程残留问题,降低文件占用与测试干扰概率
185
+ - 修复受监督流程可能重复执行完整验证的问题,避免高成本检查在不同阶段反复运行
186
+ - 修复 DAG 被放弃或替换时,运行中节点实际耗时记录不完整的问题
187
+ - 修复 Windows 环境下因提示内容过长导致 DAG 无法启动的问题,现安全采用受控临时文件传输
188
+ - 修复前端实现 DAG 在未确认项目 Mock 能力时误报缺失 Mock 文件的问题
189
+ - 修复结构化任务配置中数组类型校验不严格的问题
190
+
191
+ ## [0.24.10] - 2026-07-29
192
+
193
+ ### 修复
194
+
195
+ - Closeout 重验不再要求 `should`/partial AC 绑定完整 run evidence(仅 `covered` must AC 强制 hash 绑定)
196
+
197
+ ## [0.24.9] - 2026-07-29
198
+
199
+ ### 重点更新
200
+
201
+ - 后端测试执行失败时的诊断信息更加完善,避免出现无输出导致无法定位的问题
202
+ - 修复 Windows 环境下前端证据校验因长命令终端转义导致的崩溃
203
+ - 节点检查器新增「节点输入」只读页签,支持安全审查冻结的节点定义
204
+
205
+ ### 新增
206
+
207
+ - Observe / Inspect 节点检查器在「节点输出」左侧新增「节点输入」页签:只读投影冻结 run.json 顶层节点定义(任务正文、依赖、执行器摘要、边界)与可选 assembled prompt 指纹
208
+
209
+ ### 改进
210
+
211
+ - 后端测试节点执行失败时可观测性增强:写入包含映射脚本、PYTHON_BIN、pytest 版本、exit、html 是否存在与 STEP 等信息的诊断文件,并在节点 stderr 汇总失败摘要
212
+
213
+ ### 修复
214
+
215
+ - 修复前端证据校验在 Windows 下通过长 node -e 命令执行时的终端转义崩溃:改为由 runtime 内部直接校验,兼容 CMD、Git Bash、PowerShell 与 Unix shell
216
+
217
+ ## [0.24.9] - 2026-07-29
218
+
219
+ ### 修复
220
+
221
+ - Closeout 重验不再要求 `should`/partial AC 绑定完整 run evidence(仅 `covered` must AC 强制 hash 绑定)
222
+
223
+ ## [0.24.8] - 2026-07-29
224
+
225
+ ### 重点更新
226
+
227
+ - 修复 FINAL-VERIFY 改写已存在的 allowed_paths 证据(gitignore)时 Git checkpoint 误失败,以及 record-error 后 Task Pool 卡在 Running 无法 mark-failed/retry 的问题
228
+
229
+ ### 修复
230
+
231
+ - `finalizeGitTask` allowed_paths 内的 pre-existing ignored evidence 允许 rewrite 并 force-add
232
+ - `runReadyTasks` record-error 时 best-effort 投影 `runs.jsonl` + Failed 状态,便于官方 retry
233
+
234
+ ## [0.24.7] - 2026-07-29
235
+
236
+ ### 重点更新
237
+
238
+ - 修复 Feature Verification Bundle Delivery 重验时因绝对路径 artifact、`qa-testcode` 类型与 `run_record` 后写 hash 漂移而失败的问题
239
+
240
+ ### 修复
241
+
242
+ - 修复前端证据校验在 Windows 下通过长 `node -e` 命令执行时的终端转义崩溃:改为由 runtime 内部直接校验,兼容 CMD、Git Bash、PowerShell 与 Unix shell
243
+ - 修复 `frontend-implement-pi` 因复用需求发现 skill 而长时间侦查后空实现:contract 现在强制 requirement outcome 与 interaction 行为语义,implement/repair 改用不含递归 OpenSpec/AI workspace 搜索的 bounded skill,并由 `implementation-outcome-v1` 机器校验声明结果与实际 diff;只有显式 already-satisfied 才允许空 diff
244
+ - Outcome 投影强制写出 repo-relative artifact 路径
245
+ - Delivery `verifyArtifactRefs` 接受位于仓库内的绝对路径(兼容旧 envelope)
246
+ - `verifyBundleTaskSpecBindings` 接受 `qa-testcode`(backend-test)与 `qa-execute`(frontend-test)
247
+ - Bundle 重验仅 rehash typed evidence(backend/frontend-test-result),忽略可能后写的 run_record
248
+
249
+ ## [0.24.6] - 2026-07-29
250
+
251
+ ### 重点更新
252
+
253
+ - 修复后端测试 Markdown-first 成功路径未投影 `backend-test-result` 的问题,Ready Planner 可再次放行 FE-TEST
254
+
255
+ ### 修复
256
+
257
+ - Markdown-first `markdown-execute-html` 在解析原生 pytest-html 后立即物化 `contracts/backend-test-result.json`(Result v1),避免 styled HTML 覆盖后丢失 JSON island
258
+ - `node-execution` 对 `markdown-execute-html` 绑定 `structuredArtifact*`,Outcome 适配器可投影 `kind: backend-test-result`
259
+
260
+ ## [0.24.5] - 2026-07-28
261
+
262
+ ### 重点更新
263
+
264
+ - 后端测试 Markdown 模块与 pytest 脚本实现一对一精准映射,提升测试执行的确定性
265
+ - 修复后端测试 HTML 报告中请求参数显示为空的问题,正确展示请求与响应日志
266
+ - 初始化项目支持将「帮我完成/实现/修复」等通用需求表达直接路由进 Agent DAG
267
+ - 新增裸 agent-worker console 入口,简化本地看板启动流程
268
+
269
+ ### 新增
270
+
271
+ - 初始化后的目标项目支持将「帮我完成/实现/修复/开发」等通用需求表达确定性地路由进 Agent DAG(new-task dag run-task dag validate → run-dag),无需追加额外的 cli 关键词
272
+ - 新增裸 agent-worker console 入口,直接启动 Loop Operator Console,repo 默认当前目录、port 默认 8790
273
+ - check-skill-entry.sh 及初始化投影脚本支持解析 YAML 折叠块,对通用需求触发词建立机器门禁以防漂移
274
+
275
+ ### 改进
276
+
277
+ - 后端测试收敛模块映射,生成与评审 prompt 强制模块文件一对一映射,在映射缺失时支持确定性恢复
278
+ - 后端测试 execute/report 节点文案与 pytest-html 真源对齐,移除残留的 JUnit 表述
279
+ - 后端测试 HTML 报告对齐 R04 模板样式,采用全 inline style 设计(渐变 banner、可折叠用例卡片、状态胶囊及请求/响应分块展示)
280
+ - 本地看板启动更简,端口被占用时不再自动更换,改为明确提示使用 --port 显式指定其它端口
281
+ - 旧项目经 init check-update apply-safe 即可安全补回新的「通用需求实现」路由行,并保留用户自定义前言
282
+
283
+ ### 修复
284
+
285
+ - 修复后端测试 HTML 报告中请求参数显示为空的问题:渲染器现已兼容 payload= 键或 JSON request_record 格式的请求摘要
286
+ - 修复后端测试报告无法正确获取请求/响应日志的问题:兼容 HTTP_REQUEST 与 HTTP REQUEST 两种日志前缀,并在解析前正确解码 HTML 实体
287
+ - 修复 shell-executor 在 Windows 环境下因反斜杠路径导致 runDir 损坏的问题,确保路径注入稳定
288
+ - 修复前端 lint baseline 在 Windows 下因路径解析逻辑缺陷,拒绝相对路径输出导致评估误报为不可用的问题
289
+ - 修复多个测试固件在 Windows 下因嵌套 Shell 引号剥离导致命令执行输出为空或报错的问题(涉及 composite-shell 与 init-command)
290
+
291
+ ## [0.24.4] - 2026-07-28
292
+
293
+ ### 重点更新
294
+
295
+ - 控制台「导入需求」支持多文件批量导入,自动合成可编辑正文后创建任务
296
+ - 后端测试移除重复运行稳定性门槛,每次执行同时生成用户可读的 HTML Markdown 报告
297
+ - 本地 pre-push 钩子升级为执行完整 CI 流程,覆盖治理检查、类型检查与全量测试
298
+
299
+ ### 新增
300
+
301
+ - 控制台「导入需求」支持选择或拖入一份或多份 Markdown/TXT 文档(严格 UTF-8,单文件 ≤8 MiB,最多 8 个),多文件分卷归档并合成可编辑正文后创建任务
302
+
303
+ ### 改进
304
+
305
+ - 后端测试 L-5 结论不再将重复运行稳定性作为门槛,每次执行同时产出用户可读的 HTML 与 Markdown 报告,内部 facts 文件保留用于审计
306
+ - 本地 pre-push 钩子改为执行完整 CI 流程(治理检查 + 类型检查 + 全量测试),pre-commit 保持仅执行 check-repo
307
+ - harness 中等复杂度(MED)模型调整为 grok-4.5,并同步对齐相关 smoke/init 断言
308
+ - 归档已完成的设计文档与执行计划,刷新 0.24.x 六个月规划与能力摘要,并同步验证与 hooks 文档
309
+
310
+ ## [0.24.3] - 2026-07-28
311
+
312
+ ### 重点更新
313
+
314
+ - 发布工作流改为发布已通过完整门禁并经 SHA-256 校验的 npm tarball,避免 `npm publish` 再次触发全量测试、类型检查与构建。
315
+ - 默认 `standard` 实现任务在 React、Next.js 或 Vue 项目中直接选择 `frontend-implementation` DAG,不再依赖需求关键词;明确后端、文档/测试范围或前端否定仍保留对应通用流程。
316
+
317
+ ## [0.24.2] - 2026-07-28
318
+
319
+ ### 重点更新
320
+
321
+ - 夜间自动发布固定为 patch 通道,不再因功能提交自动跳转次版本号
322
+ - 新增人工次版本发布工作流,支持显式触发 v0.x.0 版本线升级
323
+ - 夜间发布支持幂等恢复,重跑时自动探测并跳过已完成步骤,冲突时安全失败
324
+ - 控制台聊天工作台布局收紧,新增聚焦模式与落地页设计
325
+
326
+ ### 新增
327
+
328
+ - 新增 manual-minor-release 工作流,仅在显式触发时强制 bump minor 版本
329
+ - 控制台新增 ChatLanding 子组件,提供无会话/空会话模式下的落地页与建议网格
330
+ - 聊天压缩失败分类器新增对 token 预算超限、已压缩、模型缺失、活跃对话及不支持运行时等场景的精确 HTTP 状态码映射
331
+
332
+ ### 改进
333
+
334
+ - 发布工作流将最终门禁拆分为独立可观测步骤,并去重以提升执行效率
335
+ - 夜间自动发布固定为 --bump=patch,确保版本递增稳定在 0.x.y + 0.0.1
336
+ - 文档版本引用现支持 floating/current/minimum/range/historical 五类语义声明,合法旧文档不再误阻塞发布
337
+ - 控制台聊天界面收紧工作台密度,新增 is-chat-focus 类锁定视口,仅消息区域滚动且输入框固定底部
338
+ - 聊天压缩接口现通过分类器返回类型化错误码,替代原有的通用失败提示
339
+
340
+ ### 修复
341
+
342
+ - 修复发布流程接受 GitHub Release 目标时无法正确处理符号引用的问题
343
+ - 修复 GitHub 状态探测缺少认证导致发布恢复判断不准确的问题
344
+ - 修复夜间发布恢复时未针对当前版本标签进行探测的问题
345
+ - 修复夜间发布与手动次版本发布通道混淆的问题,现拆分为独立的 patch 与 minor 通道
346
+ - 修复文档版本治理将合法的旧版本引用误判为漂移并阻塞发布的问题
347
+
348
+ ## [0.24.1] - 2026-07-27
349
+
350
+ ### 重点更新
351
+
352
+ - 后端测试 HTML 报告全面升级,采用更清晰的可折叠用例卡片设计,直观展示脱敏的请求与响应详情。
353
+ - 彻底修复了 Windows 环境下因 cmd.exe 与 bash 嵌套引号转义不当,导致前端与初始化测试固件执行失败的问题。
354
+ - 前端实现 DAG 大幅优化,复用现有 run-owned canonical artifacts,有效精简了常规全绿路径的直接依赖节点数量。
355
+
356
+ ### 新增
357
+
358
+ - 后端测试第 7 节点现使用 pytest-html 生成自包含报告,并新增解析器从其 JSON island 提取每条用例的结果与日志。
359
+ - 后端测试生成的 pytest 文件名现可与 Markdown 模块建立一对一清晰映射。
360
+
361
+ ### 改进
362
+
363
+ - 后端测试 HTML 报告对齐 R04 模板样式:改用全 inline style 设计,包含渐变 banner、可折叠用例卡片、状态胶囊以及请求参数与响应结果分块展示。
364
+ - 前端 canonical implementation contract 允许纯逻辑修改使用空的 UI state,不再强制虚构,并会确定性移除不适用状态下的空输出。
365
+ - 前端实现 DAG 的多个节点(如 frontend-implement-pi、frontend-review-pi 等)直接依赖得到收敛,不再重复读取完整任务源或上游冗余文本。
366
+
367
+ ### 修复
368
+
369
+ - 修复后端测试 HTML 报告中请求参数显示为空的问题:渲染器现已兼容 payload= 键或 JSON request_record 格式的请求摘要。
370
+ - 修复后端测试报告无法获取请求/响应日志的问题:兼容 HTTP_REQUEST HTTP REQUEST 两种日志前缀,并在解析前正确解码 HTML 实体。
371
+ - 修复 shell-executor Windows 环境下因反斜杠路径导致 runDir 损坏的问题,确保路径注入稳定。
372
+ - 修复前端 worktree baseline 解析 git status 时因提前 trim 导致未暂存文件路径丢失首字符的解析缺陷。
373
+ - 统一 DAG 任务源路径生成与运行时解析基准,解决 freshness、rerun 与预览共享不一致的问题。
374
+ - 修复前端项目在需求未显式提及 UI 时被误判保留为标准任务的问题,提升了基于工程证据与交互语义的任务类型推断准确度。
375
+ - 修复前端 lint baseline 在 Windows 下因路径解析逻辑缺陷,拒绝相对路径输出导致评估误报为不可用的问题。
376
+ - 修复多个测试固件在 Windows 下因嵌套 Shell 引号剥离导致命令执行输出为空或报错的问题(涉及 composite-shell 与 init-command)。
377
+
378
+ ## [0.24.0] - 2026-07-27
379
+
380
+ ### 新增
381
+
382
+ - align chat workspace with pi web UX
383
+ - operator chat workspace UX + async runtime race guards
384
+ - operator chat M3-M7 (draft interview, human-gate, input context, artifacts, branching, landing)
385
+ - pytest-html report + filename mapping + Windows path fix (#71)
386
+
387
+ ### 改进
388
+
389
+ - style(console): 收紧 Operator Chat 工作台密度与侧栏体验
390
+ - style(console): prettier-format Operator Chat + keep UI-contract text intact
391
+
392
+ ### 修复
393
+
394
+ - operator chat M2 closure tracer + code review followups
395
+
396
+ ## [0.23.1] - 2026-07-26
397
+
398
+ ### 重点更新
399
+
400
+ - **Console Phase 4 General Operator Chat**:在 `agent-worker console` 内交付 Pi 驱动的自由对话入口,用自然语言多轮编排 loop-agent / agent-worker;暴露全部 operator action(registry 动态派生)+ 内置探查工具 bash/read/grep/find/ls,仍禁文件写入 coding tool;含两轮代码审查的 P1 修复(builtin tool 注册、schema↔dispatcher 契约、server 生命周期、tool policy 统一)与 followup 修复(缩进、SSE 错误兜底、文档同步、waitForIdle 超时+心跳)
401
+ - DAG 新增显式 failure-aware 依赖语义,允许只读恢复节点容忍上游 ERROR 并读取失败证据执行收敛
402
+ - review verdict 协议重试耗尽后支持确定性规范化,缺失或冲突时仍严格报错
403
+ - 新增 recovery recommendation 稳定下一步分类,为各类失败提供明确的修复或重试路由提示
404
+ - loop-agent doctor 新增机器可读 JSON 报告与只读上下文审计能力
405
+ - loop-agent stats context 提供近端 DAG 运行的上下文用量只读聚合统计
406
+ - AGENTS.md init managed block 采用感知源码的精简策略,保留路由与硬约束不变
407
+ - 全面深化文档治理体系,引入目录状态语义、审查策略与外部方法论单轨融入
408
+
409
+ ### 新增
410
+
411
+ - **Console Phase 4 — General Operator Chat(Pi SDK services 模式)**:
412
+ - 后端 `src/worker/console/chat/`:`pi-runtime.ts`(services 模式 SDK 包装 + session 隔离 + 显式注册 builtin 探查工具 `tools:[bash,read,grep,find,ls]`)、`tool-adapter.ts`(operator action → Pi tool schema,动态发现 fail-closed)、`session-store.ts`(Gate 3 per-call 授权 + per-session write chain)、`routes.ts`(SSE 流式 HTTP)、`tools.ts`(全 operator action 动态派生白名单)、`resource-loader.ts`(封闭 ResourceLoader)、`model-resolver.ts`(harness.json 动态解析,无硬编码)、`instruction-skills.ts`(9 个只读 skill 白名单)
413
+ - 前端 `OperatorChat.tsx` + `ChatMarkdown.tsx`:多行 composer、Markdown 气泡、可折叠工具侧栏、停止生成、智能贴底滚动;零依赖 Markdown 渲染
414
+ - 默认模型从 `harness.json executors.pi.MED` 动态解析,按「bare-id 优先 + 有凭证优先」选取 provider(无硬编码回退)
415
+ - 红队验证 V12/V14/V15/V16:文件写入 coding tool 必拒、credential 不回传、高风险 action 无 prepared receipt 必失败、模型伪报 complete 不覆盖 deterministic validation
416
+ - DAG 显式 failureAwareDependsOn 依赖语义,支持只读恢复等价节点显式声明容忍指定上游节点的 ERROR
417
+ - review verdict 协议重试耗尽后的确定性规范化:当恰好存在一个合法受支持且无冲突的 verdict 行时自动规范化为首行
418
+ - recovery recommendation 稳定下一步分类:为 nonzero-exit、protocol-invalid 等各类失败提供稳定的 repair/revision/retry 路由提示
419
+ - loop-agent doctor --json 输出单一可 JSON.parse typed DoctorReport,供人与机器共享同一事实源
420
+ - loop-agent doctor --context 提供只读上下文审计,报告默认策略、技能清单与预算跳过情况
421
+ - loop-agent stats context [--last N] [--json] 只读聚合最近 DAG 运行的技能解析与节点结果
422
+ - 新增 scripts/eval-dogfood-context-engineering-ab.sh,支持复现演练 AGENTS map verbose→slim A/B 协议
423
+ - skill registry 增加 verification placement taxonomy(standalone/embedded/chained/PR-bound)创作词汇
424
+ - 新增 docs/architecture/agents-invariants.md 作为源 AGENTS 与 managed block 不变量合同的单一真源
425
+ - 新增 docs/templates/README.md 并纳入 package / full init / init check-update
426
+ - 新增文档治理任务式 README、机器可读 document-catalog.json check-doc-governance.mjs 语义检查器
427
+ - 新增文档审查策略与三档 reviewTier freshness 策略,支持按 UTC 日期边界阻断过期文档
428
+ - 新增设计原则与范式转移起源文章,并发布到网站实践文档
429
+
430
+ ### 改进
431
+
432
+ - supervised 模板的 process-supervisor-pi 可显式消费 soft-verify-shell 的 ERROR,使失败进入有界修复收敛链
433
+ - supervised 中间验证未显式配置时不再继承 verifyQuota: full,默认只取配额 1
434
+ - 生成 DAG 的验证命令默认单命令超时由 5 分钟提升为 30 分钟,避免全量测试误判为超时
435
+ - failure-aware 节点可在 upstream_context 中读取被容忍上游 ERROR 的 stdout/stderr 等作为失败证据
436
+ - loop-agent public skill 增加默认预算完整性回归,确保关键 entry 与 required references 在默认预算下完整解析
437
+ - skills/loop-agent/SKILL.md 将 command-reference.md 从 required 调整为按需 reference,保持在默认预算内
438
+ - doctor 与 stats context 的 JSON 模式不再输出 [loop-agent] banner,保证机器输出可直接解析
439
+ - 源仓库 AGENTS.md 与 init managed block 采用感知源码的精简,长解释指向 docs/,保留开工路由与硬约束
440
+ - 调试纪律要求先建立快速确定性反馈回路再进入根因调查;verifier skill 强调不得越过 writer 边界
441
+ - 任务与 TDD 明确采用垂直 tracer bullet(一测试一实现),避免水平层批处理
442
+ - ADR 增加三门槛过滤;CONTEXT.md 明确只承担术语表职责;grill-with-docs 按 governanceRoot 解析 decisions
443
+ - 外部工程方法论按单轨治理融入 docs/skills/init(ADR 0006),不引入平行状态树
444
+ - 文档治理完成当前权威与内容可信度审计,修正设计入口、能力摘要与网站 roadmap 中的归档状态表述
445
+ - 文档治理完成实际归位,工程规则、runtime 手册和维护操作分别进入清晰目录,当前设计与历史设计分开
446
+ - 文档入口版本与状态对齐 @tea-agent/loop-agent@0.22.0
447
+ - Pi 中等复杂度节点默认模型由 glm-5.2 调整为 gpt-5.5;LOW 与 HIGH 路由保持不变
448
+
449
+ ### 修复
450
+
451
+ - DAG run-task 持久化 writer 草稿生成前强制要求 managed Task Contract,未管理时在写出前失败并提示人工处理流程
452
+ - Task source 指南修正 verifyCommands 示例为 { label, command, timeoutMs? }[],并补充旧字符串数组迁移说明
453
+ - 根 Vitest 配置排除 .worktrees/** 隔离 checkout,避免显式测试文件参数误收集旧副本
454
+ - 受监督的 DAG 失败收敛机制修复,确保在有监督失败时保持收敛性
455
+ - DAG bootstrap 合约反馈修复,确保引导阶段正确收敛
456
+ - 修复 check-doc-governance.mjs 未忽略 .DS_Store/Thumbs.db 等 OS 生成文件导致仓库目录测试失败的问题
457
+ - 修复 context-engineering 提案中指向 exec-plans/active/ 的过时链接,更新为实际的 completed/ 路径
458
+ - 校准 context-engineering 提案中的实现证据(测试计数与 AGENTS.md 行数)以匹配当前代码实际产出
459
+ - Console Phase 4 Chat 审查 followup:createSession 缩进规整;handleChatPrompt 加 try/catch+finally 兜底 SSE error 与 res.end;waitForIdle 超时 120s→45s 并新增每 10s heartbeat(SSE comment 帧)防代理超时;设计文档 §7.2.1/V25/§13 同步 widening 契约
460
+ - Console Phase 4 Chat P1 审查修复:`createSessionFromServices` 显式传 `tools:[bash,read,grep,find,ls]`(SDK 默认 builtin 不含 grep/find/ls,否则 setActiveToolsByName 静默 no-op);schema↔dispatcher 契约对齐(contractValidate/Diff 用 draftJson、workerTaskRetry 补 featureId、动态发现 fail-closed);server.close() 先 chatRuntime.disposeAll();resource-loader/system prompt 统一到 widening(hasBash:true)
461
+ - CI 治理:7 个 versionConsumer 文档版本漂移 0.22.0→0.23.0;check-task-pool-root.sh allowlist 增补 codify-constraints.md
462
+
463
+ ## [0.22.0] - 2026-07-24
464
+
465
+ ### 重点更新
466
+
467
+ - 前端规范读取范围扩展,新增 ai_workspace 作为并列来源,并独立展示各类规范证据
468
+ - 前端实现 DAG 引入 lint 债务基线机制,精准区分存量与新增代码问题,减少误阻断
469
+ - 前端预写门禁增强,强制校验真实的规范读取事件,避免遗漏关键上下文
470
+ - 后端测试报告结构优化,新增 Markdown 报告并改进 HTML 报告的分层展示
471
+
472
+ ### 新增
473
+
474
+ - 前端规范读取将 ai_workspace 目录与 openspec 相关目录作为并列来源,即使缺少 package.json 也能发现本地规范候选
475
+ - Dashboard 规范证据 API 与界面独立展示知识库查询、openspec 检索和成功读取三类证据
476
+ - 后端测试在同目录下新增生成 backend-test.md 报告,便于查阅测试结论与明细
477
+
478
+ ### 改进
479
+
480
+ - 前端实现 DAG 允许未修改文件中的已知 lint 诊断作为基线债务继续,但对修改文件的新问题严格阻断
481
+ - 后端测试 HTML 报告采用更清晰的分层展示,新增稳定结论图标与可折叠的质量校验明细,移除了原稳定性指标
482
+ - 前端测试用例的内容完整性与证据检查降级为建议性反馈,不再因个别物料缺失阻断最终复盘
483
+ - 设计文档与研发 DAG 拓扑说明同步更新,澄清了 profile/workflow/type 三套正交概念与当前实现状态
484
+
485
+ ### 修复
486
+
487
+ - 修复前端技能指令可能超出预算限制的问题
488
+ - 修复 DAG 未正确注册 DeepSeek Pi 模型提供者的问题
489
+ - 修复前端目标项目验证路由不够健壮的问题
490
+ - 修复后端测试中无法跨环境便携解析 Python 运行时的问题
491
+
492
+ ## [0.21.0] - 2026-07-24
493
+
494
+ ### 重点更新
495
+
496
+ - DAG/Pi 自适应活跃度监管:精准区分传输活动与真实执行进展,受控处置静默卡死,避免误杀。
497
+ - 后端测试执行范围收窄:仅运行最终 Markdown 明确映射且通过安全校验的脚本,杜绝无关测试混入。
498
+ - 后端测试 HTML 报告全面升级:采用清晰的用例卡片,直观展示脱敏的请求与响应详情。
499
+
500
+ ### 新增
501
+
502
+ - DAG/Pi 自适应 liveness 与非误杀监管:区分 runner lease、transport 活动与 Provider/tool/output 真实进展;节点可投影 active/quiet/suspected-stall/probing/needs-attention;静默 stall 会受控终止,退出无法确认时禁止自动重试;Pi absolute max 对齐 4h;Worker 默认不再给 `run-dag` 设置外层 wall-clock,显式 `worker.timeout_ms` 仍为 hard timeout。
503
+
504
+ ### 改进
505
+
506
+ - backend-test 7 节点现在只执行最终 Markdown `自动化映射` 明确声明且安全校验通过的 pytest 脚本,避免历史或无关 `test_*.py` 混入本轮 JUnit/HTML;空映射、缺失脚本或越界路径会 fail-closed。
507
+ - backend-test HTML 报告升级为更清晰的用例卡片:保留测试结论、质量状态和失败概览,直接展示简洁测试场景、自动化用例名称、结果与耗时,并为通过/失败用例都展示同次执行中脱敏且有界的接口请求参数与响应结果;HTML 不再附带技术证据章节,审计路径与哈希继续保留在 facts/JUnit。
508
+ - frontend-test 第四节点不再扫描或阻断 pytest、原生 Playwright、`npx playwright`、`@playwright/test` 或 Node Playwright API 等可执行工具指令;该节点只保留 manifest、Case/AC/path、非生产 URL 和标准 `playwright-cli open` 前缀等结构与安全门禁,并强烈建议浏览器执行优先使用 `playwright-cli`。
509
+ - frontend-test 用例内容、Case ID、AC 关联与 evidence 完整性检查改为 advisory:缺失或损坏的执行物料不再被自动改写为 blocked,也不阻断最终复盘;finding 汇入结构化结果,并在 Markdown retrospective 后生成中文 HTML 建议报告。路径越界、跨用例 evidence 引用、writeSet、生产环境与凭据安全仍保持硬门禁。
510
+ - frontend-test checklist JavaScript 通过 Base64 参数交给 Node 解码执行,并修正变量声明顺序与重复语句,避免 Git Bash `\s` / `\d`、反引号或引号破坏后再交给 Node
511
+ - 新初始化项目的 harness 指南同步 adaptive liveness、4h absolute max、stall 状态与 `termination-unconfirmed` 处置;旧项目可由 `init check-update` 识别未修改的受管指南,并通过 `init update --apply-safe` 安全刷新。
512
+
513
+ ## [0.20.1] - 2026-07-24
514
+
515
+ ### 新增
516
+
517
+ - LLM/provider 偶发失败时可在同节点自动重试;reviewer 漏写 `VERDICT` 等协议错误也会在节点内纠错重试,不必等下游 gate 才失败
518
+ - 新增 `loop-agent dag rerun`:在安全资格通过时,从选定节点重跑只读子图,并保留父 run 证据与 import 审计
519
+ - 新增 `loop-agent dag rerun-task`:一键完整重跑 standalone 任务(重新生成、校验并执行),不修改父 run
520
+ - Operator Console Recovery 提供明确动作:从节点重跑、完整重跑任务、重新排队 Worker Task(不再使用含糊的「重试」)
521
+ - 前端规范读取将知识库与 `openspec/` 作为并列来源:无论知识库是否可用或命中,均继续递归枚举 `<repoRoot>/openspec/**` 并读取索引与任务相关规范正文。`discoverFrontendProjectCapability` 在没有 `package.json` 或 `package.json` 不可读时仍能发现 `openspec/**` 规范候选。
522
+ - 前端预写门禁会校验 plan/design-review 的真实读取事件;生成期存在 `openspec` 规范候选但没有成功读取匹配文件时,在 writer 执行前阻断 DAG 并列出候选路径、检查节点和原因。
523
+ - Dashboard 规范证据 API/UI 分别展示知识库查询、`openspec` 检索和 `openspec` 成功读取证据,三种类别独立展示。
524
+ - 前端规范证据 API 新增 `openspecReads` `openspecSearches` 字段,与通用 `specReads`/`specSearches` 并行。
525
+
526
+ ### 改进
527
+
528
+ - backend-test 第 4 个 Markdown 校验节点只将前置条件、操作步骤和预期结果作为必需章节;需求来源引用有效性不再阻断后续测试。普通质量问题保持 advisory,但 secret-shaped 值会先生成脱敏安全报告再 fail-closed,避免进入 pytest、HTML/facts 和最终报告。
529
+ - backend-test 生成的真实 HTTP pytest 现在必须输出脱敏且有界的请求/响应日志,包含 method、URL/path、请求参数摘要、响应状态和响应 body 摘要;追溯节点会在 Markdown 映射脚本范围内把日志合同缺口记录为 advisory。
530
+ - backend-test 第 7 节点的 HTML/facts 按测试概览、质量校验、失败概览、用例执行明细和技术证据分层展示;第 8 节点使用固定简洁的中文收口结构,减少重复原文并优先展示结论和风险。
531
+ - Operator Console「恢复」面板自动拉取 DAG 运行与节点候选,优先展示失败项并以选择器填入,仍可手动输入
532
+ - 从节点重跑预检失败时展示真实安全资格阻断原因,不再误报为「无法获取 planHash」
533
+ - 恢复页长操作(完整重跑等)会回写终态成功/失败;不再只提示「已接受」后无下文
534
+ - 恢复原因按所选 run/节点与失败事实自动预填,并给出三步操作指引;手动编辑不会被覆盖
535
+ - 恢复页将「DAG 运行恢复」与「Worker Task 重排队」分成独立区域,避免把 runtime DAG 与 Task Pool 动作混在一起
536
+ - 恢复页去掉高亮「打开检视」,避免与顶部「观测」入口重复误点;需要时用「侧栏预览」或「全屏观测」
537
+ - 恢复页「侧栏预览」在本页打开可关闭;全屏观测顶栏改为「返回操作台」
538
+ - 修复侧栏预览:兼容 Observe 的 `nodeId`/`label`,并安全格式化 session-events(避免 React 渲染对象导致整页空白)
539
+ - 恢复 CTA:查看报告改走 `dag report`(按 run ID);推荐动作仅用橙色主按钮标出,悬停看说明
540
+ - 从节点重跑 / 完整重跑任务点击后,在按钮下方出现「确定 / 取消」确认条
541
+ - 恢复页不再展示仅弹 CLI 提示的按钮(如「重新生成契约/计划」)
542
+ - 「查看报告」在按钮下方展示交接摘要(失败分类与建议),不再只闪顶部提示
543
+ - 控制器指纹漂移错误改为中文提示:请重启 Console,勿在会话中途重建
544
+ - frontend-test 环境预检:在生成用例前对冻结的非生产 `baseUrl` 做 curl 可达性探测;不可达或缺少 curl 时以 `frontend-base-url-unreachable` / `curl-unavailable` 阻断 generate/map,并写入 `environmentProbe` 事实。节点 5 manifest 物化改为 ruleId 失败分类、map 配额预检与 temp+rename 原子写入;生成/清单/执行强制 playwright-cli-only,U/D 场景要求当前用户数据归属或 create/Mock/blocked。
545
+ - 前端测试 DAG 的证据自检改为按用例降级:个别缺失、空白或格式错误的证据会如实标为 blocked 并继续生成复盘报告;只有全部用例都未产生任何证据内容或证据路径不安全时才失败。
546
+
547
+ ### 修复
548
+
549
+ - Observe 总览 KPI 问号提示框宽度与窄卡片解耦:提示框使用稳定的 240–280px 视口安全宽度,并在五列、三列和两列布局的右侧列向内对齐,避免宽屏下被压缩成约 78px 的窄条;hover 与键盘焦点行为保持不变。
550
+ - 节点检查器的规范证据文件预览会渲染 Markdown 标题、列表、表格与代码块,不再把正文作为带语法标记的纯文本显示。
551
+
552
+ ## [0.20.0] - 2026-07-23
553
+
554
+ ### 新增
555
+
556
+ - 继续收紧前端实现证据门禁:禁止空 verification contract,校验验证目标与 requirement/UI state/授权路径绑定;新版 review context 缺失 writer baseline 时直接阻断,非 `not-needed` Mock 策略必须提供 endpoint 与 consumer 证据。
557
+ - 前端写入前重新校验 DAG 绑定源文件的 SHA-256;Mock endpoint 现在必须声明 fixture consumer,且验证 trace 必须记录成功的 Mock 命令。
558
+ - 前端验证 bundle 现在冻结实际命令文本,并将实现契约 targets 限制在 writer writeSet 内,避免验证证据与可写范围漂移。
559
+ - 同步前端 prewrite/review context 的 DAG JSON Schema,避免生成 DAG 因 freshness、writeSet 或 baseline 字段漂移而被错误拒绝。
560
+ - 前端 prewrite 现在强制校验需求源新鲜度,验证 Schema 也要求声明实际命令文本,减少旧 DAG 和证据配置的隐式降级。
561
+ - 前端实现 DAG 的验证命令与侦察范围改为从目标项目自身的 package scripts、包管理器和允许路径推导,不再假设目标项目沿用 loop-agent 的目录与命令布局。
562
+
563
+ ### 改进
564
+
565
+ - 前端实现 DAG 的验证命令与侦察范围改为从目标项目自身的 package scripts、包管理器和允许路径推导,不再假设目标项目沿用 loop-agent 的目录与命令布局。
566
+ - 后端测试用例默认生成中文 README 索引与模块用例卡片,步骤、预期、需求依据和自动化映射更便于测试、研发与评审人员阅读。
567
+ - 后端测试 HTML 主报告现在逐条展示用例编号、中文名称与场景、脚本、测试函数、结果、耗时和失败原因,完整技术详情可折叠查看。
568
+
569
+ - streamline implementation DAG (#61)
570
+ - improve human-readable artifacts
571
+
572
+ ### 修复
573
+
574
+ - relax traceability mapping
575
+
576
+ ## [0.19.0] - 2026-07-23
577
+
578
+ ### 重点更新
579
+
580
+ - Operator Console 统一整合 Operate 与 Inspect,在同一服务即可检视只读 Dashboard、DAG、时间线与 artifacts
581
+ - Observe 服务进入兼容期,仍可运行但会输出迁移提示,引导平滑过渡到统一控制台
582
+
583
+ ### 新增
584
+
585
+ - 新增统一 Operator Console:`console serve` 同时提供 Operate 与 Inspect,支持通过 `/inspect/` 直接检视运行详情与 DAG
586
+ - Console 健康检查接口升级,包含 Inspect 就绪状态与路由能力信息
587
+ - `console serve` 新增局域网绑定(`--host 0.0.0.0`)与调试日志(`--debug`)选项,并在非本地访问时保留安全校验
588
+
589
+ ### 改进
590
+
591
+ - `frontend-implementation` 保留独立 contract/scout,并把 Mock 策略与 implementation contract 合入 plan,把写前授权、验证/失败评估、复验和 review context 分别收敛为组合 shell 节点。standard/high-risk 固定 15 个顶层节点、small-risk 13 个;绿色路径执行 11 个节点、7 次 Pi,同时保留唯一 prewrite 写入授权、同 writeSet repair、真实 diff review 与 fail-closed closeout。
592
+ - 加强前端实现节点的证据链:Trace 只绑定本次实际成功执行的验证命令,契约兼容转换不再补入占位文件或默认验证目标,Prewrite 要求上游节点明确完成,review context 校验 artifact 绑定,并以 writer 前工作区快照隔离既有用户改动。
593
+ - 优化操作与观测统一界面的导航与布局,合并确认与运行为「开始运行」,DAG 详情跳转路径更加准确
594
+
595
+ ### 修复
596
+
597
+ - 修复执行计划索引将命名约定占位符(如 `YYYY-MM-DD-<topic>.md`)误判为缺失计划引用的问题
598
+
599
+ ## [0.18.1] - 2026-07-22
600
+
601
+ ### 重点更新
602
+
603
+ - 放宽后端测试 Markdown 用例的映射与验收标准校验,减少合法用例被误拦截的情况
604
+ - 修复文档审计报错未阻断 CI 的治理漏洞,并全面修正失效链接
605
+ - 清理发布日志中残留的已发布记录,避免将已上线能力误展示为未发布
606
+
607
+ ### 修复
608
+
609
+ - 放宽后端测试 Markdown 用例的每条补充 Case 必须包含 AC 标识的硬性要求,改为确保任务要求的业务 AC 场景至少被一条最终用例覆盖即可,整体缺失必需 AC 时仍会严格阻断
610
+ - 放宽后端测试 traceability 映射校验,Case ID 可位于测试函数名、装饰器、函数体或文档字符串区域,不再强制首行文档字符串或严格一对一映射,避免重复映射等情况导致的误阻断
611
+ - 修复文档审计在发现错误时未返回非零退出码导致 CI 假绿的问题,并将链接门禁覆盖范围扩展至完整的 docs/ 目录
612
+ - 修正文档报告分类迁移后遗留的 269 条失效链接
613
+ - 修复自动发布创建版本区块时未正确消费已发布内容并清理残留记录的问题,移除了随 0.18.0 版本发布的 59 条残留日志
614
+
615
+ ## [0.18.0] - 2026-07-22
616
+
617
+ ### 重点更新
618
+
619
+ - 后端测试全面采用 Markdown 优先工作流,整合环境预检、独立审查与确定性门禁,单次执行即可生成完整测试报告。
620
+ - 前端实现与测试流程大幅优化,按需执行计划修订与验证,常规全绿路径执行节点数量显著减少。
621
+ - 修复多项严格校验导致的误中断问题,大幅提升 Markdown 用例生成、追踪映射与异常清理的兼容性。
622
+ - 优化 Pi CLI SDK 执行器,彻底解决长文本输出导致的内存溢出与进程卡死问题。
623
+
624
+ ### 新增
625
+
626
+ - 引入 Markdown 优先的后端测试工作流,支持环境预检、独立审查用例并生成自包含的 HTML 与 Markdown 报告。
627
+ - 新增升级后的初始化面通知器,在检测到版本不一致时自动提示安全更新或引导人工处理。
628
+ - 新增统一的初始化协调命令,支持安全应用更新并智能处理各类阻断情况。
629
+ - 测试报告新增 L-5 指标消费与统一的代码覆盖率报告入口,支持 Python Java 测试数据。
630
+
631
+ ### 改进
632
+
633
+ - 前端实现绿色路径改为按需分支执行,常规无错路径可少执行多个节点,提升执行效率。
634
+ - 前端测试用例生成现可自动解析明确的 baseUrl,不再保留占位符,避免执行异常。
635
+ - 前端测试复盘报告写入路径调整,支持安全禁止整个 docs 目录的写入权限。
636
+ - 夜间自动发布机制优化为双基线检测,手动补丁不再抹除同周期的功能信号。
637
+ - GitHub Actions CI 优化执行策略,合并任务并跳过纯文档变更,有效降低私有仓库分钟消耗。
638
+
639
+ ### 修复
640
+
641
+ - 修复 Markdown 用例追踪映射将 HTTP 状态码等数字误识别为用例 ID,以及无法正确识别带返回类型标注的测试函数的问题。
642
+ - 修复 Markdown 用例门禁误拒绝合法的列表断言,以及无法正确解析相对路径绑定文件的问题。
643
+ - 修复 Pi CLI 执行器将单个节点完整标准输出累积为单一字符串,导致长文本输出时内存溢出或卡死的问题。
644
+ - 修复 Windows 环境下因清理环境变量导致 Python 和 pytest 无法正确发现用户级依赖的问题。
645
+ - 修复初始化演进的高影响校验未覆盖专用路径,导致必要审查被静默跳过的问题。
646
+
647
+ ## [0.17.2] - 2026-07-22
648
+
649
+ ### 改进
650
+
651
+ - Operator Console Happy Path 补齐:主导航(任务/恢复/模型与认证/设置)、newTask / importPrd、grill-me Interview(一次一问 + assessment)、SSE 运行跟随;Pi readiness 可刷新。
652
+ - Operator Console 页面交互文案改为中文(导航、向导步骤、按钮与状态说明);产品名与 CLI 命令仍保留英文术语。
653
+ - Operator Console 界面与交互美化:暖色画布、胶囊导航、步骤进度条、统一按钮层级与状态条,运行面板元信息更清晰。
654
+ - Operator Console Happy Path 增加「流程类型」选择(后端研发 / 前端研发 / 后端测试 / 前端测试),写入 `taskKind`;访谈枚举同步支持 `frontend-implementation` `frontend-test`。
655
+ - Console Happy Path 去掉单独的「创建任务」步骤:导入需求时根据 PRD 标题自动生成任务名称与 canonical taskId,并一键创建任务 + import-prd。
656
+ - Operator Console 需求访谈可跳过:一键按 grill-me 推荐补齐草稿并签发评估,可直接进入契约校验。
657
+ - Operator Console 将「校验契约 / 应用契约 / Spine 审计」合并为「契约落地」:自动确定性校验与差异,人工确认一次应用,成功后自动 Spine。
658
+ - Observe 运行看板视觉对齐 Console:暖色渐变画布、胶囊导航、柔和面板阴影与状态点,减少高饱和色块;进一步统一 badge/表格/风险块/时间线/DAG 图与 inspector、对象关系条与推荐命令等视图组件。
659
+
660
+ ### 修复
661
+
662
+ - Console Draft validate/diff/apply 前会投影为 CLI 严格 schema:补齐 `constraints.invariants`,并去掉仅 Console 使用的 `updatedAt`,避免误报 draft schema validation failed。
663
+ - 修复访谈完成后绑定 `interviewAssessmentRef` 会立刻让 assessment 过期的问题:`draftSha256` 不再纳入该绑定字段;finalize 时先清空 `openQuestions` 再签发 assessment。
664
+ - 修复 Console `contractApply` 默认传入 `expectedObservedHash=unknown` 导致 OBSERVED_HASH_CONFLICT / 页面只见 `exit 1`:改为先 `task contract show` 再传真实 revision/hash;异步操作失败时展示 CLI 错误信息。
665
+ - 修复应用契约后界面卡住:轮询操作结果时误读 `{ ok, operation }` 响应,一直等到超时且无法进入 Spine。
666
+ - 修复 DAG 确认准备失败:不再提交空 stub DAG;`prepareDagConfirmation` 会经 `dag run-task` 生成真实 DAG;`dag validate` 接受 `--json` 兼容 Console。
667
+ - 修复 Console `runDag` 因 `run-dag --json` 未识别而失败:CLI 现接受该旗标(输出本就为 JSON)。
668
+ - 运行 DAG 不再用短超时阻塞整页:`runDag` 改为后台接受 + SSE 跟随;Observe 按钮与任务 busy 解耦,运行中可打开。
669
+ - Console 打开 Observe 时,若只给 taskId,会解析该任务最新 DAG run 并跳转 `#/dag/<runId>`,不再误开 `#/task/<taskId>`。
670
+
671
+ ## [0.17.1] - 2026-07-22
672
+
673
+ ### 修复
674
+
675
+ - TaskSpec materialize 在写入 task.json、需求和约束后会自动 adopt 或刷新 managed Task Contract,避免生成 v4 DAG 后立刻因 binding drift 无法 validate/run
676
+ - Operator Console Pi readiness 改为真实探测 SDK、认证和可用模型;本机已配置 Pi 时不再误报 `setup-required`,界面同步对齐 Observe 暖白画布。
677
+
678
+ ## [0.17.0] - 2026-07-22
679
+
680
+ ### 新增
681
+
682
+ - streamline report-first workflow (#53)
683
+ - add operator console, task contract, and harden bindings (#51)
684
+ - condition DAG design and repair branches
685
+
686
+ ### 修复
687
+
688
+ - synchronize console frontend lockfile (#52)
689
+ - tolerate mock strategy format drift
690
+ - bound executor output
691
+
692
+ ## [0.16.26] - 2026-07-22
693
+
694
+ ### 修复
695
+
696
+ - Git checkpoint 对 `allowed_paths` 内的 **gitignored 证据文件**(如 dogfood `reports/welcome/final/*.json`)执行 `git add -f` 纳入 checkpoint;敏感路径与范围外 ignored 文件仍 fail-closed。修复 FINAL-VERIFY DAG/report 已绿却因 ignored evidence 记 `record-error`、Task Pool 卡 Running 的 Delivery 阻断。
697
+
698
+ ## [0.16.25] - 2026-07-22
699
+
700
+ ### 修复
701
+
702
+ - Backend-test pytest preflight 与执行体改为 `&&` fail-closed:preflight 失败不再因 `;` 继续跑 pytest(I27 曾出现 preflight 报 `WELCOME_BASE_URL`/testRoot 错配仍执行用例)。
703
+ - 本地 `npm start` / `node server.js` 类 `managed-command` 在 materialize 时降级为 `in-process`,清空 requiredEnv、seed server fixture,并把 scout `testRoot` 收敛到冻结根 `testcase/`;generate-pytest 提示要求 fixture 内启动服务,不再依赖 clean-env 注入 base URL。
704
+
705
+ ## [0.16.24] - 2026-07-21
706
+
707
+ ### 改进
708
+
709
+ - frontend-test 默认改为**短链 RAG**:`reviewMode` 默认 `off`(机械 `frontend-case-checklist-shell` 放行,不再默认双轮 LLM review 硬门);`strictOutcomeGate` 默认 `false`(outcome 全绿门 opt-in)。**流程验收=最终 retrospect 报告**,不以 case 100% 通过为条件。map 仅在 `dynamicExpansion.tolerateChildFailures=true`(frontend-test 默认开启)时将 child auth/timeout/executor 错误落 case-level blocked/failed evidence 且不炸 map closeout;其它 map 仍 fail-closed。
710
+ - Shell `verdictGate` 改为纯 `node -e` 单次调用,降低 Windows Git Bash 复合脚本崩溃风险。
711
+
712
+ ### 修复
713
+
714
+ - Windows DAG Shell/verification 的 clean environment 现在保留 `APPDATA`,使 Python 3.12/pip 可按系统规则发现用户级 `site-packages` 与其中的 pytest;仍不会继承完整宿主环境或透传未授权 token/credential,backend-test 无需硬编码用户路径。
715
+
716
+ ## [0.16.23] - 2026-07-21
717
+
718
+ ### 修复
719
+
720
+ - DAG runner 在归档到 `completed/` 前停止 heartbeat 并排空 state 写队列。避免 terminal 节点全 FINISHED 后仍因 completed-facts write guard 拒绝写 `state.json` 导致 `run-dag` 非零退出、Worker 记 `run-error`/Task Pool `Blocked`。
721
+
722
+ ## [0.16.22] - 2026-07-21
723
+
724
+ ### 修复
725
+
726
+ - Git checkpoint `allowed_paths` 审计与 shell write-guard 对齐:忽略 `.playwright-cli/**` 等 ephemeral tool cache。frontend-test 浏览器用例与 `frontend-test-result` 已绿时,不再因 playwright-cli 会话落盘导致 promote/closeout `record-error`。
727
+
728
+ ## [0.16.21] - 2026-07-21
729
+
730
+ ### 修复
731
+
732
+ - DAG `sourceBinding.requirementIds` 优先取任务 `需求.md` 的 `## Acceptance References`(TaskSpec `acceptance_refs`),不再把 Feature 整份 `acceptance.yaml` 的兄弟 AC 扫进本任务。修复 frontend-test 用例全绿却因 `AC-CONTRACT-*` missing 判 incomplete 的假失败。
733
+
734
+ ## [0.16.20] - 2026-07-21
735
+
736
+ ### 修复
737
+
738
+ - Shell write-guard 忽略 playwright-cli 默认会话落盘 `.playwright-cli/**`(console/page dump)。frontend-test 浏览器用例已把权威证据写到 `testcase/frontend/evidence/**` 时,不再因工具缓存误拦 exclusive writer。
739
+
740
+ ## [0.16.19] - 2026-07-20
741
+
742
+ ### 修复
743
+
744
+ - frontend-test result 物化在比较 evidence 路径前先 `realpath` 仓库与 evidence 根,避免 macOS `/var`→`/private/var` 导致的 `evidence realpath escapes its allowed root` 误拦。
745
+
746
+ ## [0.16.18] - 2026-07-20
747
+
748
+ ### 修复
749
+
750
+ - frontend-test 执行预检改为硬校验绝对非生产 `baseUrl`(优先 config.md,缺省 `http://localhost:5173`);fixture/reset 不再作为 preflight 硬门,避免中文隔离叙述因缺少英文 `reset` 被误拦。
751
+
752
+ ## [0.16.17] - 2026-07-20
753
+
754
+ ### 修复
755
+
756
+ - backend-test execution 合同在 `in-process` 且 `existingFixtures: []` 时注入非秘密默认 fixture(优先 server bootstrap),避免 near-schema 侦察输出在 contracts 门 fail-closed。
757
+
758
+ ## [0.16.16] - 2026-07-20
759
+
760
+ ### 修复
761
+
762
+ - 动态 DAG `itemsFrom` / JSON 选择器从 shell 节点 stdout 解析时,可跳过命令回显行并提取末尾 JSON 对象,避免 frontend-test `execute-frontend-cases-map` 在 materialize 门成功后仍因 `$ node -e ...` 前缀失败。
763
+
764
+ ## [0.16.15] - 2026-07-20
765
+
766
+ ### 修复
767
+
768
+ - frontend-test case manifest 校验接受 `evidenceDir` 为 `testcase/frontend/evidence/<caseId>` 目录根(不必强制尾斜杠/子路径),避免生成节点写出合法目录后被 materialize 门误杀。
769
+
770
+ ## [0.16.14] - 2026-07-20
771
+
772
+ ### 修复
773
+
774
+ - `frontend-test` materialize / path audit 自动并入 `testcase/frontend/**` 与 `docs/test-reports/**`,与 hybrid frontend-test DAG 生成约束对齐,避免 TaskSpec 仅声明 `tests/e2e/**` 时 `dag run-task` 直接失败。
775
+
776
+ ## [0.16.13] - 2026-07-20
777
+
778
+ ### 修复
779
+
780
+ - backend-test 的 `finalize-effective-result` 管道在节点完成后绑定 `contracts/backend-test-result.json` 为 structured artifact,使 Outcome 投影出 `backend-test-result`,解除 FE-TEST Ready Planner 对 BE-TEST 产物门的误阻断。
781
+
782
+ ## [0.16.12] - 2026-07-20
783
+
784
+ ### 修复
785
+
786
+ - `backend-test` materialize / Git checkpoint 自动并入 `testcase/**`(与 `docs/test-reports/**`)运行时写根,避免 TaskSpec 仍写 `tests/api/**` 时绿跑无法 promote、任务卡在 Running。
787
+
788
+ ## [0.16.11] - 2026-07-20
789
+
790
+ ### 修复
791
+
792
+ - Worker 报告决策不再把条件分支的 `SKIPPED` 节点当成失败;backend-test 等混合 DAG 在 revise/repair 未选中时,只要 ERROR 不存在且 run finished,即可 `report-completed` 并进入 Outcome/promote。
793
+
794
+ ## [0.16.10] - 2026-07-20
795
+
796
+ ### 修复
797
+
798
+ - 后端测试执行合同物化会清理 `managedCommand` 中的空字符串(如 `stop: ""`),避免 near-schema 侦察输出在 strict parse 下误拦 in-process BE-TEST。
799
+
800
+ ## [0.16.9] - 2026-07-20
801
+
802
+ ### 修复
803
+
804
+ - Outcome 结构化产物声明不再绑定节点 mint-time sha256;同一路径若被后续 gate(如 backend-test traceability)就地改写,投影时以磁盘重算 hash 为准,消除 BE-TEST 完成态仍被 `artifact sha256 mismatch` 误拦。
805
+
806
+ ## [0.16.8] - 2026-07-20
807
+
808
+ ### 修复
809
+
810
+ - Outcome 投影对同一 run-owned 结构化产物路径的多次 rewrite(如 backend-test case manifest initial→final)只保留最后一次 hash 声明,避免 `artifact sha256 mismatch` 误拦已完成的 BE-TEST。
811
+
812
+ ## [0.16.7] - 2026-07-20
813
+
814
+ ### 修复
815
+
816
+ - 前端实现合同物化支持 free-form plan JSON 归一化(GWT/对象 UI 状态、requirementCoverage、mock productionDefaultOff),避免 FE-IMPL 在 `frontend-implementation-contract-shell` 因字段漂移误拦。
817
+
818
+ ## [0.16.6] - 2026-07-20
819
+
820
+ ### 修复
821
+
822
+ - write guard 忽略 `__pycache__` / `.pytest_cache` 等 ephemeral 解释器缓存,避免 backend-test 生成节点本地冒烟 pytest 时被误拦;并明确 generate-pytest 节点不负责执行测试。
823
+
824
+ ## [0.16.5] - 2026-07-20
825
+
826
+ ### 修复
827
+
828
+ - 后端测试分析/执行合同物化支持 free-form 环境侦察与 GWT/嵌套 endpoint 形状的严格 schema 归一化,避免 BE-TEST 在 contracts 门被模型字段漂移误拦。
829
+
830
+ ## [0.16.4] - 2026-07-19
831
+
832
+ ### 修复
833
+
834
+ - 后端测试 `backend-test-semantic-final-gate-shell` 改为复合 pipeline `semantic-effective`,不再手写读 contracts 的 inline shell,避免 `--strict-governance` 误判为 fragile verdict gate 并阻断 BE-TEST DAG 校验。
835
+
836
+ ## [0.16.3] - 2026-07-19
837
+
838
+ ### 修复
839
+
840
+ - 前端实现 DAG 在 review 前新增确定性 `frontend-worktree-diff-shell`,写出 run-owned `diff_patch` 与清单,避免 review 因找不到 actual diff 而误拦截。
841
+
842
+ ## [0.16.2] - 2026-07-19
843
+
844
+ ### 修复
845
+
846
+ - 前端 `frontend-implementation-contract-shell` 物化时用 DAG 权威 `sourceBinding` 覆盖模型输出,避免模型错绑 requirement 路径/哈希或额外引用路径导致实现链在设计门后 fail-closed。
847
+
848
+ ## [0.16.1] - 2026-07-19
849
+
850
+ ### 重点更新
851
+
852
+ - 修复全栈 dogfood 产物与恢复缺口:`produces.path` 可投影为 hash-bound Outcome、closeout 证据迁入 `.harness/`、成功任务 Git checkpoint 先于 Task Pool Done,并补齐 reconcile / mark-failed / advance-checkpoint
853
+ - 收紧夜间自动发布门槛:至少一个可发布 Conventional Commit,且稳定 tag 后总提交数 5 或距上次发布满 1 天,才自动发版
854
+ - 将根 README 收敛为产品入口,本地环境排障说明独立成篇,降低首次阅读噪声
855
+
856
+ ### 新增
857
+
858
+ - 新增分支合并规范:按影响自动选择快速、标准或深度模式,统一双方功能保留审查、冲突解析、source-SHA 报告与 init/package 影响校验
859
+ - `.gitignore` `loop-agent init` managed block 现忽略 `.harness/dogfood-evidence/`,避免把 fullstack / Worker dogfood 本地战役证据误提交
860
+
861
+ ### 改进
862
+
863
+ - Observe DAG 详情移除依赖图下方重复的层级节点列表,并为节点表增加连续序号,浏览执行结构时更紧凑、更易定位
864
+ - README 仅保留定位、适用问题、5 分钟开始、核心边界和文档导航;Agent DAG、Worker、发布与运维细节统一下沉到专题文档
865
+ - Cursor Cloud 等环境排障说明从 `AGENTS.md` 迁至 `docs/local-development-environment.md`
866
+
867
+ ### 修复
868
+
869
+ - 全栈 dogfood 修复批次:reviewed/supervised DAG 增加一次性 review VERDICT 格式恢复;shell 改为非 login `bash -c`;PATH/VERDICT 格式失败分类对齐 EnvFailure/ContractMismatch
870
+ - 旧目标项目可用 `init check-update` / `update --apply-safe` 刷新 ignore 区块以忽略 dogfood-evidence
871
+
872
+ ## [0.16.0] - 2026-07-19
873
+
874
+ ### 重点更新
875
+
876
+ - Eval Lab 落地受控评测外环,支持 candidate 矩阵编排、Context Policy A/B dogfood 与 Ignition 研究门禁,全程 autoPromote=false,晋升须人工审核
877
+ - Worker 新增 TaskSpec 显式工作流路由,为四类任务生成带哈希锚定的 Task Outcome,并在晋升前校验 run_record、dag_json 等必需产物
878
+ - 新增 fullstack-v1 Feature Profile,支持确定性结构门禁与 Feature Verification Bundle v1,交付与收尾阶段任一身份漂移或产物篡改均阻断发布
879
+ - Eval Lab 落地固定预算运行时,DagSpec v3 可声明硬预算门禁,超限 fail closed 并输出预算账本,缺失 token 不被当作 0
880
+
881
+ ### 新增
882
+
883
+ - Eval Lab 新增 Context Policy A/B dogfood 脚本,串联 corpus/candidate/campaign/scorecard 与人工 promote(默认 dry-run),不改 DAG 默认策略
884
+ - Eval Lab 新增 Ignition 研究门禁命令,记录多代 proposer 并给出趋势 verdict,恒为研究用途,不自动晋升
885
+ - Eval Lab 新增 Corpus 契约命令与 dogfood 样板清单(15 个异质任务,public/private/held_out 齐全)
886
+ - Eval Lab 新增 public/private campaign 与 private-verifier,支持多 seed 可重复计划与 candidate 内容泄漏门禁
887
+ - Eval Lab 新增 anti-hack 审计与 Promotion Policy v1,检测验证弱化与可疑 outlier,promote 须通过多项门禁且默认 dry-run
888
+ - Eval Lab 新增固定预算运行时,支持按节点累计资源消耗,硬门禁超限 fail closed 并写出 budget-ledger
889
+ - Eval Lab 新增可切换 Context Policy(baseline-v1 默认与原先一致,role-specialized-v1 按角色调整预算)
890
+ - 新增 fullstack-v1 dogfood Feature F-2026-005,提供零依赖可运行目标仓与双覆盖验收样板
891
+ - 新增 fullstack-v1 Feature Profile,对 packet 执行确定性结构门禁,未声明 profile 的 legacy packet 行为不变
892
+ - AcceptanceSpec verification 新增可选的实现/验证任务引用、required_evidence 与 integration 声明,保留 legacy 字段兼容
893
+ - TaskGraph 节点新增可选 consumes/produces 声明与 Ready Planner artifact gate,上游产物不可验证时下游阻塞
894
+
895
+ ### 改进
896
+
897
+ - TaskSpec 支持可选 execution.workflow,可确定性物化为任务 DAG 类型并展示在 Worker、Task Pool、晨报与 Observe
898
+ - Ready Planner 明确仅做 envelope 级绑定,不重算产物文件 sha256,文件级 hash 在 Outcome projection 与 Feature Verification Bundle 执行
899
+ - DAG 节点 authoring guidance 明确 Pi 是唯一受治理 writer,cursor-prompt 仅作手工 one-shot sidecar
900
+ - Eval Lab propose 与 experiment 命令支持有界提出 experimenting candidate,accept/reject 须通过 scorecard 门禁,不自动改写已接受 skill
901
+ - 文档基线全面校准至 0.15.0,同步半年规划、仓库分析与路线图,harness Pi MED 路由至 grok-4.5
902
+ - Eval Lab dogfood 脚本改为可安全重复运行,并记录 promote --apply 序列供后续分析
903
+
904
+ ### 修复
905
+
906
+ - 对齐 Task Outcome 与 Ready Planner 契约:Ready 仅做 envelope 级绑定,Outcome 产物补齐独立 schemaId,失败时写入 outcomeFailure
907
+ - 规范化 shell_verification 为标准 evidence token(兼容旧 shell-verification),未知 outputs.required token 保持兼容不阻塞
908
+ - 清理 0.15.0 版本仍残留在 Unreleased 区块的更新日志条目
909
+ - Eval Lab 运行态(candidate/campaign/scorecard)现被 .gitignore 忽略,旧项目可用 init check-update 刷新 ignore 区块
910
+
911
+ ## [0.15.0] - 2026-07-18
912
+
913
+ ### 重点更新
914
+
915
+ - 新增 Pull Request 的只读 AI 自动审查,自动检查代码缺陷与测试缺口并更新评论
916
+ - 引入内部测试版本夜间自动发布工作流,主干达标后自动更新版本并发布
917
+ - 收紧 npm 发布包范围,仅保留 init 与 runtime 必需的文档和脚本
918
+ - 修复预发布版本被误发布至 latest 的风险,发布门禁改为按版本号状态严格限制
919
+
920
+ ### 新增
921
+
922
+ - 新增 Pull Request 的只读 AI 自动审查:在创建、重新打开、转为 ready 或更新提交时检查 bug、测试缺口、runtime boundary 等,并更新单条 PR 评论
923
+ - 新增内部测试版本夜间自动发布:达到提交门槛并通过发布检查后,自动更新版本、生成中文说明并发布 GitHub Release 与 npm
924
+ - 新增面向内部研发人员的轻量 GitHub 协作指南和简短 Pull Request 模板,统一采用短分支与 Squash Merge 的最小协作闭环
925
+ - 新增 `.editorconfig` 与 `.gitattributes`,统一常见文本文件的 UTF-8、LF、缩进和文件末尾换行约定
926
+
927
+ ### 改进
928
+
929
+ - 收紧 npm 发布包中的 `docs/` 范围:只保留 init/runtime 所需的治理文档、architecture、skills 与 templates
930
+ - 收紧 npm 发布包中的 `scripts/`:只保留知识库实际调用的脚本,不再打包源仓治理检查与 `.sh` 包装
931
+ - 前端实现 DAG 的 `frontendMock.policy=auto` 不再因为目标项目缺少 Mock 能力而阻塞,无确认能力时自动跳过并保留真实请求默认路径
932
+ - 文档基线全面校准至 0.14.0,修复了多处的文档索引遗漏与旧路径引用
933
+
934
+ ### 修复
935
+
936
+ - 修复私有仓库 AI PR 审查因通过网页 `*.diff` 地址拉取差异导致 404 的问题,改为经 GitHub API 获取 diff
937
+ - 修复预发布版本误发布到 `latest` 的问题:发布门禁改为按版本号的 prerelease 状态限制 dist-tag,beta prerelease 仅允许 `beta` tag
938
+ - 修复网站更新日志(Changelog)的版本插入位置错误:新版本段落不再错误地插入到读者摘要之前,保持页面结构正常
939
+ - 修复网站更新日志中残留的 `[Unreleased]` 块未随版本发布移除的问题
940
+
941
+ ## [0.14.0] - 2026-07-18
942
+
943
+ ### 重点更新
944
+
945
+ - 新增夜间自动发布工作流,主干达到提交门槛后自动更新版本、生成说明并发布
946
+ - 运营看板重构为执行面优先布局,并新增可展开的富执行过程时间线
947
+
948
+ ### 新增
949
+
950
+ - 定时触发的 GitHub Actions 夜间发布工作流,支持 dry-run 预演与正式发布
951
+ - 运营看板新增执行过程时间线,支持展开查看工具调用与 AI 正文,并记录时间戳
952
+ - 资源池默认手动刷新,突出展示需处理和 Ready 状态的任务
953
+ - 总览页改为执行面 KPI 与风险并排展示,节点检查器默认半屏显示
954
+
955
+ ### 改进
956
+
957
+ - 发布说明支持 OpenAI 兼容模型生成,并在模型不可用时自动回退到保守摘要
958
+ - 破坏性变更识别改为严格遵循 Conventional Commits 规范,避免因正文提及该词而误判
959
+
960
+ ### 修复
961
+
962
+ - 修复模型返回的 JSON 包含 Markdown 代码块导致解析失败、发布说明始终回退为默认摘要的问题
963
+ - 修复提交信息中包含 'breaking change' 字样被误判为破坏性变更从而阻断发布的问题
964
+ - 补充 format-pool.d.ts 类型声明文件,修复 CI 类型检查报错
965
+
966
+ ## [0.13.0] - 2026-07-18
967
+
968
+ - 前端实现流程新增需求合同、风险识别、项目能力检查、有界修复和验证追踪;高置信度前端需求可自动进入专用流程。
969
+ - 后端自动化测试会在生成 pytest 前确认执行环境和需求覆盖,并区分产品、测试与环境问题。
970
+ - Observe 看板采用增量刷新,保留焦点、滚动位置和当前节点;节点输出、执行过程与规范证据切换更稳定。
971
+ - 新增 `browser-tools` 和前端浏览器测试用例生成能力,full init 后可直接在目标项目使用。
972
+ - Task Pool 按 `{ featureId, taskId }` 识别任务,并新增检查、迁移和 Ready 计划预览命令。
973
+ - 新增 Eval Replay Candidate Registry,用于重放证据、比较候选并审计候选运行关联。
974
+ - 旧项目可通过 `init check-update` 检查新增模板、skills 和托管配置,再用 `init update --apply-safe` 安全补齐。
975
+ - Pi SDK、Windows 命令执行、自举验证和受监督任务的计划修订流程得到稳定性改进。
976
+
977
+ 完整条目和迁移提示见根 `CHANGELOG.md [0.13.0]`。
978
+
979
+ ## [0.12.0] - 2026-07-16
980
+
981
+ - **只读 Pi 节点安全重试**:opt-in `retryPolicy`(network / rate-limit / unavailable / timeout);writer / shell 等声明策略会校验失败。见 [Agent DAG](./website/docs/guides/agent-dag.md)。
982
+ - **`taskKind: backend-test`**:需求分析 → 功能用例 → pytest → 复盘。
983
+ - **知识同步与业务图谱 MVP**:`taskKind: knowledge-sync`(须 `featureId`)/ `knowledge-graph-bootstrap`;`loop-agent knowledge query|graph-init|graph-materialize|graph-promote|graph-incremental-prepare`(`knowledge curate` 仍只负责 repair guidance 提案)。
984
+ - **init surface 全量跟踪**:`check-update` / `update --apply-safe` 覆盖包内全部 `docs/templates/**` `skills/**` 到目标目录的投影。
985
+ - 详见根 `CHANGELOG.md [0.12.0]`;站上 [当前规划](./website/docs/overview/roadmap.md) 与 [功能导览](./website/docs/overview/feature-map.md)。
986
+
987
+ ## [0.11.0] - 2026-07-15
988
+
989
+ - **Observe 本地运营面 R1–R5**:资源池 / Task 下钻、Batch·Run 三层事实、Feature 决策详情与对象关系条、有界事件历史、ES modules 前端模块化;`observe serve` keep-alive / SSE keepalive,可选非 loopback 绑定(默认仍 `127.0.0.1`)。见 [Observe](./website/docs/guides/observe-ui.md)。
990
+ - **版本化自举**:controller identity / package fingerprint / expected gate、run-owned skill snapshot、deterministic `self-host:canary`、`skills/agent-worker` 及目标镜像;dogfood Feature `F-2026-004`。
991
+ - **DagSpec v3 + repair 契约**:新 DAG 携带 `runtimeContract`;supervised `repairNodeId`;run-owned controller identity pin。
992
+ - **`plan create` / `plan complete` / `plan check`**:exec-plan 生命周期与 DAG 前置索引校验。见 [CLI 参考](./website/docs/reference/cli.md)。
993
+ - **CLI 自更新提醒**:交互式成功命令后检查 npm 新版本;`LOOP_AGENT_DISABLE_UPDATE_CHECK=1` 可关。见 [安装](./website/docs/quick-start/installation.md)。
994
+ - **init 布局收敛**:目标项目默认 `ai_workspace/loop-agent/` + `.agents/skills/`;`init update --apply-safe` 可安全迁移旧根 `docs/` / `skills/`。
995
+ - **文档站 IA**:intro 概念地图与 30 分钟路径;[功能导览](./website/docs/overview/feature-map.md)、[架构导读](./website/docs/overview/architecture.md)、[当前规划](./website/docs/overview/roadmap.md);Markdown 断链构建失败;`skills/loop-agent/references/docs-converge.md` 固化文档收敛检查表。
996
+ - 可选 repo-local SDD skill 嵌入;前端 DAG skill 契约与验证命令安全解析。
997
+
998
+ ## [0.10.0] - 2026-07-12
999
+
1000
+ - **Pi-only 受治理 runtime**:DAG writer 固定 `implement-pi` / `repair-pi`;`cursor-prompt` 仅显式 one-shot sidecar。
1001
+ - **`agent-worker feature review|run|approve-followup|delivery|closeout|verify-final`**:Feature 决策面、薄编排、Follow-up 可批准闭环、本地 Git checkpoint、Delivery Package、Feature Closeout。
1002
+ - **`task draft-followup`**、**`report metrics --month`**;Morning / Observe Feature Decision Summary。
1003
+ - 详见根 `CHANGELOG.md [0.10.0]`。
1004
+
1005
+ ## [0.9.0] - 2026-07-12
1006
+
1007
+ - Observe 看板重设计为暖白运行控制台:统一信息层级、依赖图 + 节点表、右侧节点检查器、安全 Markdown;本机资源 guardrail。见 [Observe](./website/docs/guides/observe-ui.md)。
1008
+
1009
+ ## [0.8.0] 及更早
1010
+
1011
+ - 0.8.0:[CLI 参考](./website/docs/reference/cli.md) 补充 `task validate-feature`、`task retry`、`scripts/worker-nightly.sh` + GitHub Actions、`capabilities: [interactive-ui]`,Task Pool 唯一根 `.harness/task-pool/`。
1012
+ - 0.7.5:Observe 新增 DAG 依赖图可视化。
1013
+ - 0.7.0:interactive-ui writer-only HIGH 路由与 UI 交付契约。
1014
+ - 更早条目见根目录 `CHANGELOG.md`。
1015
+
1016
+ ## 文档站点同步说明
1017
+
1018
+ - 站上 guide / reference 与根 `docs/` 双树边界见 [架构导读 · 双树边界](./website/docs/overview/architecture.md#双树边界)。
1019
+ - 活能力短摘要:[`docs/reports/current-capability-summary.md`](https://github.com/tea-agent/loop-agent/blob/main/docs/reports/current-capability-summary.md)。
1020
+ - 冻结基线长文:[`docs/reports/2026-07-02-repository-analysis.md`](https://github.com/tea-agent/loop-agent/blob/main/docs/reports/2026-07-02-repository-analysis.md)(2026-07-16 再采样对齐 0.12.0 + 主干 Unreleased;勿当第二 CHANGELOG)。