@tea-agent/loop-agent 0.17.1 → 0.18.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 (44) hide show
  1. package/CHANGELOG.md +96 -22
  2. package/dist/application/dag/args.js +9 -2
  3. package/dist/executors/dag-pi-executor.js +11 -0
  4. package/dist/executors/shell-executor.js +62 -2
  5. package/dist/governance/spine-audit.js +5 -2
  6. package/dist/worker/console/draft-store.js +81 -3
  7. package/dist/worker/console/interview/grill-me.js +253 -0
  8. package/dist/worker/console/operation-runner.js +2 -1
  9. package/dist/worker/console/operator-actions.js +609 -20
  10. package/dist/worker/console/pi-readiness.js +2 -0
  11. package/dist/worker/console/prd-identity.js +102 -0
  12. package/dist/worker/console/resolve-dag-run-for-task.js +76 -0
  13. package/dist/worker/console/server.js +11 -2
  14. package/dist/worker/console/static/assets/index-KUSib7aM.js +16 -0
  15. package/dist/worker/console/static/assets/index-ucIzpaGJ.css +1 -0
  16. package/dist/worker/console/static/index.html +3 -3
  17. package/dist/worker/console/workflow-kinds.js +46 -0
  18. package/dist/worker/observe/routes.js +8 -1
  19. package/dist/worker/observe/static/index.html +8 -8
  20. package/dist/worker/observe/static/styles.css +296 -181
  21. package/dist/workflows/dag/backend-test-intake-context.js +148 -0
  22. package/dist/workflows/dag/backend-test-markdown-workflow.js +528 -0
  23. package/dist/workflows/dag/init-hybrid.js +93 -109
  24. package/dist/workflows/dag/types.js +4 -0
  25. package/dist/workflows/loop/benchmark.js +1 -1
  26. package/docs/README.md +84 -39
  27. package/docs/architecture/README.md +8 -4
  28. package/docs/architecture/dag-execution.md +8 -1
  29. package/docs/architecture/evolution.md +38 -25
  30. package/docs/architecture/facts-and-state.md +2 -0
  31. package/docs/architecture/system-overview.md +6 -5
  32. package/docs/architecture/worker-and-feature.md +15 -8
  33. package/docs/init-surface.manifest.json +10 -1
  34. package/docs/templates/agent-dag-decision-gate-dogfood-report.md +1 -1
  35. package/docs/templates/backend-test-dag.json +74 -219
  36. package/docs/templates/branch-merge-report.md +1 -1
  37. package/docs/templates/exec-plan.md +2 -0
  38. package/docs/templates/progress-log.md +3 -0
  39. package/package.json +1 -1
  40. package/skills/init-capability-evolution/SKILL.md +1 -1
  41. package/skills/loop-agent/references/command-reference.md +1 -1
  42. package/skills/loop-agent/references/hybrid-dag.md +2 -2
  43. package/dist/worker/console/static/assets/index-BEIdBogJ.js +0 -9
  44. package/dist/worker/console/static/assets/index-Rt0TqimP.css +0 -1
@@ -1,58 +1,71 @@
1
1
  # 架构演进:当前 vs 未来
2
2
 
3
- 本页区分 loop-agent **当前已实现**的架构能力与**未来规划**。当前事实以代码、发布 CLI、已完成计划为准;未来能力一律标「规划 / 未实现 / 前瞻」。权威源:`CHANGELOG.md`、`ai_workspace/loop-agent/reports/current-capability-summary.md`、ADR 0001–0004、`ai_workspace/loop-agent/exec-plans/completed/` 与 active identity plan 的 progress。
3
+ 本页区分 loop-agent **当前已实现**的架构能力与**未来规划**。当前事实以代码、发布 CLI、已完成计划为准;未来能力一律标「规划 / 未实现 / 前瞻」。权威源:`CHANGELOG.md`、`docs/reports/current-capability-summary.md`、ADR 0001–0005、`docs/exec-plans/completed/` 与 `docs/exec-plans/active/`。
4
4
 
5
- ## 当前已实现(0.11.0)
5
+ **对照版本:`@tea-agent/loop-agent@0.17.2`(2026-07-22)**。细节版本条目见根 `CHANGELOG.md`;本表只保留架构层可读摘要。
6
+
7
+ ## 当前已实现(累计至 0.17.2)
6
8
 
7
9
  | 域 | 现状 | 权威入口 |
