@tea-agent/loop-agent 0.5.0 → 0.7.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.
- package/AGENTS.md +142 -142
- package/CHANGELOG.md +132 -98
- package/README.md +195 -195
- package/bin/agent-worker.js +22 -22
- package/bin/loop-agent.js +21 -21
- package/dist/application/dag/args.js +9 -1
- package/dist/application/dag/run-dag.js +16 -2
- package/dist/cli/command-definitions.js +22 -4
- package/dist/cli/help.js +3 -2
- package/dist/cli/program.js +7 -5
- package/dist/commands/import-prd.js +76 -0
- package/dist/commands/init.js +467 -457
- package/dist/commands/instructions.js +90 -58
- package/dist/commands/loop-benchmark.js +11 -11
- package/dist/commands/pi-reuse-benchmark.js +16 -16
- package/dist/executors/cursor-executor.js +1 -1
- package/dist/executors/dag-pi-executor.js +1 -0
- package/dist/executors/pi-sdk-executor.js +63 -1
- package/dist/shared/preview.js +39 -0
- package/dist/task/config-types.js +3 -0
- package/dist/task/runtime.js +27 -27
- package/dist/task/source-references.js +221 -0
- package/dist/worker/cli.js +62 -1
- package/dist/worker/loop-agent/loop-agent-client.js +97 -5
- package/dist/worker/materialize/harness-task-materializer.js +166 -5
- package/dist/worker/observability/event-store.js +82 -0
- package/dist/worker/observability/events.js +79 -0
- package/dist/worker/observability/progress-composite.js +33 -0
- package/dist/worker/observability/read-model.js +1013 -0
- package/dist/worker/observability/snapshot-store.js +43 -0
- package/dist/worker/observability/types.js +1 -0
- package/dist/worker/observe/paths.js +64 -0
- package/dist/worker/observe/routes.js +423 -0
- package/dist/worker/observe/server.js +61 -0
- package/dist/worker/observe/static/app.js +1419 -0
- package/dist/worker/observe/static/index.html +63 -0
- package/dist/worker/observe/static/styles.css +613 -0
- package/dist/worker/pool/failure-routing.js +41 -6
- package/dist/worker/pool/run-store.js +50 -0
- package/dist/worker/progress-reporter.js +0 -18
- package/dist/worker/run-task/run-task.js +327 -92
- package/dist/worker/runner/run-ready.js +112 -4
- package/dist/worker/task-spec/schema.js +2 -1
- package/dist/workflows/dag/canvas-observer.js +275 -275
- package/dist/workflows/dag/event-observer.js +132 -0
- package/dist/workflows/dag/init-hybrid.js +182 -21
- package/dist/workflows/dag/observer-compose.js +52 -0
- package/docs/README.md +75 -72
- package/docs/agent-dag-recovery-playbook.md +184 -184
- package/docs/agent-dag-runner.md +42 -42
- package/docs/architecture/runtime-boundaries.md +162 -147
- package/docs/cursor-executor-usage.md +25 -25
- package/docs/decisions/README.md +3 -3
- package/docs/design/README.md +49 -36
- package/docs/development-principles.md +73 -73
- package/docs/dynamic-workflow-dag-engine-roadmap.md +1749 -1749
- package/docs/exec-plans/README.md +6 -6
- package/docs/exec-plans/active/README.md +12 -7
- package/docs/exec-plans/completed/README.md +32 -19
- package/docs/feature-workflow.md +186 -186
- package/docs/harness-methodology-debugging.md +153 -153
- package/docs/harness-methodology-tdd.md +130 -130
- package/docs/harness-methodology-verification.md +27 -27
- package/docs/init-surface.manifest.json +208 -199
- package/docs/loop-agent-harness.md +55 -42
- package/docs/production-readiness.md +96 -96
- package/docs/progress/README.md +3 -3
- package/docs/reports/README.md +9 -5
- package/docs/skills/README.md +6 -6
- package/docs/skills/vetted-skill-registry.md +26 -26
- package/docs/templates/adr.md +60 -60
- package/docs/templates/agent-dag-authority-surface-audit.prompt.md +94 -94
- package/docs/templates/agent-dag-decision-envelope.schema.json +213 -213
- package/docs/templates/agent-dag-decision-gate-dogfood-report.md +117 -117
- package/docs/templates/agent-dag-decision-gate.prompt.md +246 -246
- package/docs/templates/agent-dag-process-supervisor.prompt.md +98 -98
- package/docs/templates/agent-dag-report.schema.json +454 -454
- package/docs/templates/agent-dag-review-verdict.prompt.md +68 -68
- package/docs/templates/agent-dag.base.json +195 -195
- package/docs/templates/agent-dag.final-verification.json +190 -190
- package/docs/templates/agent-dag.schema.json +316 -316
- package/docs/templates/agent-dag.supervised-implementation.json +500 -500
- package/docs/templates/exec-plan.md +64 -64
- package/docs/templates/feature-spec.md +53 -53
- package/docs/templates/hybrid-dag.json +193 -193
- package/docs/templates/init-evolution-review.md +33 -33
- package/docs/templates/interactive-ui-round2-experiment.md +66 -0
- package/docs/templates/production-readiness-checklist.md +57 -57
- package/docs/templates/progress-log.md +17 -17
- package/docs/templates/project-start-checklist.md +9 -9
- package/docs/templates/qa-report.md +48 -48
- package/docs/templates/sprint-contract.md +29 -29
- package/docs/templates/worker-dogfood-evidence.md +52 -0
- package/docs/templates/worker-dogfood-setup.md +48 -0
- package/docs/verification-matrix.md +41 -41
- package/examples/decision-gate-agent-dag.json +123 -123
- package/examples/example-dag.json +51 -51
- package/examples/hybrid-loop-agent-dag.json +194 -194
- package/harness.json +70 -69
- package/package.json +66 -66
- package/skills/ai-engineering-context/SKILL.md +48 -48
- package/skills/code-review-core/SKILL.md +20 -20
- package/skills/codebase-scout/SKILL.md +19 -19
- package/skills/init-capability-evolution/SKILL.md +69 -69
- package/skills/loop-agent/SKILL.md +149 -147
- package/skills/loop-agent/references/README.md +67 -67
- package/skills/loop-agent/references/command-reference.md +412 -403
- package/skills/loop-agent/references/harness-policy.md +263 -259
- package/skills/loop-agent/references/hybrid-dag.md +216 -216
- package/skills/loop-agent/references/learned/README.md +21 -21
- package/skills/loop-agent/references/long-running-loop.md +59 -59
- package/skills/loop-agent/references/model-routing.md +36 -36
- package/skills/loop-agent/references/multi-worktree.md +54 -54
- package/skills/loop-agent/references/one-shot-runs.md +85 -85
- package/skills/loop-agent/references/orchestrator-and-interventions.md +169 -169
- package/skills/loop-agent/references/pi-prompt.md +23 -23
- package/skills/loop-agent/references/pi-subagent-assisted-mode.md +81 -81
- package/skills/loop-agent/references/post-implementation-and-patterns.md +44 -44
- package/skills/loop-agent/references/task-workflow.md +89 -84
- package/skills/loop-agent/references/verification-and-failure-handling.md +128 -128
- package/skills/requesting-code-review/SKILL.md +101 -101
- package/skills/requesting-code-review/code-reviewer.md +168 -168
- package/skills/systematic-debugging/CREATION-LOG.md +119 -119
- package/skills/systematic-debugging/SKILL.md +296 -296
- package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -158
- package/skills/systematic-debugging/condition-based-waiting.md +115 -115
- package/skills/systematic-debugging/defense-in-depth.md +122 -122
- package/skills/systematic-debugging/find-polluter.sh +63 -63
- package/skills/systematic-debugging/root-cause-tracing.md +169 -169
- package/skills/systematic-debugging/test-academic.md +14 -14
- package/skills/systematic-debugging/test-pressure-1.md +58 -58
- package/skills/systematic-debugging/test-pressure-2.md +68 -68
- package/skills/systematic-debugging/test-pressure-3.md +69 -69
- package/skills/test-driven-development/SKILL.md +20 -20
- package/skills/verification-before-completion/SKILL.md +154 -154
- package/skills/webapp-testing/SKILL.md +19 -19
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# 执行计划
|
|
2
|
-
|
|
3
|
-
- `active/README.md` — 当前进行中的计划
|
|
4
|
-
- `completed/README.md` — 已完成的计划
|
|
5
|
-
|
|
6
|
-
影响多文件、公开命令行为或仓库治理的变更应使用 execution plan。
|
|
1
|
+
# 执行计划
|
|
2
|
+
|
|
3
|
+
- `active/README.md` — 当前进行中的计划
|
|
4
|
+
- `completed/README.md` — 已完成的计划
|
|
5
|
+
|
|
6
|
+
影响多文件、公开命令行为或仓库治理的变更应使用 execution plan。
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
# 进行中的执行计划
|
|
2
|
-
|
|
3
|
-
本目录存放当前进行中的 execution plan。
|
|
4
|
-
|
|
5
|
-
源码仓库可在本 README 旁保留具体 active plan 文件。npm 包只携带本 README 作为目录契约,不复制 loop-agent 源码历史的 active plan;目标仓库自行生成 active plan。
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
# 进行中的执行计划
|
|
2
|
+
|
|
3
|
+
本目录存放当前进行中的 execution plan。
|
|
4
|
+
|
|
5
|
+
源码仓库可在本 README 旁保留具体 active plan 文件。npm 包只携带本 README 作为目录契约,不复制 loop-agent 源码历史的 active plan;目标仓库自行生成 active plan。
|
|
6
|
+
|
|
7
|
+
当前 active execution plan:
|
|
8
|
+
|
|
9
|
+
- `2026-07-10-release-0.6.0-nightly-drill.md` — 技术演练已完成;等待 0.6.0 发布 owner 对 Day-1 provisional remediation 作明确 ratify / revise / reject。
|
|
10
|
+
- `2026-07-11-round-2-interactive-ui-productization.md` — 补齐 Round-1 owner gate,发布 interactive-ui controller,完成 React A/B/C、Round 2/3 扩量、CI/cron 和产品线模板/docs CI。
|
|
11
|
+
|
|
12
|
+
- 已归档:`../completed/2026-07-11-interactive-ui-writer-routing.md`、`../completed/2026-07-10-next-stage-worker-evidence.md` 及更早计划。
|
|
@@ -1,19 +1,32 @@
|
|
|
1
|
-
# 已完成的执行计划
|
|
2
|
-
|
|
3
|
-
实现与验证结束后,已完成计划移入此目录。
|
|
4
|
-
|
|
5
|
-
npm 包携带本 README 作为目录契约。具体 completed plan 属于目标仓库历史,不从 loop-agent 源码历史复制。
|
|
6
|
-
|
|
7
|
-
- [`2026-07-02-loop-agent-subject-restructure.md`](2026-07-02-loop-agent-subject-restructure.md) — 将原 `tools/code-agent` runtime 提升到仓库根、重命名为 `loop-agent`,移除旧 memory plugin 产品线
|
|
8
|
-
- [`2026-07-04-remove-level1-fallback.md`](2026-07-04-remove-level1-fallback.md) — 移除历史顺序 Level 1 fallback,runtime、文档与 command surface 收敛到 DAG 执行
|
|
9
|
-
- [`2026-07-04-runtime-boundary-remediation.md`](2026-07-04-runtime-boundary-remediation.md) — 整合 CLI/skill/runtime 边界,抽出 DAG/Loop runtime seam,集中 harness store/guard 策略
|
|
10
|
-
- [`2026-07-
|
|
11
|
-
- [`2026-07-
|
|
12
|
-
- [`2026-07-
|
|
13
|
-
- [`2026-07-
|
|
14
|
-
- [`2026-07-08-
|
|
15
|
-
- [`2026-07-08-
|
|
16
|
-
- [`2026-07-08-
|
|
17
|
-
- [`2026-07-08-
|
|
18
|
-
- [`2026-07-08-
|
|
19
|
-
- [`2026-07-08-
|
|
1
|
+
# 已完成的执行计划
|
|
2
|
+
|
|
3
|
+
实现与验证结束后,已完成计划移入此目录。
|
|
4
|
+
|
|
5
|
+
npm 包携带本 README 作为目录契约。具体 completed plan 属于目标仓库历史,不从 loop-agent 源码历史复制。
|
|
6
|
+
|
|
7
|
+
- [`2026-07-02-loop-agent-subject-restructure.md`](2026-07-02-loop-agent-subject-restructure.md) — 将原 `tools/code-agent` runtime 提升到仓库根、重命名为 `loop-agent`,移除旧 memory plugin 产品线
|
|
8
|
+
- [`2026-07-04-remove-level1-fallback.md`](2026-07-04-remove-level1-fallback.md) — 移除历史顺序 Level 1 fallback,runtime、文档与 command surface 收敛到 DAG 执行
|
|
9
|
+
- [`2026-07-04-runtime-boundary-remediation.md`](2026-07-04-runtime-boundary-remediation.md) — 整合 CLI/skill/runtime 边界,抽出 DAG/Loop runtime seam,集中 harness store/guard 策略
|
|
10
|
+
- [`2026-07-10-next-stage-worker-evidence.md`](2026-07-10-next-stage-worker-evidence.md) — Worker retry、EnvFailure、边界治理、初始化投影与真实 BE/FE/QA dogfood evidence 闭环
|
|
11
|
+
- [`2026-07-11-interactive-ui-writer-routing.md`](2026-07-11-interactive-ui-writer-routing.md) — 新增 interactive-ui writer-only HIGH 路由、UI 交付契约、真实 React dogfood fixture 与 Round-2 A/B/C 实验入口
|
|
12
|
+
- [`2026-07-04-dag-role-skill-alignment.md`](2026-07-04-dag-role-skill-alignment.md) — 对齐 DAG/Dynamic Workflow role 与 repo-local vetted skills,新增 strict skill audit
|
|
13
|
+
- [`2026-07-06-production-readiness-hardening.md`](2026-07-06-production-readiness-hardening.md) — 冻结 Production Readiness v0.1,打磨 DAG 主路径 next steps、failure routing、doctor/report/failure handoff 与 dogfood 验证
|
|
14
|
+
- [`2026-07-08-taskspec-schema-validate.md`](2026-07-08-taskspec-schema-validate.md) — 新增 TaskSpec v0.1 schema、三层校验器、risk→complexity 映射和 5 个 dogfood TaskSpec 样例
|
|
15
|
+
- [`2026-07-08-acceptance-taskgraph-ready.md`](2026-07-08-acceptance-taskgraph-ready.md) — 新增 AcceptanceSpec / TaskGraphSpec schema、Feature graph 校验、环检测和 Ready 队列计算
|
|
16
|
+
- [`2026-07-08-profile-mapping-agent-worker-cli.md`](2026-07-08-profile-mapping-agent-worker-cli.md) — 新增 business profile 到 loop-agent profile 映射、独立 `agent-worker` CLI 和 package bin surface
|
|
17
|
+
- [`2026-07-08-loop-agent-client-contract-smoke.md`](2026-07-08-loop-agent-client-contract-smoke.md) — 新增 LoopAgentClient、command artifact、JSON parse failure、repo resolver/preflight 与 Ring 0 CLI contract smoke
|
|
18
|
+
- [`2026-07-08-materializer-ring1-dag.md`](2026-07-08-materializer-ring1-dag.md) — 新增 TaskSpec materializer、materialize manifest、coverage-safe source 输出与 Ring 1 DAG generate/validate/dry-run smoke
|
|
19
|
+
- [`2026-07-08-run-task-pipeline-ring2.md`](2026-07-08-run-task-pipeline-ring2.md) — 新增 Worker run-task pipeline、task-local run record、成功/失败分流与 Ring 2 shell-only DAG success/failure smoke
|
|
20
|
+
- [`2026-07-08-task-pool-morning-report.md`](2026-07-08-task-pool-morning-report.md) — 新增 Worker Task Pool JSONL/state store、failure routing、串行 batch run-ready 和 morning report
|
|
21
|
+
- [`2026-07-08-taskspec-worker-master.md`](2026-07-08-taskspec-worker-master.md) — 完成 TaskSpec + Worker 7 步 master 编排,覆盖 schema、graph、profile、client、materialize、run-task、Task Pool 和 morning report
|
|
22
|
+
- [`2026-07-10-obs-001.md`](2026-07-10-obs-001.md) — WorkerEvent schema 与 append-only event/snapshot store
|
|
23
|
+
- [`2026-07-10-obs-002.md`](2026-07-10-obs-002.md) — LoopAgentClient 流式输出、heartbeat 与实时 artifact
|
|
24
|
+
- [`2026-07-10-obs-003.md`](2026-07-10-obs-003.md) — composite progress 与 Worker pipeline 事件打点
|
|
25
|
+
- [`2026-07-10-obs-004.md`](2026-07-10-obs-004.md) — observability snapshot read model
|
|
26
|
+
- [`2026-07-10-obs-005.md`](2026-07-10-obs-005.md) — 本地只读 observe HTTP/SSE server
|
|
27
|
+
- [`2026-07-10-obs-006.md`](2026-07-10-obs-006.md) — Dashboard、Batch Detail 与 Run Detail UI
|
|
28
|
+
- [`2026-07-10-obs-007.md`](2026-07-10-obs-007.md) — run-dag JSONL events 与 composite observer
|
|
29
|
+
- [`2026-07-10-obs-008.md`](2026-07-10-obs-008.md) — Worker DAG events 接线与 DAG Detail UI
|
|
30
|
+
- [`2026-07-10-obs-009.md`](2026-07-10-obs-009.md) — stale、quiet 与 timeout-risk 诊断
|
|
31
|
+
- [`2026-07-10-obs-010.md`](2026-07-10-obs-010.md) — Failure Inbox、文档、package surface 与 smoke 验证
|
|
32
|
+
- [`2026-07-10-observe-ui-review-remediation.md`](2026-07-10-observe-ui-review-remediation.md) — 修复 Observe UI 事件链路、历史 run 投影、artifact 安全边界与失败状态展示
|
package/docs/feature-workflow.md
CHANGED
|
@@ -1,186 +1,186 @@
|
|
|
1
|
-
# 功能工作流
|
|
2
|
-
|
|
3
|
-
本文档区分两层:
|
|
4
|
-
|
|
5
|
-
- **Session governance**:监督方(人/agent)如何组织一次工作会话
|
|
6
|
-
- **Runtime workflows**:`src/workflows/` 下代码实际执行的内容
|
|
7
|
-
|
|
8
|
-
## 默认会话协议
|
|
9
|
-
|
|
10
|
-
1. **Orient**:读 `README.md`、`harness.json` 与本 docs 索引
|
|
11
|
-
2. **Select**:选一个有限边界的工作块
|
|
12
|
-
3. **Contract**:写明交付物、非目标、完成标准、验证命令、失败条件
|
|
13
|
-
4. **Implement**:做最小连贯变更,同步更新必要文档、脚本与测试
|
|
14
|
-
5. **Verify**:按 `verification-matrix.md` 跑命令;完成声明用新鲜输出
|
|
15
|
-
6. **Handoff**:在 `docs/progress/`、`docs/reports/`、exec plan 或 ADR 中记录证据
|
|
16
|
-
|
|
17
|
-
## Orient
|
|
18
|
-
|
|
19
|
-
先理解当前系统,不要默认「没有」:
|
|
20
|
-
|
|
21
|
-
- 读 `harness.json` 列出的仓库入口
|
|
22
|
-
- 查 `git status --short --branch` 与最近提交
|
|
23
|
-
- 新增结构前搜索现有源码、测试、脚本、文档与模板
|
|
24
|
-
- 任务依赖健康基线时跑最小基线检查
|
|
25
|
-
- 涉及 TDD、完成声明或调试时读方法论文档
|
|
26
|
-
|
|
27
|
-
基线已坏时,记录失败命令,并决定当前块是修基线还是在明确范围内接受已知失败。
|
|
28
|
-
|
|
29
|
-
## Select
|
|
30
|
-
|
|
31
|
-
工作块要窄到可验证。避免无关重构、功能与文档迁移混在一起。
|
|
32
|
-
|
|
33
|
-
选中的块应有:
|
|
34
|
-
|
|
35
|
-
- 单一用户可见或维护者可见结果
|
|
36
|
-
- 委托写工作时显式 allowed paths
|
|
37
|
-
- 已知非目标
|
|
38
|
-
- 能证明结果的验证命令
|
|
39
|
-
|
|
40
|
-
## Contract
|
|
41
|
-
|
|
42
|
-
非平凡工作应在实现前写或更新 execution plan、sprint contract、progress log 或 issue 级笔记。Contract 应包含:
|
|
43
|
-
|
|
44
|
-
- 交付物
|
|
45
|
-
- 非目标
|
|
46
|
-
- 验收标准
|
|
47
|
-
- 验证命令
|
|
48
|
-
- 失败条件
|
|
49
|
-
- 预期更新的 artifacts
|
|
50
|
-
|
|
51
|
-
Bug 修复的 contract 应含复现路径,以及证明修复的回归测试或 smoke check。
|
|
52
|
-
|
|
53
|
-
## Implement
|
|
54
|
-
|
|
55
|
-
做满足 contract 的最小连贯变更。
|
|
56
|
-
|
|
57
|
-
- 优先现有 helper 与目录边界
|
|
58
|
-
- 行为变更更新测试
|
|
59
|
-
- 工作流或命令变更更新文档与示例
|
|
60
|
-
- 治理变更更新 `harness.json`、检查脚本或模板
|
|
61
|
-
- 不把占位实现当作已完成
|
|
62
|
-
- 重复约束出现时固化为持久产物
|
|
63
|
-
|
|
64
|
-
## Verify
|
|
65
|
-
|
|
66
|
-
验证是完成权威。
|
|
67
|
-
|
|
68
|
-
- 用 `docs/verification-matrix.md` 选最窄的证明命令
|
|
69
|
-
- 完整重跑命令
|
|
70
|
-
- 读 exit code 与输出
|
|
71
|
-
- 修失败或报告确切失败状态
|
|
72
|
-
- 不用陈旧输出或部分检查声明完成
|
|
73
|
-
|
|
74
|
-
## Agent DAG First
|
|
75
|
-
|
|
76
|
-
复杂实现优先 DAG 工作流:
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
loop-agent new-task <task-id> "Task title"
|
|
80
|
-
loop-agent dag run-task <task-id> --profile auto --strict-models --output <temp-dir>/<task-id>-dag.json
|
|
81
|
-
loop-agent dag validate --dag <temp-dir>/<task-id>-dag.json --strict-models --strict-governance
|
|
82
|
-
loop-agent run-dag --dag <temp-dir>/<task-id>-dag.json --cwd .
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
`<temp-dir>` 为平台原生临时目录。macOS/Windows 上实际文件操作用原生路径;`/` 仅用于稳定 repo 引用、JSON/Markdown 证据引用和 glob 约定。
|
|
86
|
-
|
|
87
|
-
这不是线性 OS-CIVH runtime 状态机。代码里 DAG 有三个命令阶段:
|
|
88
|
-
|
|
89
|
-
1. `dag run-task` 加载 `.harness/tasks/<task-id>/source/需求.md`、可选 `执行约束.md`、`task.json` 与 adapter 验证命令,写出 DAG spec
|
|
90
|
-
2. `dag validate` 校验 schema、依赖、governance profile、写边界、model routing、shell 验证元数据
|
|
91
|
-
3. `run-dag` 加载 DAG、按拓扑排序为 ranks、有界并发执行可运行节点、持久化到 `.harness/dag-runs/<lifecycle>/<run-id>/`,并转入 `completed` 或 `paused`
|
|
92
|
-
|
|
93
|
-
标准生成的 hybrid DAG 默认无 Cursor:
|
|
94
|
-
|
|
95
|
-
```text
|
|
96
|
-
contract-pi
|
|
97
|
-
-> scout-src + scout-tests
|
|
98
|
-
-> plan-pi
|
|
99
|
-
-> implement-pi
|
|
100
|
-
-> verify-pi
|
|
101
|
-
-> closeout-pi
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
`implement-pi` 使用 `executor: "pi"` 与 `toolProfile: "write"`。当 `harness.json` 显式禁用 Pi 并启用 Cursor 时,实现与修复 writer 节点改用 `implement-cursor` / `repair-cursor`。
|
|
105
|
-
|
|
106
|
-
review-gated 模板插入:
|
|
107
|
-
|
|
108
|
-
```text
|
|
109
|
-
verify-pi -> review-pi -> review-gate-shell -> closeout-pi
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
supervised 模板在实现路径上增加 write-set audit、soft/hard shell 验证、process supervision、有界 repair、decision gates 与可选 convergence retry。
|
|
113
|
-
|
|
114
|
-
源码参考:
|
|
115
|
-
|
|
116
|
-
- `src/commands/dag-run-task.ts`
|
|
117
|
-
- `src/commands/dag-validate.ts`
|
|
118
|
-
- `src/commands/run-dag.ts`
|
|
119
|
-
- `src/workflows/dag/init-hybrid.ts`
|
|
120
|
-
- `src/workflows/dag/runner.ts`
|
|
121
|
-
|
|
122
|
-
监督 agent 仍负责:
|
|
123
|
-
|
|
124
|
-
- 写 contract
|
|
125
|
-
- 限定 allowed/forbidden paths
|
|
126
|
-
- 审查 DAG/writeSet 范围
|
|
127
|
-
- 选择验证命令
|
|
128
|
-
- 记录 handoff 证据
|
|
129
|
-
|
|
130
|
-
声称 Production Readiness v0.1 的低/中风险单仓库任务,另须遵循 `docs/production-readiness.md` 与 `docs/templates/production-readiness-checklist.md`。该标准冻结支持范围、非目标、必需 DAG 证据、failure routing 字段与最终验证门禁。
|
|
131
|
-
|
|
132
|
-
## 已移除的顺序工作流
|
|
133
|
-
|
|
134
|
-
历史 Level 1 顺序 command surface 已从公开工作流移除。新工作不要用 `loop-agent run analyze|plan|spec|implement|verify|retrospective|auto|loop|continue|study`。
|
|
135
|
-
|
|
136
|
-
改用 DAG 路径:
|
|
137
|
-
|
|
138
|
-
```bash
|
|
139
|
-
loop-agent new-task <task-id> "Task title"
|
|
140
|
-
loop-agent dag run-task <task-id> --profile auto --strict-models --output <temp-dir>/<task-id>-dag.json
|
|
141
|
-
loop-agent dag validate --dag <temp-dir>/<task-id>-dag.json --strict-models --strict-governance
|
|
142
|
-
loop-agent run-dag --dag <temp-dir>/<task-id>-dag.json --cwd .
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
遗留 `.harness/tasks/<task-id>/.workflow_state.json` 在 task status 完全迁移到 DAG 导向读模型前仍可读,但不是新任务完成的权威。
|
|
146
|
-
|
|
147
|
-
## Outer Loop Runtime
|
|
148
|
-
|
|
149
|
-
`loop` 命令是长跑任务控制层,与会话治理协议不是一回事。它记录 rounds 与 signals,可跑 shell 验证、Pi review、Cursor 修复或 DAG action,并选择下一自动 action。
|
|
150
|
-
|
|
151
|
-
支持的 loop actions:
|
|
152
|
-
|
|
153
|
-
- `shell-verify`
|
|
154
|
-
- `pi-review`
|
|
155
|
-
- `cursor-fix`
|
|
156
|
-
- `dag`
|
|
157
|
-
- `record-round`
|
|
158
|
-
- `add-signal`
|
|
159
|
-
- `closeout`
|
|
160
|
-
|
|
161
|
-
源码参考:
|
|
162
|
-
|
|
163
|
-
- `src/commands/loop.ts`
|
|
164
|
-
- `src/workflows/loop/actions.ts`
|
|
165
|
-
- `src/workflows/loop/state.ts`
|
|
166
|
-
- `src/workflows/loop/rounds.ts`
|
|
167
|
-
|
|
168
|
-
## 调试与 TDD
|
|
169
|
-
|
|
170
|
-
任务需要时使用方法论文档:
|
|
171
|
-
|
|
172
|
-
- 行为变更与 bug 修复:`docs/harness-methodology-tdd.md`
|
|
173
|
-
- 完成或 handoff 声明:`docs/harness-methodology-verification.md`
|
|
174
|
-
- 失败与意外行为:`docs/harness-methodology-debugging.md`
|
|
175
|
-
|
|
176
|
-
## Handoff
|
|
177
|
-
|
|
178
|
-
Handoff 应说明:
|
|
179
|
-
|
|
180
|
-
- 改了什么
|
|
181
|
-
- 有意未做什么
|
|
182
|
-
- 跑了哪些验证命令
|
|
183
|
-
- 是否影响契约、文档、测试或脚本
|
|
184
|
-
- 剩余风险或后续工作
|
|
185
|
-
|
|
186
|
-
较大工作应更新 `docs/progress/`、`docs/reports/`、active exec plan 或 `docs/decisions/`,以便下一会话不依赖聊天历史。
|
|
1
|
+
# 功能工作流
|
|
2
|
+
|
|
3
|
+
本文档区分两层:
|
|
4
|
+
|
|
5
|
+
- **Session governance**:监督方(人/agent)如何组织一次工作会话
|
|
6
|
+
- **Runtime workflows**:`src/workflows/` 下代码实际执行的内容
|
|
7
|
+
|
|
8
|
+
## 默认会话协议
|
|
9
|
+
|
|
10
|
+
1. **Orient**:读 `README.md`、`harness.json` 与本 docs 索引
|
|
11
|
+
2. **Select**:选一个有限边界的工作块
|
|
12
|
+
3. **Contract**:写明交付物、非目标、完成标准、验证命令、失败条件
|
|
13
|
+
4. **Implement**:做最小连贯变更,同步更新必要文档、脚本与测试
|
|
14
|
+
5. **Verify**:按 `verification-matrix.md` 跑命令;完成声明用新鲜输出
|
|
15
|
+
6. **Handoff**:在 `docs/progress/`、`docs/reports/`、exec plan 或 ADR 中记录证据
|
|
16
|
+
|
|
17
|
+
## Orient
|
|
18
|
+
|
|
19
|
+
先理解当前系统,不要默认「没有」:
|
|
20
|
+
|
|
21
|
+
- 读 `harness.json` 列出的仓库入口
|
|
22
|
+
- 查 `git status --short --branch` 与最近提交
|
|
23
|
+
- 新增结构前搜索现有源码、测试、脚本、文档与模板
|
|
24
|
+
- 任务依赖健康基线时跑最小基线检查
|
|
25
|
+
- 涉及 TDD、完成声明或调试时读方法论文档
|
|
26
|
+
|
|
27
|
+
基线已坏时,记录失败命令,并决定当前块是修基线还是在明确范围内接受已知失败。
|
|
28
|
+
|
|
29
|
+
## Select
|
|
30
|
+
|
|
31
|
+
工作块要窄到可验证。避免无关重构、功能与文档迁移混在一起。
|
|
32
|
+
|
|
33
|
+
选中的块应有:
|
|
34
|
+
|
|
35
|
+
- 单一用户可见或维护者可见结果
|
|
36
|
+
- 委托写工作时显式 allowed paths
|
|
37
|
+
- 已知非目标
|
|
38
|
+
- 能证明结果的验证命令
|
|
39
|
+
|
|
40
|
+
## Contract
|
|
41
|
+
|
|
42
|
+
非平凡工作应在实现前写或更新 execution plan、sprint contract、progress log 或 issue 级笔记。Contract 应包含:
|
|
43
|
+
|
|
44
|
+
- 交付物
|
|
45
|
+
- 非目标
|
|
46
|
+
- 验收标准
|
|
47
|
+
- 验证命令
|
|
48
|
+
- 失败条件
|
|
49
|
+
- 预期更新的 artifacts
|
|
50
|
+
|
|
51
|
+
Bug 修复的 contract 应含复现路径,以及证明修复的回归测试或 smoke check。
|
|
52
|
+
|
|
53
|
+
## Implement
|
|
54
|
+
|
|
55
|
+
做满足 contract 的最小连贯变更。
|
|
56
|
+
|
|
57
|
+
- 优先现有 helper 与目录边界
|
|
58
|
+
- 行为变更更新测试
|
|
59
|
+
- 工作流或命令变更更新文档与示例
|
|
60
|
+
- 治理变更更新 `harness.json`、检查脚本或模板
|
|
61
|
+
- 不把占位实现当作已完成
|
|
62
|
+
- 重复约束出现时固化为持久产物
|
|
63
|
+
|
|
64
|
+
## Verify
|
|
65
|
+
|
|
66
|
+
验证是完成权威。
|
|
67
|
+
|
|
68
|
+
- 用 `docs/verification-matrix.md` 选最窄的证明命令
|
|
69
|
+
- 完整重跑命令
|
|
70
|
+
- 读 exit code 与输出
|
|
71
|
+
- 修失败或报告确切失败状态
|
|
72
|
+
- 不用陈旧输出或部分检查声明完成
|
|
73
|
+
|
|
74
|
+
## Agent DAG First
|
|
75
|
+
|
|
76
|
+
复杂实现优先 DAG 工作流:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
loop-agent new-task <task-id> "Task title"
|
|
80
|
+
loop-agent dag run-task <task-id> --profile auto --strict-models --output <temp-dir>/<task-id>-dag.json
|
|
81
|
+
loop-agent dag validate --dag <temp-dir>/<task-id>-dag.json --strict-models --strict-governance
|
|
82
|
+
loop-agent run-dag --dag <temp-dir>/<task-id>-dag.json --cwd .
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
`<temp-dir>` 为平台原生临时目录。macOS/Windows 上实际文件操作用原生路径;`/` 仅用于稳定 repo 引用、JSON/Markdown 证据引用和 glob 约定。
|
|
86
|
+
|
|
87
|
+
这不是线性 OS-CIVH runtime 状态机。代码里 DAG 有三个命令阶段:
|
|
88
|
+
|
|
89
|
+
1. `dag run-task` 加载 `.harness/tasks/<task-id>/source/需求.md`、可选 `执行约束.md`、`task.json` 与 adapter 验证命令,写出 DAG spec
|
|
90
|
+
2. `dag validate` 校验 schema、依赖、governance profile、写边界、model routing、shell 验证元数据
|
|
91
|
+
3. `run-dag` 加载 DAG、按拓扑排序为 ranks、有界并发执行可运行节点、持久化到 `.harness/dag-runs/<lifecycle>/<run-id>/`,并转入 `completed` 或 `paused`
|
|
92
|
+
|
|
93
|
+
标准生成的 hybrid DAG 默认无 Cursor:
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
contract-pi
|
|
97
|
+
-> scout-src + scout-tests
|
|
98
|
+
-> plan-pi
|
|
99
|
+
-> implement-pi
|
|
100
|
+
-> verify-pi
|
|
101
|
+
-> closeout-pi
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
`implement-pi` 使用 `executor: "pi"` 与 `toolProfile: "write"`。当 `harness.json` 显式禁用 Pi 并启用 Cursor 时,实现与修复 writer 节点改用 `implement-cursor` / `repair-cursor`。
|
|
105
|
+
|
|
106
|
+
review-gated 模板插入:
|
|
107
|
+
|
|
108
|
+
```text
|
|
109
|
+
verify-pi -> review-pi -> review-gate-shell -> closeout-pi
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
supervised 模板在实现路径上增加 write-set audit、soft/hard shell 验证、process supervision、有界 repair、decision gates 与可选 convergence retry。
|
|
113
|
+
|
|
114
|
+
源码参考:
|
|
115
|
+
|
|
116
|
+
- `src/commands/dag-run-task.ts`
|
|
117
|
+
- `src/commands/dag-validate.ts`
|
|
118
|
+
- `src/commands/run-dag.ts`
|
|
119
|
+
- `src/workflows/dag/init-hybrid.ts`
|
|
120
|
+
- `src/workflows/dag/runner.ts`
|
|
121
|
+
|
|
122
|
+
监督 agent 仍负责:
|
|
123
|
+
|
|
124
|
+
- 写 contract
|
|
125
|
+
- 限定 allowed/forbidden paths
|
|
126
|
+
- 审查 DAG/writeSet 范围
|
|
127
|
+
- 选择验证命令
|
|
128
|
+
- 记录 handoff 证据
|
|
129
|
+
|
|
130
|
+
声称 Production Readiness v0.1 的低/中风险单仓库任务,另须遵循 `docs/production-readiness.md` 与 `docs/templates/production-readiness-checklist.md`。该标准冻结支持范围、非目标、必需 DAG 证据、failure routing 字段与最终验证门禁。
|
|
131
|
+
|
|
132
|
+
## 已移除的顺序工作流
|
|
133
|
+
|
|
134
|
+
历史 Level 1 顺序 command surface 已从公开工作流移除。新工作不要用 `loop-agent run analyze|plan|spec|implement|verify|retrospective|auto|loop|continue|study`。
|
|
135
|
+
|
|
136
|
+
改用 DAG 路径:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
loop-agent new-task <task-id> "Task title"
|
|
140
|
+
loop-agent dag run-task <task-id> --profile auto --strict-models --output <temp-dir>/<task-id>-dag.json
|
|
141
|
+
loop-agent dag validate --dag <temp-dir>/<task-id>-dag.json --strict-models --strict-governance
|
|
142
|
+
loop-agent run-dag --dag <temp-dir>/<task-id>-dag.json --cwd .
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
遗留 `.harness/tasks/<task-id>/.workflow_state.json` 在 task status 完全迁移到 DAG 导向读模型前仍可读,但不是新任务完成的权威。
|
|
146
|
+
|
|
147
|
+
## Outer Loop Runtime
|
|
148
|
+
|
|
149
|
+
`loop` 命令是长跑任务控制层,与会话治理协议不是一回事。它记录 rounds 与 signals,可跑 shell 验证、Pi review、Cursor 修复或 DAG action,并选择下一自动 action。
|
|
150
|
+
|
|
151
|
+
支持的 loop actions:
|
|
152
|
+
|
|
153
|
+
- `shell-verify`
|
|
154
|
+
- `pi-review`
|
|
155
|
+
- `cursor-fix`
|
|
156
|
+
- `dag`
|
|
157
|
+
- `record-round`
|
|
158
|
+
- `add-signal`
|
|
159
|
+
- `closeout`
|
|
160
|
+
|
|
161
|
+
源码参考:
|
|
162
|
+
|
|
163
|
+
- `src/commands/loop.ts`
|
|
164
|
+
- `src/workflows/loop/actions.ts`
|
|
165
|
+
- `src/workflows/loop/state.ts`
|
|
166
|
+
- `src/workflows/loop/rounds.ts`
|
|
167
|
+
|
|
168
|
+
## 调试与 TDD
|
|
169
|
+
|
|
170
|
+
任务需要时使用方法论文档:
|
|
171
|
+
|
|
172
|
+
- 行为变更与 bug 修复:`docs/harness-methodology-tdd.md`
|
|
173
|
+
- 完成或 handoff 声明:`docs/harness-methodology-verification.md`
|
|
174
|
+
- 失败与意外行为:`docs/harness-methodology-debugging.md`
|
|
175
|
+
|
|
176
|
+
## Handoff
|
|
177
|
+
|
|
178
|
+
Handoff 应说明:
|
|
179
|
+
|
|
180
|
+
- 改了什么
|
|
181
|
+
- 有意未做什么
|
|
182
|
+
- 跑了哪些验证命令
|
|
183
|
+
- 是否影响契约、文档、测试或脚本
|
|
184
|
+
- 剩余风险或后续工作
|
|
185
|
+
|
|
186
|
+
较大工作应更新 `docs/progress/`、`docs/reports/`、active exec plan 或 `docs/decisions/`,以便下一会话不依赖聊天历史。
|