@tea-agent/loop-agent 0.35.0-beta.2 → 0.35.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/AGENTS.md +108 -108
  2. package/CHANGELOG.md +55 -4
  3. package/README.md +165 -165
  4. package/bin/agent-worker.js +0 -0
  5. package/bin/loop-agent.js +21 -21
  6. package/dist/application/task-lifecycle/advance.js +1 -0
  7. package/dist/commands/cursor-prompt.js +6 -6
  8. package/dist/commands/init-upgrade.js +351 -19
  9. package/dist/commands/init.js +14 -67
  10. package/dist/commands/loop-benchmark.js +11 -11
  11. package/dist/commands/pi-reuse-benchmark.js +16 -16
  12. package/dist/commands/run-dag-progress.js +14 -0
  13. package/dist/commands/task-advance.js +33 -3
  14. package/dist/shared/operator/capabilities.js +38 -1
  15. package/dist/sidecars/cursor-prompt/executor.js +1 -1
  16. package/dist/worker/console/chat/pi-runtime.js +41 -25
  17. package/dist/worker/console/chat/routes.js +27 -4
  18. package/dist/worker/console/operation-runner.js +24 -0
  19. package/dist/worker/console/operation-wait.js +241 -0
  20. package/dist/worker/console/operator-actions.js +58 -0
  21. package/dist/worker/console/static/assets/{index-hJqCPs_g.css → index-Dups4sSM.css} +1 -1
  22. package/dist/worker/console/static/assets/index-SjjjZnV3.js +56 -0
  23. package/dist/worker/console/static/index.html +2 -2
  24. package/dist/worker/console/static-src/operator-chat/slash-palette-nav.js +141 -0
  25. package/dist/worker/console/static-src/operator-chat/useChatSessions.js +13 -2
  26. package/dist/worker/console/static-src/operator-chat/useComposer.js +30 -7
  27. package/dist/worker/observe/static/copy.js +67 -67
  28. package/dist/worker/observe/static/dag-layout.d.ts +36 -36
  29. package/dist/worker/observe/static/dom.js +220 -220
  30. package/dist/worker/observe/static/relations.js +133 -133
  31. package/dist/worker/observe/static/run-processing.js +148 -148
  32. package/dist/worker/observe/static/views/batch.js +227 -227
  33. package/dist/worker/observe/static/views/failures.js +143 -143
  34. package/dist/worker/observe/static/views/feature.js +492 -492
  35. package/dist/worker/observe/static/views/run.js +453 -453
  36. package/dist/worker/observe/static/views/shell.js +7 -7
  37. package/dist/worker/observe/static/views/timeline.js +163 -163
  38. package/dist/workflows/dag/canvas-observer.js +275 -275
  39. package/dist/workflows/dag/frontend-prewrite-gate.js +9 -1
  40. package/dist/workflows/dag/init-hybrid.js +2 -0
  41. package/docs/architecture/evolution.md +73 -73
  42. package/docs/architecture/system-overview.md +100 -100
  43. package/docs/architecture/worker-and-feature.md +122 -122
  44. package/docs/skills/README.md +7 -7
  45. package/docs/templates/adr.md +60 -60
  46. package/docs/templates/agent-dag-authority-surface-audit.prompt.md +94 -94
  47. package/docs/templates/agent-dag-decision-envelope.schema.json +213 -213
  48. package/docs/templates/agent-dag-decision-gate.prompt.md +246 -246
  49. package/docs/templates/agent-dag-process-supervisor.prompt.md +98 -98
  50. package/docs/templates/agent-dag-report.schema.json +473 -473
  51. package/docs/templates/agent-dag-review-verdict.prompt.md +68 -68
  52. package/docs/templates/backend-test-result.schema.json +99 -99
  53. package/docs/templates/evaluation/agents-map-slim-v1.md +87 -87
  54. package/docs/templates/evaluation/agents-map-verbose-v0.md +153 -153
  55. package/docs/templates/feature-spec.md +53 -53
  56. package/docs/templates/frontend-design-contract.md +42 -42
  57. package/docs/templates/frontend-eval/fixtures/failures/01-type-build-error.md +17 -17
  58. package/docs/templates/frontend-eval/fixtures/failures/02-unit-component-test-fail.md +16 -16
  59. package/docs/templates/frontend-eval/fixtures/failures/03-fixture-schema-drift.md +16 -16
  60. package/docs/templates/frontend-eval/fixtures/failures/04-missing-loading-empty-error-state.md +16 -16
  61. package/docs/templates/frontend-eval/fixtures/failures/05-forbidden-write-writeset-expansion.md +16 -16
  62. package/docs/templates/frontend-eval/fixtures/failures/06-unapproved-dependency-add.md +16 -16
  63. package/docs/templates/frontend-eval/fixtures/failures/07-mock-production-on.md +21 -21
  64. package/docs/templates/frontend-eval/fixtures/functional/01-simple-component-style.md +29 -29
  65. package/docs/templates/frontend-eval/fixtures/functional/02-form-validation.md +28 -28
  66. package/docs/templates/frontend-eval/fixtures/functional/03-list-detail-page.md +28 -28
  67. package/docs/templates/frontend-eval/fixtures/functional/04-api-mock.md +29 -29
  68. package/docs/templates/frontend-eval/fixtures/functional/05-permission-auth-gated-ui.md +27 -27
  69. package/docs/templates/frontend-eval/fixtures/functional/06-ssr-server-client-boundary.md +28 -28
  70. package/docs/templates/frontend-eval/fixtures/functional/07-shared-public-component-api.md +28 -28
  71. package/docs/templates/frontend-eval/fixtures/functional/08-pure-local-no-remote.md +27 -27
  72. package/docs/templates/frontend-eval/metrics.md +138 -138
  73. package/docs/templates/frontend-eval/smoke-targets.md +53 -53
  74. package/docs/templates/frontend-task-constraints.md +35 -35
  75. package/docs/templates/frontend-task-requirement.md +70 -70
  76. package/docs/templates/init-evolution-review.md +35 -35
  77. package/docs/templates/init-managed-agents.md +156 -154
  78. package/docs/templates/interactive-ui-round2-experiment.md +66 -66
  79. package/docs/templates/knowledge-graph-bootstrap-dag.json +118 -118
  80. package/docs/templates/knowledge-sync-dag.json +178 -178
  81. package/docs/templates/knowledge-sync-draft.schema.json +71 -71
  82. package/docs/templates/product-line/closeout.yaml +9 -9
  83. package/docs/templates/product-line/design.md +13 -13
  84. package/docs/templates/product-line/links.md +10 -10
  85. package/docs/templates/product-line/requirement.md +17 -17
  86. package/docs/templates/product-line/test-plan.md +7 -7
  87. package/docs/templates/project-start-checklist.md +9 -9
  88. package/docs/templates/qa-report.md +48 -48
  89. package/docs/templates/sprint-contract.md +29 -29
  90. package/docs/templates/worker-dogfood-evidence.md +80 -80
  91. package/docs/templates/worker-dogfood-setup.md +68 -68
  92. package/harness.json +5 -2
  93. package/package.json +1 -1
  94. package/scripts/kb-bootstrap-init-skeleton.sh +0 -0
  95. package/scripts/kb-graph-incremental-prepare.mjs +0 -0
  96. package/scripts/kb-graph-materialize.mjs +105 -105
  97. package/scripts/kb-graph-promote.mjs +164 -164
  98. package/scripts/kb-query.mjs +554 -554
  99. package/skills/agent-worker/SKILL.md +48 -48
  100. package/skills/agent-worker/references/agent-worker-operator.md +159 -159
  101. package/skills/ai-engineering-context/SKILL.md +48 -48
  102. package/skills/analyze-product-dependencies/scripts/test-validators.mjs +0 -0
  103. package/skills/analyze-product-dependencies/scripts/validate-api-documentation.mjs +0 -0
  104. package/skills/analyze-product-dependencies/scripts/validate-dependency-analysis.mjs +0 -0
  105. package/skills/analyze-product-dependencies/scripts/validate-product-requirement-input.mjs +0 -0
  106. package/skills/analyze-product-requirements/scripts/compute-source-identity.mjs +0 -0
  107. package/skills/analyze-product-requirements/scripts/test-validators.mjs +0 -0
  108. package/skills/analyze-product-requirements/scripts/validate-product-analysis.mjs +0 -0
  109. package/skills/analyze-product-requirements/scripts/validate-product-requirement.mjs +0 -0
  110. package/skills/analyze-product-requirements/scripts/validate-requirement-clarification.mjs +0 -0
  111. package/skills/browser-tools/browser-content.js +103 -103
  112. package/skills/browser-tools/browser-cookies.js +35 -35
  113. package/skills/browser-tools/browser-eval.js +53 -53
  114. package/skills/browser-tools/browser-hn-scraper.js +108 -108
  115. package/skills/browser-tools/browser-nav.js +44 -44
  116. package/skills/browser-tools/browser-pick.js +162 -162
  117. package/skills/browser-tools/browser-screenshot.js +34 -34
  118. package/skills/browser-tools/browser-start.js +86 -86
  119. package/skills/browser-tools/package-lock.json +2556 -2556
  120. package/skills/browser-tools/package.json +19 -19
  121. package/skills/code-review-core/SKILL.md +20 -20
  122. package/skills/codebase-scout/SKILL.md +19 -19
  123. package/skills/grill-me/SKILL.md +10 -10
  124. package/skills/local-jacoco-coverage/scripts/run-coverage-analysis.sh +0 -0
  125. package/skills/local-jacoco-coverage/scripts/start-jacoco-agent.sh +0 -0
  126. package/skills/loop-agent/SKILL.md +1 -0
  127. package/skills/loop-agent/references/command-reference.md +641 -639
  128. package/skills/loop-agent/references/docs-converge.md +126 -126
  129. package/skills/loop-agent/references/learned/README.md +21 -21
  130. package/skills/loop-agent/references/pi-prompt.md +23 -23
  131. package/skills/loop-agent/references/pi-subagent-assisted-mode.md +84 -84
  132. package/skills/playwright-cli/references/element-attributes.md +23 -23
  133. package/skills/playwright-cli/references/playwright-tests.md +39 -39
  134. package/skills/playwright-cli/references/request-mocking.md +87 -87
  135. package/skills/playwright-cli/references/running-code.md +241 -241
  136. package/skills/playwright-cli/references/session-management.md +225 -225
  137. package/skills/playwright-cli/references/storage-state.md +275 -275
  138. package/skills/playwright-cli/references/test-generation.md +433 -433
  139. package/skills/requesting-code-review/SKILL.md +101 -101
  140. package/skills/requesting-code-review/code-reviewer.md +168 -168
  141. package/skills/systematic-debugging/CREATION-LOG.md +119 -119
  142. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
  143. package/skills/systematic-debugging/condition-based-waiting.md +115 -115
  144. package/skills/systematic-debugging/defense-in-depth.md +122 -122
  145. package/skills/systematic-debugging/find-polluter.sh +63 -63
  146. package/skills/systematic-debugging/root-cause-tracing.md +169 -169
  147. package/skills/systematic-debugging/test-academic.md +14 -14
  148. package/skills/systematic-debugging/test-pressure-1.md +58 -58
  149. package/skills/systematic-debugging/test-pressure-2.md +68 -68
  150. package/skills/systematic-debugging/test-pressure-3.md +69 -69
  151. package/skills/using-git-worktrees/SKILL.md +215 -215
  152. package/skills/verification-before-completion/SKILL.md +154 -154
  153. package/skills/webapp-testing/SKILL.md +19 -19
  154. package/dist/worker/console/static/assets/index-fsjzREob.js +0 -56