8
10
  | --- | --- | --- |
9
11
  | 受治理 Agent runtime | **Pi-only**;`cursor-prompt` 仅显式 one-shot sidecar | ADR 0001、`CHANGELOG.md [0.10.0]` |
10
12
  | Agent DAG 主链 | `dag run-task` → generate → validate → `run-dag`;report/doctor/reconcile-run | `dag-execution.md`、`test/cli-contract.test.ts` |
11
- | Dynamic Workflow | `WorkflowSpec` → validate → compile → 同一 `run-dag`;agent-like 节点仅 `pi\|static` | `src/workflows/dynamic/{spec,validate,compile}.ts`、`website/docs/guides/dynamic-workflow.md` |
12
- | 版本化自举 | controller identity + run-owned skill snapshot + deterministic canary | `ai_workspace/loop-agent/reports/2026-07-13-versioned-self-hosting-bootstrap.md` |
13
- | Feature 交付(M2) | review/run/approve-followup/delivery/closeout/verify-final | `ai_workspace/loop-agent/reports/2026-07-12-m2-completion-audit.md` |
14
- | Task Pool | 唯一根 `.harness/task-pool/`;**feature-scoped** state v2(`TaskPoolTaskRef`) | ADR 0002、ADR 0004 |
15
- | 本地多 Feature 运营 | 同仓库多 Feature 可共用 Task ID;Ready / retry / Delivery / Observe 按 Feature 隔离 | ADR 0004、`ai_workspace/loop-agent/progress/2026-07-15-task-pool-v2-feature-scoped-task-identity.md` |
16
- | Observe | 本地只读暖白运营控制台 R1–R5(derived);canonical Task route 为 feature-scoped | `website/docs/guides/observe-ui.md`、`CHANGELOG.md [0.11.0]`、ADR 0004 |
17
- | DagSpec / repair | v3 + `runtimeContract`;显式 `repairNodeId` | `CHANGELOG.md [0.11.0]`、`dag-execution.md` |
18
- | 文档双树 | `website/docs/` 用法 vs `ai_workspace/loop-agent/` 治理;docs-converge | ADR 0003 |
19
- | 文档治理 | `ai_workspace/loop-agent/architecture/` 主题文档(本目录)+ package 可达 | 本目录 README |
13
+ | Dynamic Workflow | `WorkflowSpec` → validate → compile → 同一 `run-dag`;agent-like 节点仅 `pi\|static` | `src/workflows/dynamic/**`、`website/docs/guides/dynamic-workflow.md` |
14
+ | 版本化自举 | controller identity + run-owned skill snapshot + deterministic canary | `docs/reports/feature/2026-07-13-versioned-self-hosting-bootstrap.md` |
15
+ | Feature 交付(M2) | review/run/approve-followup/delivery/closeout/verify-final | `docs/reports/feature/2026-07-12-m2-completion-audit.md`、`CHANGELOG.md [0.10.0]` |
16
+ | Task Pool | 唯一根 `.harness/task-pool/`;**feature-scoped** state v2(`TaskPoolTaskRef`) | ADR 0002、ADR 0004、`CHANGELOG.md [0.13.0]` |
17
+ | Ready Planner | priority 选择;`batch plan-ready` 零写入;`run-ready` 冻结 plan;产物门禁 | `CHANGELOG.md [0.13.0]` / `[0.16.0]` |
18
+ | TaskSpec → workflow | 可选 `execution.workflow` `taskKind`;typed Outcome;`fullstack-v1` Verification Bundle | completed `2026-07-19-taskspec-workflow-routing.md`、`CHANGELOG.md [0.16.0]` |
19
+ | 专用 taskKind DAG | `frontend-implementation` / `frontend-test` / `backend-test` / knowledge* | `website/docs/guides/agent-dag.md`、`CHANGELOG.md [0.12.0]`–`[0.17.x]` |
20
+ | Backend-test | **Markdown-first 8 节点**(env → MD cases/review → 单次 pytest+HTML → report+L-5);历史 JSON 读兼容 | completed `2026-07-22-backend-test-markdown-first-8-node.md` |
21
+ | Frontend-test | 默认 short-chain RAG;结果链 / Outcome 投影;formal smoke 仍 active | `CHANGELOG.md [0.16.24]`;active success-rate plan |
22
+ | Frontend-implementation | Contract / trace / repair / Mock assess;条件 design/repair 分支 | `CHANGELOG.md [0.13.0]` / `[0.17.x]` |
23
+ | Observe | 本地只读暖白运营控制台 R1–R5 + 执行面富时间线;versioned `/api/health` | `website/docs/guides/observe-ui.md`、`CHANGELOG.md [0.11.0]` / `[0.14.0]` / `[0.17.x]` |
24
+ | Local Operator Console | `agent-worker console serve\|doctor`(loopback);Happy Path / Interview / Observe 深链 / recovery CTA;**非**远端多用户 Console | completed Console plans;`docs/design/local-operator-console-from-pi-web.md`;ADR 0005 |
25
+ | Task Contract / operator surface | journaled `task contract *`;machine envelope;**DagSpec v4 `taskContractBinding`**(exclusive writer 强制) | `CHANGELOG.md [0.17.0]`–`[0.17.2]`;ADR 0005 |
26
+ | DagSpec / repair | v3 `runtimeContract` + 显式 `repairNodeId`;新 writer 生成默认 v4 binding | `dag-execution.md`、`CHANGELOG.md [0.11.0]` / `[0.17.0]` |
27
+ | Eval Lab | corpus / campaign / promote(人工门禁);`autoPromote=false`;**非** RSI Level 1 | `CHANGELOG.md [0.15.0]`;active plan 可归档 |
28
+ | 文档双树 | `website/docs/` 用法 vs `docs/` 治理;docs-converge | ADR 0003 |
29
+ | 文档治理 | 本目录架构主题文档 + package 可达;reports/progress/completed 导读制 | 本目录 README、`docs/README.md` |
20
30
 
