@agent_forge/forge-linux-arm64 1.29.0 → 1.30.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/bin/README.md CHANGED
@@ -126,6 +126,19 @@ AI 编码是一个循环:写代码 → 运行 → 读反馈 → 修正 → 再
126
126
 
127
127
  换言之,coding agent 负责**跑循环**,Forge 负责**让每一轮循环产出可信、状态可追**。Forge 不 discovery、不规划需求——那些是循环前端的事;Forge 守的是循环的执行质量。
128
128
 
129
+ <details>
130
+ <summary><b>📖 为什么是确定性门禁,而不是让模型自检?</b></summary>
131
+
132
+ 代码可执行(executable)是编码域相对研究/对话域的结构性优势——跑一遍 test / lint / compiler 拿到的退出码是**事实**,模型自评只是**概率判断**。Forge 的门禁尽量把判定交给确定性检查器,而非 LLM-as-judge:
133
+
134
+ - **Sonar AC/DC 两段式验证**:「a failing build is a fact; an opinion is a starting point」——LLM 审查作 advisory,deterministic build/test 作 hard gate。
135
+ - **Code-as-Harness 宣言**(arXiv:2605.18747):「termination should be governed by verification rather than by model confidence」——结束条件由验证决定,不由模型自信度决定。
136
+ - **反直觉但关键**:模型越强、自主循环越长,越需要非模型的客观检查兜底——产出越快,无人复核的代码就越多;门禁是把吞吐量从 liability 变回 leverage 的那一个组件。
137
+
138
+ Forge 退出码三态(`BLOCKED` 硬阻断 / `ADVISORY` 软信号)即这一思路的落地:LLM 判定走 advisory,deterministic 事实走 hard。机械可判的模式(cheat-scan / scope-drift / read-before-edit / verify-acceptance)优先抽成 deterministic 扫描器,LLM-reviewer 退到只做语义判断。
139
+
140
+ </details>
141
+
129
142
  ## 🔧 工作流程
130
143
 
131
144
  每个开发任务自动走 3 道门禁:
@@ -245,12 +258,12 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
245
258
  | `forge task assign --ref <ref> --to <agent> [--role] [--by]` | 把任务分派给指定 agent(offered 起步,编排器侧;未知 agent 警告但接受) |
246
259
  | `forge task claim --ref <ref> [--as <agent>]` | 工作方认领分派给自己的任务(offered→claimed,自动锚定 session) |
247
260
  | `forge task deliver --ref <ref>` | 工作方交付任务(claimed→delivered,交回编排器) |
248
- | `forge task mine [--agent <agent>] [--role] [--blocked] [--json]` | 列出分派给当前/指定 agent 的任务(--blocked 只看被上游依赖卡住的,pending_deps 带未交付上游 ref) |
249
261
  | `forge task question --ref <ref> --content <text>` | 工作方回抛问题(claimed→input-required,暂停等编排器/人答复) |
250
262
  | `forge task answer --ref <ref> [--content <text>]` | 编排器答复回抛(input-required→claimed,答复记入 Decisions;空答复仅恢复 claimed) |
251
263
  | `forge task fail --ref <ref> --reason <text>` | 工作方标记任务失败(claimed→failed,记录原因) |
252
264
  | `forge task cancel --ref <ref> --reason <text>` | 编排器撤回分派(offered/claimed/input-required→canceled,记录原因) |
253
265
  | `forge task reopen --ref <ref> --reason <text>` | 交付后重开(delivered→claimed,交付后发现 bug) |
266
+ | `forge task reclaim [--dry-run] [--json]` | 回收 claimed 僵尸任务(claimed>TTL 默认 7d 无 checklog 活动)回 offered、重置认领时钟(补齐设计 §3 TTL 回收触发;复用 task health 的 IsClaimedStale 同一真相源,故 health 报告与本命令目标永远一致)。回收保留 Agent 不变 → 只有原认领 agent 崩溃/重启后能重新认领;改派用 cancel+assign。`--dry-run` 只列出不改状态 |
254
267
  | `forge task export --ref <ref> [-o\|--output file] [--include-checklog] [--redact]` | 把任务导出为跨机器 JSON Bundle(task state 存于用户级 DataDir 不随仓库走,跨机器交接需此载体;--include-checklog 附带证据链;--redact 抹除 issue/agent/commit/证据供对外分享) |
255
268
  | `forge task import --file <bundle> [--force\|--merge]` | 从 Bundle 导入任务到本地(导入 session 标记幽灵仅溯源;默认同 ref 拒绝,--force 覆盖,--merge 按 ID 并集协作记录;含 checklog 则回放进本地 trace) |
256
269
  | `forge task health [--json]` | 扫描全 project 上浮僵尸/死锁/长期未答复任务(只读告警,不改状态):offered>7d / claimed>TTL(无 checklog 活动)/ input-required>7d / abandoned_count≥2 标黄,DependsOn 指向 failed/canceled/缺失的死锁链与环主动报;与 mine/看板共享同一检测真相源 |
package/bin/forge CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent_forge/forge-linux-arm64",
3
- "version": "1.29.0",
3
+ "version": "1.30.0",
4
4
  "description": "Forge native binary for linux-arm64. Auto-installed via optionalDependencies of @agent_forge/forge; do not depend on directly.",
5
5
  "os": [
6
6
  "linux"