@@ -1,73 +1,73 @@
1
- # 架构演进:当前 vs 未来
2
-
3
- 本页区分 loop-agent **当前已实现**的架构能力与**未来规划**。当前事实以代码、发布 CLI、已完成计划为准;未来能力一律标「规划 / 未实现 / 前瞻」。权威源:`CHANGELOG.md`、`docs/reports/current-capability-summary.md`、ADR 0001–0005、`docs/exec-plans/completed/` 与 `docs/exec-plans/active/`。
4
-
5
- **对照版本:`@tea-agent/loop-agent@0.24.0`(2026-07-27)**。细节版本条目见根 `CHANGELOG.md`;本表只保留架构层可读摘要。
6
-
7
- ## 当前已实现(累计至 0.24.0)
8
-
9
- | 域 | 现状 | 权威入口 |
10
- | --- | --- | --- |
11
- | 受治理 Agent runtime | **Pi-only**;`cursor-prompt` 仅显式 one-shot sidecar | ADR 0001、`CHANGELOG.md [0.10.0]` |
12
- | Agent DAG 主链 | `dag run-task` → generate → validate → `run-dag`;report/doctor/reconcile-run | `dag-execution.md`、`test/cli-contract.test.ts` |
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 节点**;Markdown 映射限定 pytest 执行,生成 Markdown 与分层 HTML/脱敏请求响应详情 | completed `2026-07-24-backend-test-scoped-execution-report-ui.md`;`CHANGELOG.md [0.21.0]` / `[0.22.0]` |
21
- | Frontend-test | 默认 short-chain RAG;内容/evidence 质量进入 advisory findings,路径与安全边界仍 fail-closed | `CHANGELOG.md [0.21.0]` / `[0.22.0]` |
22
- | Frontend-implementation | Contract / trace / repair / Mock assess;`ai_workspace` + 知识库 + `openspec` 规范发现;lint 基线债务隔离 | `CHANGELOG.md [0.22.0]` |
23
- | Inspect(原 Observe) | 统一 Console 的 `/inspect/` 只读运营面与富时间线;独立 `observe serve` 已硬下线 | `website/docs/guides/observe-ui.md`、`CHANGELOG.md [Unreleased]` |
24
- | Local Operator Console | `agent-worker console\|doctor`(loopback;默认打开系统浏览器,`--no-open` 禁止);Operate + Inspect、Happy Path / Interview / split view / recovery CTA;**0.23.x 起含 General Operator Chat**(Pi SDK services session、operator-only tool surface);**非**远端多用户 Console | unify design;ADR 0005;completed `2026-07-25-console-phase-4-general-operator-chat.md` |
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
- | 自适应 liveness | runner lease、Provider/tool/output 活动与 meaningful progress 分离;静默 stall 受控终止,退出未确认时禁止自动重试 | `dag-execution.md`、active `2026-07-23-dag-adaptive-liveness.md` |
28
- | 运行恢复 | 节点内协议纠错重试、`dag rerun` 安全子图续跑、`dag rerun-task` 完整任务重跑与 Console Recovery | `CHANGELOG.md [0.20.1]`、active `2026-07-23-operator-rerun-hardening.md` |
29
- | Eval Lab | corpus / campaign / promote(人工门禁);`autoPromote=false`;**非** RSI Level 1 | `CHANGELOG.md [0.15.0]`;active plan 可归档 |
30
- | 文档双树 | `website/docs/` 用法 vs `docs/` 治理;docs-converge | ADR 0003 |
31
- | 文档治理 | 任务式 Start Here、机器可读身份清单、目录默认身份与版本/索引语义检查 | 本目录 README、`docs/README.md`、`docs/document-catalog.json` |
32
-
33
- ### 受治理 runtime 的边界(已实现、不变式)
34
-
35
- - DAG writer 固定 `implement-pi` / `repair-pi`;`executor: "cursor"`、`implement-cursor` / `repair-cursor`、Cursor worker、`cursor-fix` 已从受治理路径移除。
36
- - 完成权威 = shell verification;model verdict / Observe / 报告是 derived/advisory。
37
- - Worker 通过已发布 `loop-agent` 子进程执行,不 in-process import runtime kernel(governance 机器校验)。
38
- - Console / Compatibility 主会话不得绕过 CLI 直接改业务实现(ADR 0005)。
39
-
40
- ## 未来规划(第 3–6 月,**未实现**)
41
-
42
- 以下能力来自 `docs/design/active/六个月规划.md` 与相关设计输入(页首校准条之后的未交付 phase 为**设计输入**)。它们**当前不存在于产品声称的线上形态**,或仅有本地/部分替代:
43
-
44
- | 未来方向 | 状态 | 规划来源 |
45
- | --- | --- | --- |
46
- | 远程 PR / CI 自动创建与写回 | 规划 / 未实现 | `docs/design/active/六个月规划.md`(第 3 个月起) |
47
- | 线上 / 云 Worker | 规划 / 未实现 | 同上 |
48
- | 云 Task Pool / SQL / Orchestrator | 规划 / 未实现 | 同上(第 2 月原始设计已调整为本地 Feature 闭环) |
49
- | 多仓库平台 | 规划 / 未实现 | 同上 |
50
- | 组织级服务 | 规划 / 未实现 | 同上 |
51
- | Web Console(远端多用户) | 规划 / 未实现;**不等于**已发布的本地 loopback Operator Console | 同上;对照 `docs/design/archive/2026-07-21-local-operator-console-from-pi-web.md` |
52
- | fullstack Delivery / Final Verification live 闭环 | 进行中(active train) | `docs/exec-plans/active/2026-07-19-fullstack-dogfood-016x-release-train.md` |
53
- | Dynamic Workflow runtime limits 强执法、更广 profile | 设计输入 | `docs/design/active/dynamic-workflow-dag-engine-roadmap.md` |
54
- | Loop 与 Dynamic Workflow 更深双向集成 / 自动恢复 | 设计输入 | 同上;当前已有基础 `workflow` action |
55
- | Operator Chat 作为主操作会话(裸 bash 收敛、真 human gate、durable session/turn、Operation 闭环、完整 CLI action coverage、默认入口切换) | 设计输入 / 未达主会话门槛 | `docs/design/active/operator-chat-primary-session-roadmap.md`;Phase 4 General Operator Chat 本体已实现归档(`docs/exec-plans/completed/2026-07-25-console-phase-4-general-operator-chat.md`) |
56
- | Eval Lab auto-promote / RSI Level 1 产品声称 | **禁止**写成已交付 | Eval Lab design + active plan |
57
-
58
- > 本地 Operator Console 统一面(实际首发 0.19.0)已发布:单仓库、loopback、随 `@tea-agent/loop-agent` 同包、canonical mutation 只经 sibling CLI,Inspect 复用 GET-only Observe read model。它不是远端 Web Console,也不能把多租户/云编排需求偷渡进本地 Console。
59
-
60
- > 注意:`docs/design/active/dynamic-workflow-dag-engine-roadmap.md` 含 2026-07-04 历史叙述;文中凡把 Cursor 写成受治理 executor 或 `loop` 的 `cursor-fix` 动作,均为**历史叙述**,现状以 Pi-only + 显式 `cursor-prompt` sidecar 为准。
61
-
62
- ## 已收敛为 archive / 历史基线(非未来)
63
-
64
- - 第 1–2 月规划已收敛为 archive/reports 指针,不在本文展开:`docs/design/archive/2026-07-12-第二月规划.md`。
65
- - `docs/reports/2026-07-02-repository-analysis.md` 自 2026-07-14 起冻结为**历史基线快照**(允许有限再采样),不当第二 CHANGELOG。
66
- - 活能力短摘要在 `docs/reports/current-capability-summary.md`。
67
- - 专题证据按类型落在 `docs/reports/{feature,init-evolution,merge,fullstack-dogfood,dogfood}/`。
68
-
69
- ## 文档本体的演进边界
70
-
71
- - 本目录新增文档随发布包发布(`package.json` `files` + manifest `packageRequired` 显式条目),但 **不**投影到目标项目 init surface;目标项目 init 仍只投影语言无关的 `runtime-boundaries.md`。
72
- - `runtime-boundaries.md` 是边界真源;本目录其他文档交叉引用,不复制其 import 方向表 / governance-hook 表 / 版本化自举边界表。
73
- - 未来如有能力落地,应先改 `src/` / CLI / ADR / completed plan,再回写本目录的「已实现」表与站上 `website/docs/overview/*` 短索引。
1
+ # 架构演进:当前 vs 未来
2
+
3
+ 本页区分 loop-agent **当前已实现**的架构能力与**未来规划**。当前事实以代码、发布 CLI、已完成计划为准;未来能力一律标「规划 / 未实现 / 前瞻」。权威源:`CHANGELOG.md`、`docs/reports/current-capability-summary.md`、ADR 0001–0005、`docs/exec-plans/completed/` 与 `docs/exec-plans/active/`。
4
+
5
+ **对照版本:`@tea-agent/loop-agent@0.24.0`(2026-07-27)**。细节版本条目见根 `CHANGELOG.md`;本表只保留架构层可读摘要。
6
+
7
+ ## 当前已实现(累计至 0.24.0)
8
+
9
+ | 域 | 现状 | 权威入口 |
10
+ | --- | --- | --- |
11
+ | 受治理 Agent runtime | **Pi-only**;`cursor-prompt` 仅显式 one-shot sidecar | ADR 0001、`CHANGELOG.md [0.10.0]` |
12
+ | Agent DAG 主链 | `dag run-task` → generate → validate → `run-dag`;report/doctor/reconcile-run | `dag-execution.md`、`test/cli-contract.test.ts` |
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 节点**;Markdown 映射限定 pytest 执行,生成 Markdown 与分层 HTML/脱敏请求响应详情 | completed `2026-07-24-backend-test-scoped-execution-report-ui.md`;`CHANGELOG.md [0.21.0]` / `[0.22.0]` |
21
+ | Frontend-test | 默认 short-chain RAG;内容/evidence 质量进入 advisory findings,路径与安全边界仍 fail-closed | `CHANGELOG.md [0.21.0]` / `[0.22.0]` |
22
+ | Frontend-implementation | Contract / trace / repair / Mock assess;`ai_workspace` + 知识库 + `openspec` 规范发现;lint 基线债务隔离 | `CHANGELOG.md [0.22.0]` |
23
+ | Inspect(原 Observe) | 统一 Console 的 `/inspect/` 只读运营面与富时间线;独立 `observe serve` 已硬下线 | `website/docs/guides/observe-ui.md`、`CHANGELOG.md [Unreleased]` |
24
+ | Local Operator Console | `agent-worker console\|doctor`(loopback;默认打开系统浏览器,`--no-open` 禁止);Operate + Inspect、Happy Path / Interview / split view / recovery CTA;**0.23.x 起含 General Operator Chat**(Pi SDK services session、operator-only tool surface);**非**远端多用户 Console | unify design;ADR 0005;completed `2026-07-25-console-phase-4-general-operator-chat.md` |
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
+ | 自适应 liveness | runner lease、Provider/tool/output 活动与 meaningful progress 分离;静默 stall 受控终止,退出未确认时禁止自动重试 | `dag-execution.md`、active `2026-07-23-dag-adaptive-liveness.md` |
28
+ | 运行恢复 | 节点内协议纠错重试、`dag rerun` 安全子图续跑、`dag rerun-task` 完整任务重跑与 Console Recovery | `CHANGELOG.md [0.20.1]`、active `2026-07-23-operator-rerun-hardening.md` |
29
+ | Eval Lab | corpus / campaign / promote(人工门禁);`autoPromote=false`;**非** RSI Level 1 | `CHANGELOG.md [0.15.0]`;active plan 可归档 |
30
+ | 文档双树 | `website/docs/` 用法 vs `docs/` 治理;docs-converge | ADR 0003 |
31
+ | 文档治理 | 任务式 Start Here、机器可读身份清单、目录默认身份与版本/索引语义检查 | 本目录 README、`docs/README.md`、`docs/document-catalog.json` |
32
+
33
+ ### 受治理 runtime 的边界(已实现、不变式)
34
+
35
+ - DAG writer 固定 `implement-pi` / `repair-pi`;`executor: "cursor"`、`implement-cursor` / `repair-cursor`、Cursor worker、`cursor-fix` 已从受治理路径移除。
36
+ - 完成权威 = shell verification;model verdict / Observe / 报告是 derived/advisory。
37
+ - Worker 通过已发布 `loop-agent` 子进程执行,不 in-process import runtime kernel(governance 机器校验)。
38
+ - Console / Compatibility 主会话不得绕过 CLI 直接改业务实现(ADR 0005)。
39
+
40
+ ## 未来规划(第 3–6 月,**未实现**)
41
+
42
+ 以下能力来自 `docs/design/active/六个月规划.md` 与相关设计输入(页首校准条之后的未交付 phase 为**设计输入**)。它们**当前不存在于产品声称的线上形态**,或仅有本地/部分替代:
43
+
44
+ | 未来方向 | 状态 | 规划来源 |
45
+ | --- | --- | --- |
46
+ | 远程 PR / CI 自动创建与写回 | 规划 / 未实现 | `docs/design/active/六个月规划.md`(第 3 个月起) |
47
+ | 线上 / 云 Worker | 规划 / 未实现 | 同上 |
48
+ | 云 Task Pool / SQL / Orchestrator | 规划 / 未实现 | 同上(第 2 月原始设计已调整为本地 Feature 闭环) |
49
+ | 多仓库平台 | 规划 / 未实现 | 同上 |
50
+ | 组织级服务 | 规划 / 未实现 | 同上 |
51
+ | Web Console(远端多用户) | 规划 / 未实现;**不等于**已发布的本地 loopback Operator Console | 同上;对照 `docs/design/archive/2026-07-21-local-operator-console-from-pi-web.md` |
52
+ | fullstack Delivery / Final Verification live 闭环 | 进行中(active train) | `docs/exec-plans/active/2026-07-19-fullstack-dogfood-016x-release-train.md` |
53
+ | Dynamic Workflow runtime limits 强执法、更广 profile | 设计输入 | `docs/design/active/dynamic-workflow-dag-engine-roadmap.md` |
54
+ | Loop 与 Dynamic Workflow 更深双向集成 / 自动恢复 | 设计输入 | 同上;当前已有基础 `workflow` action |
55
+ | Operator Chat 作为主操作会话(裸 bash 收敛、真 human gate、durable session/turn、Operation 闭环、完整 CLI action coverage、默认入口切换) | 设计输入 / 未达主会话门槛 | `docs/design/active/operator-chat-primary-session-roadmap.md`;Phase 4 General Operator Chat 本体已实现归档(`docs/exec-plans/completed/2026-07-25-console-phase-4-general-operator-chat.md`) |
56
+ | Eval Lab auto-promote / RSI Level 1 产品声称 | **禁止**写成已交付 | Eval Lab design + active plan |
57
+
58
+ > 本地 Operator Console 统一面(实际首发 0.19.0)已发布:单仓库、loopback、随 `@tea-agent/loop-agent` 同包、canonical mutation 只经 sibling CLI,Inspect 复用 GET-only Observe read model。它不是远端 Web Console,也不能把多租户/云编排需求偷渡进本地 Console。
59
+
60
+ > 注意:`docs/design/active/dynamic-workflow-dag-engine-roadmap.md` 含 2026-07-04 历史叙述;文中凡把 Cursor 写成受治理 executor 或 `loop` 的 `cursor-fix` 动作,均为**历史叙述**,现状以 Pi-only + 显式 `cursor-prompt` sidecar 为准。
61
+
62
+ ## 已收敛为 archive / 历史基线(非未来)
63
+
64
+ - 第 1–2 月规划已收敛为 archive/reports 指针,不在本文展开:`docs/design/archive/2026-07-12-第二月规划.md`。
65
+ - `docs/reports/2026-07-02-repository-analysis.md` 自 2026-07-14 起冻结为**历史基线快照**(允许有限再采样),不当第二 CHANGELOG。
66
+ - 活能力短摘要在 `docs/reports/current-capability-summary.md`。
67
+ - 专题证据按类型落在 `docs/reports/{feature,init-evolution,merge,fullstack-dogfood,dogfood}/`。
68
+
69
+ ## 文档本体的演进边界
70
+
71
+ - 本目录新增文档随发布包发布(`package.json` `files` + manifest `packageRequired` 显式条目),但 **不**投影到目标项目 init surface;目标项目 init 仍只投影语言无关的 `runtime-boundaries.md`。
72
+ - `runtime-boundaries.md` 是边界真源;本目录其他文档交叉引用,不复制其 import 方向表 / governance-hook 表 / 版本化自举边界表。
73
+ - 未来如有能力落地,应先改 `src/` / CLI / ADR / completed plan,再回写本目录的「已实现」表与站上 `website/docs/overview/*` 短索引。
@@ -1,100 +1,100 @@
1
- # 系统全景
2
-
3
- 本页用一张全景图说明 loop-agent、agent-worker、治理层与外部系统的关系。依赖方向、import 边界与 governance hook 是契约级事实,权威源是 `runtime-boundaries.md`(本页只交叉引用,不复制)。
4
-
5
- ## 两个 CLI 二进制
6
-
7
- 发布包 `@tea-agent/loop-agent` 提供两个入口(见 `package.json` `bin`):
8
-
9
- | 二进制 | 入口 | 角色 |
10
- | --- | --- | --- |
11
- | `loop-agent` | `bin/loop-agent.js` → `src/cli.ts` | 仓库级 AI coding 任务运行时与治理控制器 |
12
- | `agent-worker` | `bin/agent-worker.js` → `src/worker/cli.ts` | 产品线 TaskSpec / Feature / Task Pool / Observe 外层适配 |
13
-
14
- 两个二进制是独立进程,不共享 in-process runtime。`agent-worker` 真正执行 DAG 时通过已发布的 `loop-agent` 子进程调用(详见 `worker-and-feature.md`)。
15
-
16
- ## 分层概览(交叉引用)
17
-
18
- 完整分层图、各层职责、允许/禁止的 import 方向见 `runtime-boundaries.md` §分层概览 与 §各层职责。一句话摘要:
19
-
20
- ```text
21
- Skill layer .agents/skills/loop-agent、.agents/skills/agent-worker(Markdown,非 TS import)
22
- CLI layer src/cli/ — argv 解析、调用 application/handler、格式化输出
23
- Application src/application/ — typed use-case(validate/run/generate DAG 等)
24
- Workflow runtime src/workflows/ — DAG / Dynamic / Loop 核心执行规则
25
- Executors src/executors/ — Pi / shell / static 受治理外部工具适配
26
- Sidecars src/sidecars/cursor-prompt — 显式手工 one-shot;不得被 workflow 自动依赖
27
- Worker adapter src/worker/ — 产品线适配 + Observe;子进程调用已发布 loop-agent
28
- Infrastructure src/infrastructure/ — .harness 副作用、run lifecycle、原子写入
29
- Governance scripts/check-*.sh、src/governance/ — 防漂移机器校验
30
- ```
31
-
32
- ## 两条入口路径
33
-
34
- ### 直接任务路径
35
-
36
- ```text
37
- 人类 / 主 agent
38
- │ 写任务源与执行约束(.harness/tasks/<taskId>/source)
39
-
40
- loop-agent(runtime + 治理控制器)
41
- │ dag run-task / validate / run-dag / report / doctor / reconcile-run
42
-
43
- workflow runtime(调度 Pi / shell / static 节点)
44
- │ 证据落入 .harness/dag-runs/{active,paused,completed}/<runId>/
45
- └─ report / doctor / promote / closeout 读取并投影证据
46
- ```
47
-
48
- ### 产品线 Feature 路径
49
-
50
- ```text
51
- 人类 / 外部调度器
52
- → agent-worker(TaskSpec / Feature / Task Pool)
53
- → 冻结 controller identity
54
- → spawn 已发布 loop-agent 子进程
55
- → 同一 DAG runtime 与 executor registry
56
- → DAG facts + Task Pool records
57
- → Feature review / morning report / Observe(派生只读视图)
58
- ```
59
-
60
- `agent-worker` 位于核心 runtime 的**上游调用侧**,不是 DAG 执行完成后的必经下游。Observe 可以在任一路径后读取现有事实,但不会改变执行结果。
61
-
62
- ### 本地 Operator Console(Official,0.17.x MVP,与 Observe 协作)
63
-
64
- - `agent-worker console|doctor` 提供 loopback Operator Console(默认 `127.0.0.1:8790`;本地图形环境 listen 后默认打开浏览器,`--no-open` 禁止);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/archive/2026-07-21-local-operator-console-from-pi-web.md`;handoff `docs/reports/feature/2026-07-22-console-mvp-handoff.md`。
68
-
69
- ## 外部边界
70
-
71
- - npm 发布包:`@tea-agent/loop-agent`,包含两个 bin 与静态能力资料。
72
- - 目标仓库:`loop-agent init` 投影语言无关治理资料;源码仓库专用架构文档只随包可读,不默认投影。
73
- - 本地文件系统:`.harness/` 保存运行态事实;Git 工作树保存代码、治理文档与长期交接资料。
74
- - 远程 Git/PR/CI、云 Worker 与云 Task Pool 当前不是核心 runtime 的已实现内置边界,见 `evolution.md`。
75
-
76
- ## 治理层入口
77
-
78
- 治理检查是机器校验,不是文档约定。主入口:
79
-
80
- - `scripts/check-repo.sh` — 聚合入口,CI / in-flight DAG 均调它。
81
- - 子脚本:`scripts/check-architecture-boundaries.sh`(import 边界)、`scripts/check-command-registry-drift.sh`(command registry)、`scripts/check-skill-entry.sh`(公共 skill entry)、`scripts/check-doc-index.sh` / `scripts/check-doc-links.sh`(文档链接)、`scripts/check-init-surface.sh`(package/init surface 契约)、`scripts/check-init-evolution-needed.sh`(高影响变更需报告)。
82
- - `src/governance/**` — 治理逻辑与相关 Vitest。
83
- - `scripts/self-host-canary.mjs` — 源码仓库的 deterministic candidate takeover 证据入口;**不**属于发布 package surface。
84
-
85
- 完整的 governance hook 表(哪个脚本检查什么、失败条件)见 `runtime-boundaries.md` §Governance 钩子。
86
-
87
- ## 受治理 Agent runtime = Pi-only
88
-
89
- 自 0.10.0 起受治理 Agent runtime 硬切为 Pi-only(ADR 0001)。DAG 中 `dagNodeExecutorSchema = z.enum(["pi","shell","static"])`;`executor: "cursor"` 会抛 `CURSOR_DAG_EXECUTOR_REMOVED_ERROR`。`cursor-prompt` 仅保留为显式手工 one-shot sidecar,不进入 Loop auto-execute 或 Delegate 自动写入。详见 `dag-execution.md` 与 `runtime-boundaries.md` §Executors / §Sidecars。
90
-
91
- ## 运行态 vs 治理资料 vs 用法文档
92
-
93
- | 位置 | 内容 | 权威性质 |
94
- | --- | --- | --- |
95
- | `.harness/` | 任务、DAG run、one-shot run、Task Pool、live state | 运行态事实(canonical + derived) |
96
- | 源仓 `docs/`(目标项目常为 `ai_workspace/loop-agent/`) | 原则、边界、计划、报告、模板 | 治理权威 |
97
- | `website/docs/` | 使用者/贡献者导读与操作说明 | 用法双树 |
98
- | `.agents/skills/` | agent 可加载的入口与 reference | 运行时可加载 |
99
-
100
- `.harness/` 内部哪些可写、哪些只读、哪些是 derived,详见 `facts-and-state.md`。
1
+ # 系统全景
2
+
3
+ 本页用一张全景图说明 loop-agent、agent-worker、治理层与外部系统的关系。依赖方向、import 边界与 governance hook 是契约级事实,权威源是 `runtime-boundaries.md`(本页只交叉引用,不复制)。
4
+
5
+ ## 两个 CLI 二进制
6
+
7
+ 发布包 `@tea-agent/loop-agent` 提供两个入口(见 `package.json` `bin`):
8
+
9
+ | 二进制 | 入口 | 角色 |
10
+ | --- | --- | --- |
11
+ | `loop-agent` | `bin/loop-agent.js` → `src/cli.ts` | 仓库级 AI coding 任务运行时与治理控制器 |
12
+ | `agent-worker` | `bin/agent-worker.js` → `src/worker/cli.ts` | 产品线 TaskSpec / Feature / Task Pool / Observe 外层适配 |
13
+
14
+ 两个二进制是独立进程,不共享 in-process runtime。`agent-worker` 真正执行 DAG 时通过已发布的 `loop-agent` 子进程调用(详见 `worker-and-feature.md`)。
15
+
16
+ ## 分层概览(交叉引用)
17
+
18
+ 完整分层图、各层职责、允许/禁止的 import 方向见 `runtime-boundaries.md` §分层概览 与 §各层职责。一句话摘要:
19
+
20
+ ```text
21
+ Skill layer .agents/skills/loop-agent、.agents/skills/agent-worker(Markdown,非 TS import)
22
+ CLI layer src/cli/ — argv 解析、调用 application/handler、格式化输出
23
+ Application src/application/ — typed use-case(validate/run/generate DAG 等)
24
+ Workflow runtime src/workflows/ — DAG / Dynamic / Loop 核心执行规则
25
+ Executors src/executors/ — Pi / shell / static 受治理外部工具适配
26
+ Sidecars src/sidecars/cursor-prompt — 显式手工 one-shot;不得被 workflow 自动依赖
27
+ Worker adapter src/worker/ — 产品线适配 + Observe;子进程调用已发布 loop-agent
28
+ Infrastructure src/infrastructure/ — .harness 副作用、run lifecycle、原子写入
29
+ Governance scripts/check-*.sh、src/governance/ — 防漂移机器校验
30
+ ```
31
+
32
+ ## 两条入口路径
33
+
34
+ ### 直接任务路径
35
+
36
+ ```text
37
+ 人类 / 主 agent
38
+ │ 写任务源与执行约束(.harness/tasks/<taskId>/source)
39
+
40
+ loop-agent(runtime + 治理控制器)
41
+ │ dag run-task / validate / run-dag / report / doctor / reconcile-run
42
+
43
+ workflow runtime(调度 Pi / shell / static 节点)
44
+ │ 证据落入 .harness/dag-runs/{active,paused,completed}/<runId>/
45
+ └─ report / doctor / promote / closeout 读取并投影证据
46
+ ```
47
+
48
+ ### 产品线 Feature 路径
49
+
50
+ ```text
51
+ 人类 / 外部调度器
52
+ → agent-worker(TaskSpec / Feature / Task Pool)
53
+ → 冻结 controller identity
54
+ → spawn 已发布 loop-agent 子进程
55
+ → 同一 DAG runtime 与 executor registry
56
+ → DAG facts + Task Pool records
57
+ → Feature review / morning report / Observe(派生只读视图)
58
+ ```
59
+
60
+ `agent-worker` 位于核心 runtime 的**上游调用侧**,不是 DAG 执行完成后的必经下游。Observe 可以在任一路径后读取现有事实,但不会改变执行结果。
61
+
62
+ ### 本地 Operator Console(Official,0.17.x MVP,与 Observe 协作)
63
+
64
+ - `agent-worker console|doctor` 提供 loopback Operator Console(默认 `127.0.0.1:8790`;本地图形环境 listen 后默认打开浏览器,`--no-open` 禁止);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/archive/2026-07-21-local-operator-console-from-pi-web.md`;handoff `docs/reports/feature/2026-07-22-console-mvp-handoff.md`。
68
+
69
+ ## 外部边界
70
+
71
+ - npm 发布包:`@tea-agent/loop-agent`,包含两个 bin 与静态能力资料。
72
+ - 目标仓库:`loop-agent init` 投影语言无关治理资料;源码仓库专用架构文档只随包可读,不默认投影。
73
+ - 本地文件系统:`.harness/` 保存运行态事实;Git 工作树保存代码、治理文档与长期交接资料。
74
+ - 远程 Git/PR/CI、云 Worker 与云 Task Pool 当前不是核心 runtime 的已实现内置边界,见 `evolution.md`。
75
+
76
+ ## 治理层入口
77
+
78
+ 治理检查是机器校验,不是文档约定。主入口:
79
+
80
+ - `scripts/check-repo.sh` — 聚合入口,CI / in-flight DAG 均调它。
81
+ - 子脚本:`scripts/check-architecture-boundaries.sh`(import 边界)、`scripts/check-command-registry-drift.sh`(command registry)、`scripts/check-skill-entry.sh`(公共 skill entry)、`scripts/check-doc-index.sh` / `scripts/check-doc-links.sh`(文档链接)、`scripts/check-init-surface.sh`(package/init surface 契约)、`scripts/check-init-evolution-needed.sh`(高影响变更需报告)。
82
+ - `src/governance/**` — 治理逻辑与相关 Vitest。
83
+ - `scripts/self-host-canary.mjs` — 源码仓库的 deterministic candidate takeover 证据入口;**不**属于发布 package surface。
84
+
85
+ 完整的 governance hook 表(哪个脚本检查什么、失败条件)见 `runtime-boundaries.md` §Governance 钩子。
86
+
87
+ ## 受治理 Agent runtime = Pi-only
88
+
89
+ 自 0.10.0 起受治理 Agent runtime 硬切为 Pi-only(ADR 0001)。DAG 中 `dagNodeExecutorSchema = z.enum(["pi","shell","static"])`;`executor: "cursor"` 会抛 `CURSOR_DAG_EXECUTOR_REMOVED_ERROR`。`cursor-prompt` 仅保留为显式手工 one-shot sidecar,不进入 Loop auto-execute 或 Delegate 自动写入。详见 `dag-execution.md` 与 `runtime-boundaries.md` §Executors / §Sidecars。
90
+
91
+ ## 运行态 vs 治理资料 vs 用法文档
92
+
93
+ | 位置 | 内容 | 权威性质 |
94
+ | --- | --- | --- |
95
+ | `.harness/` | 任务、DAG run、one-shot run、Task Pool、live state | 运行态事实(canonical + derived) |
96
+ | 源仓 `docs/`(目标项目常为 `ai_workspace/loop-agent/`) | 原则、边界、计划、报告、模板 | 治理权威 |
97
+ | `website/docs/` | 使用者/贡献者导读与操作说明 | 用法双树 |
98
+ | `.agents/skills/` | agent 可加载的入口与 reference | 运行时可加载 |
99
+
100
+ `.harness/` 内部哪些可写、哪些只读、哪些是 derived,详见 `facts-and-state.md`。