21
31
  ### 受治理 runtime 的边界(已实现、不变式)
22
32
 
23
33
  - DAG writer 固定 `implement-pi` / `repair-pi`;`executor: "cursor"`、`implement-cursor` / `repair-cursor`、Cursor worker、`cursor-fix` 已从受治理路径移除。
24
34
  - 完成权威 = shell verification;model verdict / Observe / 报告是 derived/advisory。
25
35
  - Worker 通过已发布 `loop-agent` 子进程执行,不 in-process import runtime kernel(governance 机器校验)。
36
+ - Console / Compatibility 主会话不得绕过 CLI 直接改业务实现(ADR 0005)。
26
37
 
27
38
  ## 未来规划(第 3–6 月,**未实现**)
28
39
 
29
- 以下能力来自 `ai_workspace/loop-agent/design/六个月规划.md` `ai_workspace/loop-agent/design/dynamic-workflow-dag-engine-roadmap.md`(六个月规划页首 2026-07-15 / 0.11.0 校准;未交付 phase 为**设计输入**,不是已实现证明)。它们**当前不存在于代码或 CLI**:
40
+ 以下能力来自 `docs/design/六个月规划.md` 与相关设计输入(页首校准条之后的未交付 phase 为**设计输入**)。它们**当前不存在于产品声称的线上形态**,或仅有本地/部分替代:
30
41
 
31
42
  | 未来方向 | 状态 | 规划来源 |
32
43
  | --- | --- | --- |
33
- | 远程 PR / CI | 规划 / 未实现 | `ai_workspace/loop-agent/design/六个月规划.md`(第 3 个月起) |
44
+ | 远程 PR / CI 自动创建与写回 | 规划 / 未实现 | `docs/design/六个月规划.md`(第 3 个月起) |
34
45
  | 线上 / 云 Worker | 规划 / 未实现 | 同上 |
35
46
  | 云 Task Pool / SQL / Orchestrator | 规划 / 未实现 | 同上(第 2 月原始设计已调整为本地 Feature 闭环) |
36
47
  | 多仓库平台 | 规划 / 未实现 | 同上 |
37
48
  | 组织级服务 | 规划 / 未实现 | 同上 |
