@agent_forge/forge-darwin-x64 1.67.0 → 1.68.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
@@ -157,7 +157,7 @@ Forge 退出码三态(`BLOCKED` 硬阻断 / `ADVISORY` 软信号 / 无前缀
157
157
  每个开发任务自动走 3 道门禁:
158
158
 
159
159
  ```bash
160
- forge task start --ref feat/add-login --branch --accept "go test -v ./... :: PASS" # 创建任务+分支+登记验收标准(--accept 可重复;Expected 是输出子串匹配;go test 带 Expected 忘加 -v 时 start 自动补——无 -v 无 PASS 行永不匹配)
160
+ forge task start --ref feat/add-login --branch --accept "go test -v ./... :: PASS" # 创建任务+分支+登记验收标准(--accept 可重复;Expected 是输出子串匹配;go test 带 Expected 或 contains/not-contains 断言忘加 -v 时 start 自动补——无 -v 无 PASS 行永不匹配)
161
161
  forge task start --ref feat/login --worktree [--base main] [--wt-dir <父目录>] # 在 repo 树外为此任务创建独立 worktree+分支+绑定(多任务并发隔离形态,multi-task-concurrency L4;<repo 父目录>/<repo 名>-wt/<分支> 默认)
162
162
  forge task start --ref feat/add-login --scope "internal/auth/*.go" # 声明计划改动白名单(规划前置→可度量契约,advisory 检测 scope-drift)
163
163
  forge task start --ref feat/frontend --assignee kimi --role frontend --depends-on feat/api # 创建即分派给 kimi(offered),声明上游依赖 feat/api(DAG 环检测;task-verify/task-complete 在 feat/api 交付前阻断)
@@ -290,6 +290,8 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
290
290
  | `forge task intent "<注记>"` | 追加意图注记(三段工件之 intent 段):append-only——没有覆写/删除入口,意图历史即决策史,防轮次重写导致的语义漂移(rot) |
291
291
  | `forge task checklist add/tick/drop` | 操作对账单(checklist 段):勾选即进度、断点存活,task-complete 硬门禁要求全勾(report 写完不算 done,checkbox 才算) |
292
292
  | `forge task start --invariant "run :: expected"` | 析出不变量(instrument 段):声明期校验必须是可执行命令(叙述性约束被拒并指引降级到 checklist/intent),映射进验收标准——机器对账/freshness/complete 前置全覆盖 |
293
+ | `forge task start --accept "..." --assert "type:arg :: expected"` | v2 结构化断言(spec-as-gate):五型机械可判 `exit`(期望退出码)\|`contains`\|`not-contains`(输出子串/反作弊)\|`file-changed`\|`file-untouched`(glob 对任务 diff——freeze 语义的任务级版,保护对象含 .md/.yml 等非源码);`--assert` 附属于同命令中 preceding `--accept`,file-\* 型可独立出现(无 Run);regex 刻意排除(ReDoS + 不可判——意见不走 hard);声明期拒绝叙述性与越形断言 |
294
+ | `forge task start --accept-file <yml>` | 批量考卷声明:顶层 `criteria:`,每条 `run/expected/assertions[type/arg/expected]`(键与任务状态 JSON 一致);与 `--accept` 同层级、按 (Run, Expected, Assertions) 三元组去重合并 |
293
295
  | `forge task wild "<说明>"` | 野外动作申报:任务管道外的显式留痕出口(比静默绕过诚实、比强制建任务轻)。记会话/分支/HEAD/是否已有任务到 `wild/declarations.jsonl`,累计计数供审计回溯(vNext INV-1 的合法出口之一) |
294
296
  | `forge task status` | 查看当前任务门禁状态(含已登记产物链产物与漂移/审批态) |
295
297
  | `forge task list --plan-conversion` | plan-first advisory 转化率报告(先测量再翻转):已发/发后已补方案/发后仍无方案/未发自带方案四计数 + 转化率——叙事 stage 是否升档由数据决定而非直觉 |
@@ -298,8 +300,8 @@ Agent 无法通过 `node -e "fs.writeFileSync()"`、`cat > file`、直接编辑
298
300
  | `forge task mine [--agent <agent>] [--role <role>] [--all-projects] [--blocked] [--json]` | 列出分派给当前/指定 agent 的任务(`--all-projects` 全仓扫描按项目分组;`--blocked` 仅被依赖阻塞的,标注卡在哪环 [status, gate 进度 passed/total]) |
299
301
  | `forge task gate <gate-id>` | 验证单道任务门禁 |
300
302
  | `forge task impact --level none\|multi [--repo <key>]... [--note <说明>] [--ref <ref>]` | 声明当前任务的跨仓影响(多仓 workspace 成员的 verify 前置,单仓改动也须显式声明):`--level none` 改动限定本仓;`--level multi --repo <key>` 波及指定成员 repo(`--repo` 可重复)。默认 advisory(未声明只提醒),protocol.yml 配 `cross_repo_impact: required` 升级为 HARD stop(四段式 WHAT/WHY/HOW/REF 报错),详见 docs/design/multi-repo-workspace.md |
301
- | `forge task verify-acceptance [--ref <ref>] [--trust-foreign]` | 实跑验收标准(task start --accept 登记),记 deterministic 证据;验收命令来自 task import / .forge migrate(外来标记)时首跑须 `--trust-foreign`(人工审阅命令清单后显式受信,防外来命令串直接执行);登记了 held-out 保留集(`task start --heldout <file>`)时同时实跑双套件并记 gap——可见全过而保留集挂 = test-generalization gap(SpecBench 形态,`FORGE_HELDOUT=disable` 逃生留痕),task-complete 边界复跑;零登记时自动从 conventions 档案兜底登记默认套件(build/test/lint,考卷层级 conventions——项目默认考卷而非实现者自选),并从 held-out 池自动抽 1 套业务坏天气集入卷(池非空时,墙-2b) |
302
- | `forge task accept <criteria...> [--ref <ref>]` | 补登记验收标准(考卷层级 manual——实现者看过代码后出的题,梯子最弱一级):格式同 --accept("run :: expected",可多条),锁内合并按 Run 去重(已存在命令保留原层级);已完成任务拒绝补登(考卷在交付前定稿);交付验收单如实披露 manual 层存在 |
303
+ | `forge task verify-acceptance [--ref <ref>] [--trust-foreign]` | 实跑验收标准(task start --accept 登记),记 deterministic 证据;v2 断言逐条判定并记 `acceptance-assert` 证据行(聚合 `acceptance` 行保留);验收命令来自 task import / .forge migrate(外来标记)时首跑须 `--trust-foreign`(人工审阅命令清单后显式受信,防外来命令串直接执行);登记了 held-out 保留集(`task start --heldout <file>`)时同时实跑双套件并记 gap——可见全过而保留集挂 = test-generalization gap(SpecBench 形态,`FORGE_HELDOUT=disable` 逃生留痕),task-complete 边界复跑;零登记时自动从 conventions 档案兜底登记默认套件(build/test/lint,考卷层级 conventions——项目默认考卷而非实现者自选),并从 held-out 池自动抽 1 套业务坏天气集入卷(池非空时,墙-2b) |
304
+ | `forge task accept <criteria...> [--ref <ref>] [--assert "type:arg :: expected"]` | 补登记验收标准(考卷层级 manual——实现者看过代码后出的题,梯子最弱一级):格式同 --accept("run :: expected",可多条),`--assert` 挂本命令最后一条标准(file-\* 可独立);锁内合并按 (Run, Expected, Assertions) 三元组去重(已存在的同一检查保留原层级);已完成任务拒绝补登(考卷在交付前定稿);交付验收单如实披露 manual 层存在 |
303
305
  | `forge task report [--ref <ref>] [--json]` | 交付验收单(验收方单页视图):考卷逐条结果+层级与来源分布、评分与证据强度(deterministic vs agent-claim)、未验证面(UntestedAreas)、残留风险(完成时 open findings)、考卷披露(manual 层告警/held-out 保留集/spec 审批态)、逃生舱库存、审查轮次——附复现入口(verify-acceptance 重跑 / trace 证据链);逃生债行(价-1a:每个验证类逃生转为未验证面披露)、自供申辩计数(价-1c)、自审标记(价-1b:盖章会话=改动生产者时 doc-gate 不消费自录分);--json 结构化输出 |
304
306
  | `forge task mutation [--sample N]` | mutation 抽样(oracle-pipeline L2a,机器出题治假绿;作用于当前活跃任务,无 --ref):对任务改动的 Go 源文件注入变异体(比较/逻辑翻转),逐个原地变异→实跑所在包 go test→立即还原——杀不死变异体的测试是装饰品(断言弱化/空断言无论覆盖率多高都查不出)。判定走 go 退出码契约(测试失败=杀灭/构建失败=无效体/通过=存活逐位点点名);确定性均匀抽样(默认 3,硬-1a 提速:只变异磁盘上有配对测试的改动文件,FORGE_MUTATION_TIMEOUT 调单变异体超时);证据落 mutation-sampling deterministic 行(计入证据强度);advisory 不阻断 |
305
307
  | `forge task fuzz [--sec N] [--max N]` | fuzz 实跑(oracle-pipeline L2b;作用于当前活跃任务,无 --ref):发现任务改动包的 Fuzz 目标并按预算执行 Go 原生引擎(默认 30s/目标、最多 3 个)——edge 清单再全也是人枚举的,fuzz 是无记忆的对抗者;失败目标分型:退出码 1=真 crasher(崩溃输入由 go 写进 testdata/,证据即语料,修完 go test 回归),构建失败/预算中断则无 crasher 语料;证据落 fuzz-run deterministic 行;advisory 不阻断 |
package/bin/forge CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent_forge/forge-darwin-x64",
3
- "version": "1.67.0",
3
+ "version": "1.68.0",
4
4
  "description": "Forge native binary for darwin-x64. Auto-installed via optionalDependencies of @agent_forge/forge; do not depend on directly.",
5
5
  "os": [
6
6
  "darwin"