@tea-agent/loop-agent 0.3.0 → 0.5.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 +16 -14
- package/CHANGELOG.md +70 -53
- package/README.md +28 -25
- package/bin/agent-worker.js +22 -0
- package/dist/application/dag/validate-dag.js +14 -1
- package/dist/commands/init.js +220 -32
- package/dist/executors/config-core.js +3 -2
- package/dist/executors/dag-pi-executor.js +8 -1
- package/dist/executors/model-routing.js +43 -0
- package/dist/governance/manifest-types.js +9 -1
- package/dist/worker/cli.js +119 -0
- package/dist/worker/loop-agent/command-result.js +1 -0
- package/dist/worker/loop-agent/loop-agent-client.js +105 -0
- package/dist/worker/loop-agent/parse-json.js +14 -0
- package/dist/worker/materialize/harness-task-materializer.js +157 -0
- package/dist/worker/pool/failure-routing.js +98 -0
- package/dist/worker/pool/run-store.js +125 -0
- package/dist/worker/pool/types.js +1 -0
- package/dist/worker/preflight.js +108 -0
- package/dist/worker/profile-mapping.js +76 -0
- package/dist/worker/progress-reporter.js +81 -0
- package/dist/worker/report/morning-report.js +69 -0
- package/dist/worker/repos/repo-resolver.js +23 -0
- package/dist/worker/run-task/run-task.js +359 -0
- package/dist/worker/runner/run-ready.js +216 -0
- package/dist/worker/task-graph/acceptance-schema.js +25 -0
- package/dist/worker/task-graph/ready-queue.js +23 -0
- package/dist/worker/task-graph/task-graph-schema.js +28 -0
- package/dist/worker/task-graph/types.js +1 -0
- package/dist/worker/task-graph/validate.js +188 -0
- package/dist/worker/task-spec/complexity-mapping.js +8 -0
- package/dist/worker/task-spec/schema.js +116 -0
- package/dist/worker/task-spec/types.js +1 -0
- package/dist/worker/task-spec/validate.js +352 -0
- package/dist/workflows/dag/init-hybrid.js +4 -13
- package/dist/workflows/dag/skill-instructions.js +4 -0
- package/dist/workflows/dag/types.js +1 -1
- package/dist/workflows/dag/validate.js +3 -2
- package/docs/README.md +11 -7
- package/docs/development-principles.md +2 -0
- package/docs/exec-plans/active/README.md +1 -1
- package/docs/exec-plans/completed/README.md +8 -0
- package/docs/init-surface.manifest.json +199 -175
- package/docs/skills/vetted-skill-registry.md +4 -4
- package/docs/templates/agent-dag.base.json +1 -1
- package/docs/templates/agent-dag.final-verification.json +1 -1
- package/docs/templates/agent-dag.supervised-implementation.json +1 -1
- package/docs/templates/hybrid-dag.json +1 -1
- package/docs/templates/init-evolution-review.md +33 -33
- package/examples/example-dag.json +1 -1
- package/examples/hybrid-loop-agent-dag.json +1 -1
- package/harness.json +7 -32
- package/package.json +14 -12
- package/skills/init-capability-evolution/SKILL.md +69 -69
- package/skills/loop-agent/SKILL.md +2 -0
- package/skills/loop-agent/references/command-reference.md +63 -35
- package/skills/loop-agent/references/harness-policy.md +2 -1
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: init-capability-evolution
|
|
3
|
-
description: 用于 loop-agent 本仓库的初始化能力演化审查,判断代码、skill、模板、包范围或 DAG 默认能力变化是否需要同步更新目标项目 init surface。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Init Capability Evolution
|
|
7
|
-
|
|
8
|
-
本 skill 用于 loop-agent 本仓库。当变更可能影响 `loop-agent init` 初始化其他项目的能力时使用。
|
|
9
|
-
|
|
10
|
-
## Goal
|
|
11
|
-
|
|
12
|
-
让模型自行判断并维护初始化能力,而不是依赖人工记忆:
|
|
13
|
-
|
|
14
|
-
- 新能力是否应该进入目标项目。
|
|
15
|
-
- 新增/修改的 skill 是否应随 npm 包和 `init --profile full` 投影。
|
|
16
|
-
- 目标项目的 `AGENTS.md`、README managed block、治理 docs、scripts 或 templates 是否需要更新。
|
|
17
|
-
- `package.json files` 与 `docs/init-surface.manifest.json` 是否仍覆盖真实发布范围。
|
|
18
|
-
- 是否需要目标项目 smoke、init doctor、docs audit 或 package dry-run 证据。
|
|
19
|
-
|
|
20
|
-
## Trigger Tiers
|
|
21
|
-
|
|
22
|
-
按 `docs/init-surface.manifest.json` 的 `evolutionReview.tiers` 判断成本:
|
|
23
|
-
|
|
24
|
-
- `advisory`:只记录提示,不阻塞。
|
|
25
|
-
- `surface-check`:运行 `bash scripts/check-init-surface.sh`;通过即可。
|
|
26
|
-
- `model-review`:写一份简短 init evolution review,必要时修改 init surface、包范围、文档、skill 或测试。
|
|
27
|
-
|
|
28
|
-
不要把小改动升级成重流程。只有当变化可能改变目标项目初始化体验、默认 DAG 行为、skill resolution、发布包边界或 init 生成物时,才进入 model-review。
|
|
29
|
-
|
|
30
|
-
## Review Questions
|
|
31
|
-
|
|
32
|
-
审查时逐条回答:
|
|
33
|
-
|
|
34
|
-
1. 本次变更会改变目标项目执行 `loop-agent init --profile full --merge` 后得到的文件、规则或能力吗?
|
|
35
|
-
2. 是否新增、删除或重命名了 `skills/**`,并且目标项目需要 repo-local 可审计副本?
|
|
36
|
-
3. 是否改变了默认 DAG role skills、skill resolution、strict skill audit 或 task prompt 注入?
|
|
37
|
-
4. 是否新增通用治理模板、script matrix、production readiness 或 operator recovery 文档,需要目标项目初始化后可见?
|
|
38
|
-
5. `package.json files` 是否包含所有 npm 运行和初始化所需静态资料?
|
|
39
|
-
6. `docs/init-surface.manifest.json` 是否更新了 package / init / exclude / trigger contract?
|
|
40
|
-
7. 旧目标项目是否只需 advisory、需要手工复制新增文件,还是需要未来 `init audit/update` 迁移能力?
|
|
41
|
-
|
|
42
|
-
## Output
|
|
43
|
-
|
|
44
|
-
轻量审查可以只在 handoff 中说明。高影响审查应写入:
|
|
45
|
-
|
|
46
|
-
```text
|
|
47
|
-
docs/reports/YYYY-MM-DD-init-evolution-review.md
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
报告保持短小,包含:
|
|
51
|
-
|
|
52
|
-
- changed surface
|
|
53
|
-
- decision: no init impact / surface check only / init update required
|
|
54
|
-
- files updated
|
|
55
|
-
- verification commands and results
|
|
56
|
-
- residual risk
|
|
57
|
-
|
|
58
|
-
## Required Verification
|
|
59
|
-
|
|
60
|
-
按影响面选择最小命令:
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
bash scripts/check-init-surface.sh
|
|
64
|
-
bash scripts/check-repo.sh
|
|
65
|
-
npm test -- init-command dag-skills dag-validate-command
|
|
66
|
-
npm pack --dry-run --ignore-scripts
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
如果没有新鲜验证证据,不要宣称 init evolution 已完成。
|
|
1
|
+
---
|
|
2
|
+
name: init-capability-evolution
|
|
3
|
+
description: 用于 loop-agent 本仓库的初始化能力演化审查,判断代码、skill、模板、包范围或 DAG 默认能力变化是否需要同步更新目标项目 init surface。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Init Capability Evolution
|
|
7
|
+
|
|
8
|
+
本 skill 用于 loop-agent 本仓库。当变更可能影响 `loop-agent init` 初始化其他项目的能力时使用。
|
|
9
|
+
|
|
10
|
+
## Goal
|
|
11
|
+
|
|
12
|
+
让模型自行判断并维护初始化能力,而不是依赖人工记忆:
|
|
13
|
+
|
|
14
|
+
- 新能力是否应该进入目标项目。
|
|
15
|
+
- 新增/修改的 skill 是否应随 npm 包和 `init --profile full` 投影。
|
|
16
|
+
- 目标项目的 `AGENTS.md`、README managed block、治理 docs、scripts 或 templates 是否需要更新。
|
|
17
|
+
- `package.json files` 与 `docs/init-surface.manifest.json` 是否仍覆盖真实发布范围。
|
|
18
|
+
- 是否需要目标项目 smoke、init doctor、docs audit 或 package dry-run 证据。
|
|
19
|
+
|
|
20
|
+
## Trigger Tiers
|
|
21
|
+
|
|
22
|
+
按 `docs/init-surface.manifest.json` 的 `evolutionReview.tiers` 判断成本:
|
|
23
|
+
|
|
24
|
+
- `advisory`:只记录提示,不阻塞。
|
|
25
|
+
- `surface-check`:运行 `bash scripts/check-init-surface.sh`;通过即可。
|
|
26
|
+
- `model-review`:写一份简短 init evolution review,必要时修改 init surface、包范围、文档、skill 或测试。
|
|
27
|
+
|
|
28
|
+
不要把小改动升级成重流程。只有当变化可能改变目标项目初始化体验、默认 DAG 行为、skill resolution、发布包边界或 init 生成物时,才进入 model-review。
|
|
29
|
+
|
|
30
|
+
## Review Questions
|
|
31
|
+
|
|
32
|
+
审查时逐条回答:
|
|
33
|
+
|
|
34
|
+
1. 本次变更会改变目标项目执行 `loop-agent init --profile full --merge` 后得到的文件、规则或能力吗?
|
|
35
|
+
2. 是否新增、删除或重命名了 `skills/**`,并且目标项目需要 repo-local 可审计副本?
|
|
36
|
+
3. 是否改变了默认 DAG role skills、skill resolution、strict skill audit 或 task prompt 注入?
|
|
37
|
+
4. 是否新增通用治理模板、script matrix、production readiness 或 operator recovery 文档,需要目标项目初始化后可见?
|
|
38
|
+
5. `package.json files` 是否包含所有 npm 运行和初始化所需静态资料?
|
|
39
|
+
6. `docs/init-surface.manifest.json` 是否更新了 package / init / exclude / trigger contract?
|
|
40
|
+
7. 旧目标项目是否只需 advisory、需要手工复制新增文件,还是需要未来 `init audit/update` 迁移能力?
|
|
41
|
+
|
|
42
|
+
## Output
|
|
43
|
+
|
|
44
|
+
轻量审查可以只在 handoff 中说明。高影响审查应写入:
|
|
45
|
+
|
|
46
|
+
```text
|
|
47
|
+
docs/reports/YYYY-MM-DD-init-evolution-review.md
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
报告保持短小,包含:
|
|
51
|
+
|
|
52
|
+
- changed surface
|
|
53
|
+
- decision: no init impact / surface check only / init update required
|
|
54
|
+
- files updated
|
|
55
|
+
- verification commands and results
|
|
56
|
+
- residual risk
|
|
57
|
+
|
|
58
|
+
## Required Verification
|
|
59
|
+
|
|
60
|
+
按影响面选择最小命令:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
bash scripts/check-init-surface.sh
|
|
64
|
+
bash scripts/check-repo.sh
|
|
65
|
+
npm test -- init-command dag-skills dag-validate-command
|
|
66
|
+
npm pack --dry-run --ignore-scripts
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
如果没有新鲜验证证据,不要宣称 init evolution 已完成。
|
|
@@ -91,6 +91,7 @@ bounded writer 完成后,主会话必须独立复核;命令清单见 `refere
|
|
|
91
91
|
| Long-Running Loop(`loop` init/status/run/record-round/add-signal/closeout、auto mode、signals) | `references/long-running-loop.md` |
|
|
92
92
|
| Three-Pass Convergence、repair artifact、spine audit、knowledge curate、SePO-lite prompt evolution | `references/harness-policy.md` |
|
|
93
93
|
| Operator commands(status/doctor/report/closeout/promote/inspect/spine/knowledge/docs/handoff) | `references/command-reference.md` |
|
|
94
|
+
| 伴生 CLI `agent-worker`(TaskSpec / Task Pool / batch / morning report) | `references/command-reference.md` |
|
|
94
95
|
| Post-Cursor 独立验证、verify knobs、failure handling、closeout | `references/verification-and-failure-handling.md` |
|
|
95
96
|
|
|
96
97
|
## Source Layout
|
|
@@ -104,6 +105,7 @@ bounded writer 完成后,主会话必须独立复核;命令清单见 `refere
|
|
|
104
105
|
| Long-running loop workflow | `src/workflows/loop/` |
|
|
105
106
|
| Task runtime | `src/task/` |
|
|
106
107
|
| Executors | `src/executors/` |
|
|
108
|
+
| Worker TaskSpec pipeline(伴生 CLI `agent-worker`) | `src/worker/` |
|
|
107
109
|
| Run records / promotion / closeout | `src/records/` |
|
|
108
110
|
| Governance | `src/governance/` |
|
|
109
111
|
| Shared helpers | `src/shared/` |
|
|
@@ -14,12 +14,12 @@ loop-agent <command> ...
|
|
|
14
14
|
|
|
15
15
|
面向自举迭代和日常使用时,全局 CLI 应来自 npm 上已发布的安装包。首次安装或有意升级使用 `@latest`:
|
|
16
16
|
|
|
17
|
-
```bash
|
|
18
|
-
npm install -g @tea-agent/loop-agent@latest
|
|
19
|
-
npm list -g @tea-agent/loop-agent --depth=0
|
|
20
|
-
loop-agent --version
|
|
21
|
-
loop-agent doctor
|
|
22
|
-
```
|
|
17
|
+
```bash
|
|
18
|
+
npm install -g @tea-agent/loop-agent@latest
|
|
19
|
+
npm list -g @tea-agent/loop-agent --depth=0
|
|
20
|
+
loop-agent --version
|
|
21
|
+
loop-agent doctor
|
|
22
|
+
```
|
|
23
23
|
|
|
24
24
|
一次自举任务启动后不要中途升级控制器;记录 `npm list -g` 显示的实际版本。不要在 DAG 节点中反复用 `npx @latest` 拉取,也不要使用当前工作区的 `npm link` 或 `npm run dev` 作为控制器去修改 loop-agent 本仓库的 CLI、DAG runtime、executor、package metadata 或 build output。`npm run dev -- <command> ...` 只用于源码调试和聚焦 CLI 开发。
|
|
25
25
|
|
|
@@ -66,11 +66,11 @@ loop-agent doctor
|
|
|
66
66
|
```
|
|
67
67
|
|
|
68
68
|
### Setup(首次)
|
|
69
|
-
```bash
|
|
70
|
-
npm install -g @tea-agent/loop-agent@latest
|
|
71
|
-
loop-agent --version
|
|
72
|
-
loop-agent --help
|
|
73
|
-
```
|
|
69
|
+
```bash
|
|
70
|
+
npm install -g @tea-agent/loop-agent@latest
|
|
71
|
+
loop-agent --version
|
|
72
|
+
loop-agent --help
|
|
73
|
+
```
|
|
74
74
|
|
|
75
75
|
### 检查 repo harness
|
|
76
76
|
```bash
|
|
@@ -78,10 +78,10 @@ loop-agent inspect # 当前 repo(自
|
|
|
78
78
|
loop-agent --repo-root /path/to/target-repo inspect # 指定 repo
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
### 健康检查
|
|
82
|
-
```bash
|
|
83
|
-
loop-agent doctor
|
|
84
|
-
```
|
|
81
|
+
### 健康检查
|
|
82
|
+
```bash
|
|
83
|
+
loop-agent doctor
|
|
84
|
+
```
|
|
85
85
|
|
|
86
86
|
`doctor` 报告当前生效的 Pi backend 及 SDK/CLI 可用性。Pi step 默认 SDK-first 执行:
|
|
87
87
|
|
|
@@ -90,26 +90,26 @@ export CODE_AGENT_PI_BACKEND=sdk-first # 默认:先试 Pi SDK,允许时 fa
|
|
|
90
90
|
export CODE_AGENT_PI_BACKEND=cli-only # 紧急回滚:纯 CLI 路径
|
|
91
91
|
```
|
|
92
92
|
|
|
93
|
-
SDK 回归或 SDK 可选依赖不可用时用 `cli-only` 诊断。CLI fallback 路径须与现有 workflow 行为兼容。
|
|
94
|
-
|
|
95
|
-
### 初始化与旧项目更新
|
|
96
|
-
```bash
|
|
97
|
-
loop-agent init instructions --repo-root <target-repo>
|
|
98
|
-
loop-agent init --repo-root <target-repo> --profile full --merge
|
|
99
|
-
loop-agent init doctor --repo-root <target-repo>
|
|
100
|
-
loop-agent init check-update --repo-root <target-repo> --json
|
|
101
|
-
loop-agent init check-update --repo-root <target-repo> --markdown
|
|
102
|
-
loop-agent init update --repo-root <target-repo> --bootstrap-surface
|
|
103
|
-
loop-agent init update --repo-root <target-repo> --apply-safe
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
`init check-update` 是只读升级报告,用于发现目标项目是否落后于当前包内初始化 surface。输出会区分 deterministic actions、model merge tasks、human decisions 和 recommended next。`--markdown` 会渲染可直接交给模型执行的合并指引,包含 `allowedPaths`、`forbiddenPaths`、`mergeRules` 和 `verification`。
|
|
107
|
-
|
|
108
|
-
`init update --bootstrap-surface` 为旧项目写入 `.harness/init-surface.json` 的 `inferred-baseline`,不伪装成历史 recorded baseline。`init update --apply-safe` 只执行确定性安全动作:补缺失文件、创建目录、刷新 managed block;已有但无法确认与当前包一致的文件会进入 model merge tasks,不会被覆盖。
|
|
109
|
-
|
|
110
|
-
### 创建新 task
|
|
111
|
-
```bash
|
|
112
|
-
loop-agent new-task <task-id> "Task Title"
|
|
93
|
+
SDK 回归或 SDK 可选依赖不可用时用 `cli-only` 诊断。CLI fallback 路径须与现有 workflow 行为兼容。
|
|
94
|
+
|
|
95
|
+
### 初始化与旧项目更新
|
|
96
|
+
```bash
|
|
97
|
+
loop-agent init instructions --repo-root <target-repo>
|
|
98
|
+
loop-agent init --repo-root <target-repo> --profile full --merge
|
|
99
|
+
loop-agent init doctor --repo-root <target-repo>
|
|
100
|
+
loop-agent init check-update --repo-root <target-repo> --json
|
|
101
|
+
loop-agent init check-update --repo-root <target-repo> --markdown
|
|
102
|
+
loop-agent init update --repo-root <target-repo> --bootstrap-surface
|
|
103
|
+
loop-agent init update --repo-root <target-repo> --apply-safe
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
`init check-update` 是只读升级报告,用于发现目标项目是否落后于当前包内初始化 surface。输出会区分 deterministic actions、model merge tasks、human decisions 和 recommended next。`--markdown` 会渲染可直接交给模型执行的合并指引,包含 `allowedPaths`、`forbiddenPaths`、`mergeRules` 和 `verification`。
|
|
107
|
+
|
|
108
|
+
`init update --bootstrap-surface` 为旧项目写入 `.harness/init-surface.json` 的 `inferred-baseline`,不伪装成历史 recorded baseline。`init update --apply-safe` 只执行确定性安全动作:补缺失文件、创建目录、刷新 managed block;已有但无法确认与当前包一致的文件会进入 model merge tasks,不会被覆盖。
|
|
109
|
+
|
|
110
|
+
### 创建新 task
|
|
111
|
+
```bash
|
|
112
|
+
loop-agent new-task <task-id> "Task Title"
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
创建 `.harness/tasks/<task-id>/`,含 `source/`、`artifacts/`、`logs/` 及初始 state。
|
|
@@ -348,6 +348,34 @@ loop-agent knowledge curate --markdown --output docs/reports/<task-id>-learned-p
|
|
|
348
348
|
|
|
349
349
|
读取 `.harness/knowledge/patterns.jsonl` 中 completed convergence repair pattern,按 `failureClass + fixScope shape + invariant` 去重,生成 human-gated learned guidance proposal。命令只生成 proposal,不直接修改 `./skill/references/learned/*.md`;输出会先通过 skill safety audit。
|
|
350
350
|
|
|
351
|
+
### Worker TaskSpec pipeline(伴生 CLI `agent-worker`)
|
|
352
|
+
|
|
353
|
+
`agent-worker` 是与 `loop-agent` 一起发布的独立 CLI(`bin/agent-worker.js -> dist/worker/cli.js`),面向“产品线 Worker”场景:把一批 TaskSpec 规约成可校验、可串行调度、可晨报的流水线。它不进入 `loop-agent` 命令树,也不自带 executor——执行权全部通过子进程委托给已发布的 `loop-agent` CLI(最终是 DAG runtime + shell verification)。
|
|
354
|
+
|
|
355
|
+
```bash
|
|
356
|
+
agent-worker task validate <task.yaml> # 三层校验 TaskSpec,输出 JSON
|
|
357
|
+
agent-worker task explain-profile <task.yaml> # 解释业务 type/risk -> DAG governance profile 映射
|
|
358
|
+
agent-worker batch run-ready \
|
|
359
|
+
--feature-dir <feature-dir> \ # 含 tasks/task-graph.yaml
|
|
360
|
+
--repo <repo-root> \ # 目标 repo
|
|
361
|
+
[--limit <count>] [--batch-run-id <id>] \
|
|
362
|
+
[--loop-agent-bin loop-agent] \
|
|
363
|
+
[--check-repo] [--check-repo-command <command...>] \
|
|
364
|
+
[--quiet] \
|
|
365
|
+
[--pi-model <model>] # smoke 覆盖:所有 pi 节点强制用该模型
|
|
366
|
+
agent-worker report morning --repo <repo-root> [--batch-run-id <id>] [--output <path>]
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
语义要点:
|
|
370
|
+
|
|
371
|
+
- TaskSpec 声明单个任务的业务上下文、`risk_level`、验收与 verify 边界;`risk_level` 被确定性映射到 task complexity。AcceptanceSpec / TaskGraphSpec 声明跨任务验收引用与依赖图,ready queue 决定可运行任务并检测未知依赖/环/文件一致性。
|
|
372
|
+
- 业务 type(`backend-feature`/`frontend-feature`/`qa-testcode` 等)是产品线 profile,不能直接传给 `loop-agent dag run-task --profile`;Worker 会映射到 `auto`/`minimal`/`standard`/`reviewed`/`supervised`。
|
|
373
|
+
- materializer 把 TaskSpec 物化为 `.harness/tasks/<task-id>` 后,Worker 调用 `dag run-task` / `dag validate` / `run-dag` / `dag report`。成功路径走 `promote-run` + `closeout task`;失败路径收集 `dag doctor` / `dag closeout-draft` evidence,写入目标 repo 的 `.task-pool/failure-handoffs/`(不写 `.harness/`,因为 `dag closeout-draft` 会拒绝在 completed facts 之外写入)。
|
|
374
|
+
- Worker runtime state 落在目标 repo 的 `.task-pool/`(artifacts、JSONL/state、晨报、failure handoffs),与 `.harness/` 分离;`.task-pool/` 默认被 `.gitignore` 忽略。
|
|
375
|
+
- preflight 在 `new-task` 前跑 `loop-agent --version`、`inspect`、`docs-audit`、`git status --short --branch`,可选 `--check-repo`。一次夜间批处理期间不升级控制器,记录实际 `loop-agent` 版本。
|
|
376
|
+
- `batch run-ready` 默认在 stderr 输出人类可读进度(批次起止、每个 task 的阶段与耗时、report 决策),stdout 只保留最终 JSON,便于管道取用;加 `--quiet` 可关闭进度。
|
|
377
|
+
- 当前 Worker 仍是 v0(库 + CLI + dogfood),未接入定时/CI 驱动;`report morning` 只能从已有 Task Pool runs 汇总。
|
|
378
|
+
|
|
351
379
|
### 查看 duration statistics
|
|
352
380
|
```bash
|
|
353
381
|
loop-agent stats
|
|
@@ -225,10 +225,11 @@ Sidecar output 为 advisory。若须成为 task evidence,通过 loop-agent run
|
|
|
225
225
|
- `.harness/tasks/<task-id>/loop/` 是 loop runtime projection;不替代 task source 或 repo specs。
|
|
226
226
|
- `.harness/dag-runs/{active,paused,completed}/<run-id>/` 是 DAG run fact storage。Completed facts 为 read-only。
|
|
227
227
|
- `.harness/runs/{active,completed,failed}/<run-id>/` 是 one-shot Pi/Cursor evidence。Completed/failed facts 为 read-only。
|
|
228
|
+
- `.task-pool/` 是伴生 CLI `agent-worker`(Worker TaskSpec pipeline)的 runtime state:batch artifacts、Task Pool JSONL/state、晨报和 failure handoffs。默认被忽略,不提交。
|
|
228
229
|
- Root `artifacts/` 是 legacy/current-work summary space,不是 DAG read-only scratchpad,也不是新 DAG work 的 default handoff。
|
|
229
230
|
- Long-term conclusions 属于 repo governance docs、progress、reports、decisions、tests 或 scripts。
|
|
230
231
|
|
|
231
|
-
除非 task 显式 promote trimmed report 到 repo governance docs,不要提交 `.harness/dag-runs/`、`.harness/runs/` 或 `.
|
|
232
|
+
除非 task 显式 promote trimmed report 到 repo governance docs,不要提交 `.harness/dag-runs/`、`.harness/runs/`、`.harness/cache/` 或 `.task-pool/` 的 runtime histories。
|
|
232
233
|
|
|
233
234
|
## Baseline, dirty workspace, and verification
|
|
234
235
|
|