38
- | Web Console(远端) | 规划 / 未实现;指多用户/远程编排平台,不等同于 `docs/design/local-operator-console-from-pi-web.md` 的单机 loopback Operator Console | 同上 |
39
- | Dynamic Workflow runtime limits 强执法、更广 profile | 设计输入 | `ai_workspace/loop-agent/design/dynamic-workflow-dag-engine-roadmap.md`(未勾选 phase) |
40
- | Loop 与 Dynamic Workflow 更深的双向集成、稳定化与自动恢复 | 设计输入 | 同上;当前已有基础 `workflow` action,不应误写为完全缺失 |
49
+ | Web Console(远端多用户) | 规划 / 未实现;**不等于**已发布的本地 loopback Operator Console | 同上;对照 `docs/design/local-operator-console-from-pi-web.md` |
50
+ | fullstack Delivery / Final Verification live 闭环 | 进行中(active train) | `docs/exec-plans/active/2026-07-19-fullstack-dogfood-016x-release-train.md` |
51
+ | Dynamic Workflow runtime limits 强执法、更广 profile | 设计输入 | `docs/design/dynamic-workflow-dag-engine-roadmap.md` |
52
+ | Loop 与 Dynamic Workflow 更深双向集成 / 自动恢复 | 设计输入 | 同上;当前已有基础 `workflow` action |
53
+ | Console Phase 4 General Operator Chat / 与 Observe 合服 | 规划 / 未实现 | Console design residual |
54
+ | Eval Lab auto-promote / RSI Level 1 产品声称 | **禁止**写成已交付 | Eval Lab design + active plan |
41
55
 
42
- > 本地 Loop Operator Console 已在 `docs/design/local-operator-console-from-pi-web.md` 作为独立设计输入:单仓库、loopback、随 `@tea-agent/loop-agent` 同包发布、canonical mutation 只经 sibling CLI;它不是本表中的远端 Web Console,也不能把远端多租户/云编排需求偷渡进本地 MVP。
43
- >
44
- > **Phase 3 落地(Unreleased)**:versioned Observe `/api/health`、Console `observeLink` fail-closed、recovery CTA 矩阵;Console 与 Observe 仍分进程。Phase 4 General Operator Chat 与合服仍属后续,未实现。
56
+ > 本地 Operator Console MVP(0.17.0–0.17.2)已发布:单仓库、loopback、随 `@tea-agent/loop-agent` 同包、canonical mutation 只经 sibling CLI、与 Observe 分进程。它不是远端 Web Console,也不能把多租户/云编排需求偷渡进本地 MVP。
45
57
 
46
- > 注意:`ai_workspace/loop-agent/design/dynamic-workflow-dag-engine-roadmap.md` 2026-07-04 历史叙述;文中凡把 Cursor 写成受治理 executor 或 `loop` 的 `cursor-fix` 动作,均为**历史叙述**,现状以 Pi-only + 显式 `cursor-prompt` sidecar 为准。
58
+ > 注意:`docs/design/dynamic-workflow-dag-engine-roadmap.md` 2026-07-04 历史叙述;文中凡把 Cursor 写成受治理 executor 或 `loop` 的 `cursor-fix` 动作,均为**历史叙述**,现状以 Pi-only + 显式 `cursor-prompt` sidecar 为准。
47
59
 
48
60
  ## 已收敛为 archive / 历史基线(非未来)
49
61
 
50
- - 第 1–2 月规划已收敛为 archive/reports 指针,不在本文展开:`ai_workspace/loop-agent/design/archive/2026-07-12-第二月规划.md`。
51
- - `ai_workspace/loop-agent/reports/2026-07-02-repository-analysis.md` 自 2026-07-14 起冻结为**历史基线快照**,不再滚动追加 Unreleased 能力。
52
- - 活能力短摘要在 `ai_workspace/loop-agent/reports/current-capability-summary.md`。
62
+ - 第 1–2 月规划已收敛为 archive/reports 指针,不在本文展开:`docs/design/archive/2026-07-12-第二月规划.md`。
63
+ - `docs/reports/2026-07-02-repository-analysis.md` 自 2026-07-14 起冻结为**历史基线快照**(允许有限再采样),不当第二 CHANGELOG。
64
+ - 活能力短摘要在 `docs/reports/current-capability-summary.md`。
65
+ - 专题证据按类型落在 `docs/reports/{feature,init-evolution,merge,fullstack-dogfood,dogfood}/`。
53
66
 
54
67
  ## 文档本体的演进边界
55
68
 
56
- - 本目录新增文档随发布包发布(`package.json` `files` + manifest `packageRequired` 显式条目),但 **不**投影到目标项目 init surface(AC-7);目标项目 init 仍只投影语言无关的 `runtime-boundaries.md`。
69
+ - 本目录新增文档随发布包发布(`package.json` `files` + manifest `packageRequired` 显式条目),但 **不**投影到目标项目 init surface;目标项目 init 仍只投影语言无关的 `runtime-boundaries.md`。
57
70
  - `runtime-boundaries.md` 是边界真源;本目录其他文档交叉引用,不复制其 import 方向表 / governance-hook 表 / 版本化自举边界表。
58
- - 未来如有能力落地,应先改 `src/`/CLI/ADR/completed plan,再回写本目录的「已实现」表。
71
+ - 未来如有能力落地,应先改 `src/` / CLI / ADR / completed plan,再回写本目录的「已实现」表与站上 `website/docs/overview/*` 短索引。
@@ -2,6 +2,8 @@
2
2
 
3
3
  本页说明 `.harness/` 各根目录、canonical facts、derived read models 与不可变规则,并逐条标出 canonical|derived 与 writable|read-only。完成权威是 shell verification(ADR 0001);model verdict、Observe、报告都是 derived 或 advisory 视图。
4
4
 
5
+ **维护校准:2026-07-22** — Task Contract / Console 不改变「完成权威 = shell」;managed contract 与 DagSpec binding 是启动/漂移门禁,不是 verification 替代物。
6
+
5
7
  ## 六类运行态对象
6
8
 
7
9
  | 对象 | 物理根 | 源码入口 | 性质 |
@@ -59,11 +59,12 @@ workflow runtime(调度 Pi / shell / static 节点)
59
59
 
60
60
  `agent-worker` 位于核心 runtime 的**上游调用侧**,不是 DAG 执行完成后的必经下游。Observe 可以在任一路径后读取现有事实,但不会改变执行结果。
61
61
 
62
- ### 本地 Operator Console(Official,与 Observe 协作)
62
+ ### 本地 Operator Console(Official,0.17.x MVP,与 Observe 协作)
63
63
 
64
- - `agent-worker console serve` 提供 loopback Operator Console;canonical mutation 只经 sibling 已发布 `loop-agent`(`LoopAgentClient`),不 in-process DAG kernel。
65
- - Observe 保持**独立**只读进程;Console 通过 versioned Observe `/api/health`(`schemaVersion`、`repoFingerprint`、route capabilities)做深链 fail-closed,**不** mount / proxy
66
- - openCode 等主会话仍是 Compatibility / Operator Assist,与 Official Console **不等同**。设计锚点:ADR 0005、`docs/design/local-operator-console-from-pi-web.md`。
64
+ - `agent-worker console serve|doctor` 提供 loopback Operator Console(默认 `127.0.0.1:8790`);Happy Path / Interview 策略面、Task Contract 落地与 recovery CTA 已随 **0.17.0–0.17.2** 发布。
65
+ - canonical mutation 只经 sibling 已发布 `loop-agent`(`LoopAgentClient`),不 in-process DAG kernel
66
+ - Observe 保持**独立**只读进程(默认 `8787`);Console 通过 versioned Observe `/api/health`(`schemaVersion`、`repoFingerprint`、route capabilities)做深链 fail-closed,**不** mount / proxy。
67
+ - openCode 等主会话仍是 Compatibility / Operator Assist,与 Official Console **不等同**。设计锚点:ADR 0005、`docs/design/local-operator-console-from-pi-web.md`;handoff `docs/reports/feature/2026-07-22-console-mvp-handoff.md`。
67
68
 
68
69
  ## 外部边界
69
70
 
@@ -92,7 +93,7 @@ workflow runtime(调度 Pi / shell / static 节点)
92
93
  | 位置 | 内容 | 权威性质 |
93
94
  | --- | --- | --- |
94
95
  | `.harness/` | 任务、DAG run、one-shot run、Task Pool、live state | 运行态事实(canonical + derived) |
95
- | 根目录 `ai_workspace/loop-agent/` | 原则、边界、计划、报告、模板 | 治理权威 |
96
+ | 源仓 `docs/`(目标项目常为 `ai_workspace/loop-agent/`) | 原则、边界、计划、报告、模板 | 治理权威 |
96
97
  | `website/docs/` | 使用者/贡献者导读与操作说明 | 用法双树 |
97
98
  | `.agents/skills/` | agent 可加载的入口与 reference | 运行时可加载 |
98
99
 
@@ -1,6 +1,8 @@
1
1
  # Worker 与 Feature 架构
2
2
 
3
- 本页说明 `agent-worker` 如何通过冻结的已发布 `loop-agent` 子进程执行 DAG(不 in-process import runtime kernel),以及其上的产品线 read model:TaskSpec、Task Pool、Feature 与 Observe。边界契约权威是 `runtime-boundaries.md` §Worker adapter。
3
+ 本页说明 `agent-worker` 如何通过冻结的已发布 `loop-agent` 子进程执行 DAG(不 in-process import runtime kernel),以及其上的产品线 read model:TaskSpec、Task Pool、Feature、ObserveLocal Operator Console。边界契约权威是 `runtime-boundaries.md` §Worker adapter。
4
+
5
+ **维护校准:2026-07-22 / `@tea-agent/loop-agent@0.17.2`** — Console MVP、Task Contract 与 TaskSpec workflow 路由已落地;细节以 `CHANGELOG.md` 与 completed plans 为准。
4
6
 
5
7
  ## 核心事实:子进程,非 in-process
6
8
 
@@ -41,14 +43,16 @@ controller identity 与 DAG skill snapshot 是两个不同冻结层(前者跨
41
43
 
42
44
  ## 独立 CLI
43
45
 
44
- `agent-worker` 是独立 CLI(`bin/agent-worker.js` → `src/worker/cli.ts`),有自己的命令面(`task`、`batch`、`feature`、`report`、`observe` 等)。它**不是**第二套 executor 或 DAG kernel;它编排产品线 Task 并把执行委托给 `loop-agent` 子进程。
46
+ `agent-worker` 是独立 CLI(`bin/agent-worker.js` → `src/worker/cli.ts`),有自己的命令面(`task`、`batch`、`feature`、`report`、`observe`、`console` 等)。它**不是**第二套 executor 或 DAG kernel;它编排产品线 Task 并把执行委托给 `loop-agent` 子进程。
45
47
 
46
48
  ## 产品线 read model
47
49
 
48
- ### TaskSpec
50
+ ### TaskSpec 与 workflow 路由
49
51
 
50
52
  - schema/validate:`src/worker/task-spec/{schema,validate}.ts`。
51
53
  - 校验验收条件、依赖、验证命令;`agent-worker task validate-feature` 等用之。
54
+ - **0.16.0+**:可选 `execution.workflow` 映射到 loop-agent `taskKind`(如 agent-dag / frontend-implementation / backend-test / frontend-test);typed Task Outcome 与 artifact-aware Ready 门禁见 completed `2026-07-19-taskspec-workflow-routing.md`。
55
+ - 文档映射镜像:`docs/design/taskspec-to-loop-agent-mapping.md`(runtime 真源仍在 `src/worker/` 与 materialize 路径)。
52
56
 
53
57
  ### Task Pool
54
58
 
@@ -60,13 +64,14 @@ controller identity 与 DAG skill snapshot 是两个不同冻结层(前者跨
60
64
  - **Consumers**:runner Ready Queue、retry、Follow-up、Feature review、Delivery / Closeout、morning report / metrics 均按 Feature 作用域读写,不得把裸 `taskId` 当作仓库全局唯一键。
61
65
  - **Operator**:`pool doctor` 只读 inventory;`pool migrate-state` 默认 dry-run,apply 需 `--owner` + `--reason`;legacy v1 写入路径 fail-closed。
62
66
  - batch / retry / morning report 等都基于此根。
67
+ - **Ready Planner**:`batch plan-ready` 零写入预览 selected/deferred/blocked;`run-ready` 冻结 `ready-plan.json`(priority + 产物门禁)。
63
68
 
64
69
  ### Feature(M2 交付闭环)
65
70
 
66
71
  - review/run/approve-followup/delivery/closeout/verify-final:`src/worker/feature/{review,run}.ts` 及相关。
67
72
  - Follow-up:`src/worker/` 下 draft-followup + approve-followup 事务,覆盖全部失败分类(可执行/Spec/Risk/Human/EnvFailure)。
68
73
  - Delivery / Closeout:clean Delivery HEAD 上生成 canonical QA/最终验证证据、Delivery Package、Acceptance Coverage、PR 草稿;Closeout 默认预览,显式 `--apply --owner` 才原子写回。
69
- - 权威证据:`CHANGELOG.md [0.10.0]`、`ai_workspace/loop-agent/reports/2026-07-12-m2-completion-audit.md`。
74
+ - 权威证据:`CHANGELOG.md [0.10.0]`、`docs/reports/feature/2026-07-12-m2-completion-audit.md`。
70
75
 
71
76
  ### Observe(只读 read model)
72
77
 
@@ -75,11 +80,13 @@ controller identity 与 DAG skill snapshot 是两个不同冻结层(前者跨
75
80
  - Observe 是本地只读暖白控制台;snapshot 投影失败返回安全错误摘要而非全零健康状态(见 `CHANGELOG.md [0.9.0]`)。
76
81
  - Phase 3:`GET /api/health` 为 versioned DTO(`schemaVersion: 1`、`repoFingerprint` 复用 Console `repoFingerprintV1`、package 元数据、由 ROUTES 派生的 `routeCapabilities`)。Console 深链 fail-closed 依赖该合同;Observe 仍独立进程、不经 Console proxy。
77
82
 
78
- ### Loop Operator Console(Official 控制面骨架)
83
+ ### Local Operator Console(Official,0.17.x MVP)
79
84
 
80
- - 模块:`src/worker/console/`(loopback servedoctoroperator API、Vite SPA)。
81
- - Observe 协作:`observeLink` + recovery CTA 矩阵;无 Cancel / 无主 CTA「直接改代码」。
82
- - 写入路径仍只经 `LoopAgentClient` 已发布 `loop-agent`;不与 Observe 合服。
85
+ - 模块:`src/worker/console/`(loopback `serve|doctor`、operator API、Vite SPA)。
86
+ - **已发布能力**:Happy Path / Interview 策略面、Task Contract 落地、SSE 运行跟随、Observe 深链 fail-closed、recovery CTA 矩阵(无 Cancel / 无主 CTA「直接改代码」)。
87
+ - Observe 协作:versioned Observe health + `repoFingerprint`;**不** mount / proxy / 复制第二套 read model。
88
+ - 写入路径仍只经 `LoopAgentClient` → 已发布 `loop-agent`(含 `task contract *` / DAG confirm-run);不与 Observe 合服。
89
+ - 证据:completed Console Phase 0.5 / 1–3;handoff `docs/reports/feature/2026-07-22-console-mvp-handoff.md`;ADR 0005。
83
90
 
84
91
  ## 版本化自举的 deterministic canary
85
92
 
@@ -225,6 +225,7 @@
225
225
  "packageExcluded": [
226
226
  "docs/progress/20*.md",
227
227
  "docs/reports/20*.md",
228
+ "docs/reports/*/20*.md",
228
229
  "docs/exec-plans/active/20*.md",
229
230
  "docs/exec-plans/completed/20*.md"
230
231
  ],
@@ -239,6 +240,10 @@
239
240
  "harness.json",
240
241
  "package.json",
241
242
  "src/commands/init.ts",
243
+ "src/cli.ts",
244
+ "src/cli/update/init-surface-notifier.ts",
245
+ "src/cli/update/policy.ts",
246
+ "src/cli/update/runtime-activity.ts",
242
247
  "src/workflows/dag/skills.ts",
243
248
  "src/workflows/dag/init-hybrid.ts",
244
249
  "src/workflows/dag/skill-instructions.ts",
@@ -249,7 +254,7 @@
249
254
  ],
250
255
  "evolutionReview": {
251
256
  "defaultMode": "advisory",
252
- "strictReportGlob": "docs/reports/*-init-evolution-review.md",
257
+ "strictReportGlob": "docs/reports/init-evolution/*-init-evolution-review.md",
253
258
  "tiers": [
254
259
  {
255
260
  "name": "model-review",
@@ -258,6 +263,10 @@
258
263
  "description": "Changes that may alter target-project initialization behavior, default DAG role skills, skill resolution, or package/init contracts.",
259
264
  "patterns": [
260
265
  "src/commands/init.ts",
266
+ "src/cli.ts",
267
+ "src/cli/update/init-surface-notifier.ts",
268
+ "src/cli/update/policy.ts",
269
+ "src/cli/update/runtime-activity.ts",
261
270
  "src/workflows/dag/skills.ts",
262
271
  "src/workflows/dag/init-hybrid.ts",
263
272
  "src/workflows/dag/skill-instructions.ts",
@@ -1,6 +1,6 @@
1
1
  # Agent DAG Decision Gate Dogfood Report Template
2
2
 
3
- > Copy to `docs/reports/YYYY-MM-DD-agent-dag-decision-gate-dogfood.md` after each dogfood run.
3
+ > Copy to `docs/reports/dogfood/YYYY-MM-DD-agent-dag-decision-gate-dogfood.md` after each dogfood run.
4
4
 
5
5
  ## Run Metadata
6
6