Bound CLI tasks and preserve model-aware phase handoffs #622
@@ -0,0 +1,216 @@
|
||||
# feature/norm-remediation-u7 任务卡
|
||||
|
||||
任务主记录:PR #622 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/622;状态:已完成(合入前闭合);owner:weichen
|
||||
|
||||
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= eef7e5e778cabcb6216f74b74213a3d7511f383b
|
||||
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-norm-remediation-u7(worktree);分支:feature/norm-remediation-u7
|
||||
- 分支类型:child;initiative_id:feature-norm-remediation;root_target:main;immediate_target:feature/norm-remediation;accepting_requirements:false;parent_branch:feature/norm-remediation;parent_head_sha:c6fe5adba34d7266e7bcfbb9a2c64a0ae61e9b8e;parent_pr:无;parent_source:origin
|
||||
- 需求分流:免(父 initiative 子任务登记已列出 feature/norm-remediation-u7;parent_head_sha=c6fe5adba34d7266e7bcfbb9a2c64a0ae61e9b8e)
|
||||
|
||||
- 授权与交付终点:用户追加并确认 U7:完善 subagent/CLI 的有界任务、容量规划、模型分工、阶段交接与测试要求;本子任务经 Review/CI 合入 initiative。范围限 `AGENT-EXECUTION.md`、`policy/delivery.md`;通用规则已由 Guidelines PR #11 合入,最终 pin/采纳归 U6。本任务不部署、不改平台或执行器架构。
|
||||
- 交付模式:goal-first(目标、范围和交付终点一次确认;范围内连续推进)
|
||||
- 实施执行:agent-per-unit(配置:AGENT-EXECUTION.md)
|
||||
- 合入执行:agent(已授权交付范围内,Review 通过、冲突解决且当前 HEAD 的 CI 通过后合入)
|
||||
- 流程依据:仓库根目录 policy/delivery.md(归档后仍按仓库根目录定位)
|
||||
|
||||
## 目标与非目标
|
||||
|
||||
目标:工作包适合较小/未知容量模型,以一个可独立验证的结果、最小背景和明确验收派发;阶段完成自动持久交接,下一 CLI 会话全新,原生压缩仅在支持时可选;具体规划/执行模型偏好归项目本地配置,requested/effective/不可观测状态如实区分。未知容量使用 100K 显式规划假设,给实现/迭代/测试保留空间;不新增控制器、Schema 或失败门禁。
|
||||
|
||||
共享基线:Guidelines PR #11,merge `a15db5085585f199c3c399824f6cf24c3144bbd5`(draft.14);独立 Review、schema/config 校验与 CI run 3978 均通过。正文/模板和 Review 修复 transport 分别见 `/tmp/guidelines-u7-receipt.json`、`/tmp/guidelines-u7-review-repair-receipt.json`;worker 私有索引 intent-to-add 曾被撤销,为执行偏差,不证明提示具备工具强制力。
|
||||
|
||||
## Agent 实施收据
|
||||
|
||||
路由与 fail-stop 规则见根目录 AGENT-EXECUTION.md 与 policy/delivery.md;每次尝试一行,原始日志留在源码外收据路径。
|
||||
|
||||
| 单元 ID | 预期范围 | 配置摘要 | 角色 | 候选顺序 | attempt | CLI/模型 | 终态 | transport | fallback | 源码外收据路径 |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| norm-u7-dev-bounded-cli-routing | AGENT-EXECUTION.md + policy/delivery.md | caefcb72 (prior config) | implementation | cursor, agy, pi | 1 | cursor-agent-stable / auto | success | e16a75c5111c | 0 | /tmp/norm-u7-dev-receipt.json |
|
||||
| norm-u7-dev-independent-review | independent fixed-diff/config review | run receipt | review | pi, agy, cursor, codex | 1 | pi / minimax-cn/MiniMax-M3 (actual event) | success | 892cf59c5075 | 0 | /tmp/norm-u7-dev-review-receipt.json |
|
||||
|
||||
## 同步记录
|
||||
|
||||
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|
||||
|---|---|---|---|
|
||||
| 启动 | eef7e5e778cabcb6216f74b74213a3d7511f383b | c6fe5adba34d7266e7bcfbb9a2c64a0ae61e9b8e | 2026-10-18T17:35:52Z |
|
||||
|
||||
## 证据(Evidence)
|
||||
|
||||
<!-- CMD="<命令>" make evidence 写入;手抄/转写输出视为无效证据(AGENTS.md 证据与验证门禁)。 -->
|
||||
| 时间(UTC) | 命令 | 被测HEAD | exit | 来源 | sha256(16) |
|
||||
|---|---|---|---|---|---|
|
||||
|
||||
## 结果与验证
|
||||
|
||||
- 结果:共享有界工作包与交接标准已合入 Guidelines PR #11(draft.14);本仓补齐工作包最小信息、100K 保守假设、阶段交接和 requested/effective 区分。PI 请求已明确为 `minimax-cn/MiniMax-M3`,独立 Review 实际事件也报告同 provider/model;Cursor auto,agy Flash 偏好保持 NOT_VERIFIED。普通上下文压力不触发扩围停止;无自动压缩或未知容量不阻断其他授权工作。
|
||||
- 验证:host 在 `e16a75c5111c861afea11458194ac308f81ca99a` 运行配置校验、6 项 agent-exec 入口测试与 diff-check 均通过(SELF);独立 fresh PI Review 重放固定 diff/配置,无阻塞 finding。两个 CLI run 均为新进程和独立隔离工作区,未使用 resume/continue;session ID 未单独提取时记 not-observable,独立性依据 run/attempt 及新进程,不伪造 ID。
|
||||
- 影响与剩余项:U6 才推进 Guidelines pin/采纳记录;当前旧 pin 不宣称已经采用 draft.14。未知/已知容量例子是规范一致性检查,不证明实际模型最大容量或质量提升;同任务真实模型前后质量基准 NOT_RUN(本次交付是规范与配置,未建设评测平台,也未宣称质量提升的实测数值)。端点/登录/压缩与并发强制能力均不作无证据断言。
|
||||
|
||||
## 合入与清理
|
||||
|
||||
- Review 记录(stage=review,fresh_session=true,model=minimax-cn/MiniMax-M3 as configured for PI,session ID=not-observable):独立 Review session;base=c16665365bbbf3b733b034628f102db90d985637;head=e16a75c5111c861afea11458194ac308f81ca99a;范围限 diff AGENT-EXECUTION.md + policy/delivery.md。
|
||||
- 命令与对象:`git diff c16665365bbbf3b733b034628f102db90d985637..e16a75c5111c861afea11458194ac308f81ca99a -- AGENT-EXECUTION.md policy/delivery.md` → 98 行差异(AGENT-EXECUTION.md +41/-3,policy/delivery.md +24/-0);`scripts/agent-exec validate --repo .`(deps/development-manager 未初始化,回退到精确钉住 dm 二进制 `$HOME/.cache/agent-system-dev/agent-exec/dm-server-67784f43eb0430bf596c2cda685cbb4946d2e032` 与 index 钉住 `67784f43eb0430bf596c2cda685cbb4946d2e032` 完全一致;未写规范仓;binary version=0.1.0-dev)→ `validate: ok`,exit=0。
|
||||
- 结论:无 blocker。机器块(`execution.fallback_to_host=never`、`max_attempts_per_profile=3`、`emergency_profile=codex`、`roles.implementation/repair/test/review` 候选顺序、超时/输出字节)逐项与 base 一致;PI `model` 由 `auto` 改为显式 `minimax-cn/MiniMax-M3`,Cursor 保持 `auto`,agy 保持 `auto` 并在 prose 明示 Gemini 3.8 Flash 为 `NOT_VERIFIED`(未观测模型 ID,未声称生效);新增 prose 段只描述本仓做法并显式声明「本节不新增门禁,不放宽凭据、范围、未知副作用与 CI 边界」与「Role lists, attempt limits, timeouts, output limits, the single Codex emergency attempt, stage isolation and fallback_to_host: never are unchanged」。
|
||||
- 观测性:`requested` 模型是提示/配置意图,`effective` 以运行事件信封为准,CLI 不报告时记 `not-observable`;未知容量、agy 缺登录、缺自动压缩均登记事实,不作为全局 fail-close(仅真实扩围走既有 `scope-expansion` fail-stop)。现有 scope/credential/unknown-side-effect fail-stops 未删未弱。
|
||||
- 单元包/容量:bounded packet JSON 的 `goal/constraints/verification` 已含一个结果与验收、允许路径、最小必读、前置 SHA、直接验证命令、未知容量按保守 100K 假设并为执行留余量;100K/200K/300K/500K 仅为规划参考,未声明任何 provider 能力;不新增 schema/字段/控制器。
|
||||
- 阶段交接:里程碑持久交接写入既有任务记录,下一 CLI 阶段或单元以全新会话启动,只读交接与最小必读,不为交接等人工。
|
||||
- 上下文压力:仅在 provider 支持且阶段完成后做上下文压缩;不支持不阻塞;普通压力走交接 + host 重新打包。
|
||||
- 非阻塞观察(不阻塞交付):`AGENT-EXECUTION.md`/`policy/delivery.md` 中新增的相对链接指向 `deps/development-guidelines/standards/agent-execution.md` 与 `deps/development-guidelines/workflows/handoff.md`;当前 `deps/development-guidelines` gitlink 仍为 `2688fd2be6a52c0bf110e7e6366b6f291ab5e4eb`(未在 U7 范围 bump),文件存在与否须 U6 pin 时再核,prose 未声称当前 pin 已采纳 Guidelines PR #11(merge `a15db5085585f199c3c399824f6cf24c3144bbd5`),仅引导后续采纳。`policy/delivery.md` 锚 `#有界单元包上下文与阶段交接` 与新章节 `### 有界单元包、上下文与阶段交接` 在 GFM 风格锚归一化(移除中文标点)下等价。`agy` 段仅将「Gemini 3.8 Flash」记为请求,未声明能力,符合「不发明模型能力」要求。
|
||||
- 不主张 CI 通过;未运行任何 live API/模型探测;未改 source/config/index/refs;未开 PR/部署/派遣同伴。审阅者身份:本独立 session(PI / minimax-cn/MiniMax-M3,session ID not-observable,stage=review)。重放依据:`git rev-parse HEAD` 与 `git ls-files -s deps/development-manager` 即可复现。
|
||||
- 冲突记录:已同步包含 U4 的 initiative `825e4fc`,无冲突;U7 代码/配置相对已审实现 `e16a75c` 未再改变。host 在合成 head `3da20d4` 校验配置并重放入口+事实测试 14 项,均通过(SELF,receipt 已导入),未重跑与此无关的完整套件。
|
||||
- CI 记录:NOT_RUN(当前 HEAD 完整 SHA、全部必需检查、运行链接、执行身份及 GATE 结果)
|
||||
- 合入记录:NOT_RUN(交付授权范围、PR、被核验 HEAD、合入 SHA、目标分支及内容核验)
|
||||
- 清理记录:NOT_RUN(授权依据、写者退出确认、worktree/分支/任务卡处置)
|
||||
|
||||
<!-- Local receipt: SELF. Digests detect corruption; they do not authenticate a reviewer or CI. -->
|
||||
```json
|
||||
{
|
||||
"summary_schema": 1,
|
||||
"source": "SELF",
|
||||
"timestamp": "2026-10-18T17:34:44.780514+00:00",
|
||||
"command": "make precheck",
|
||||
"exit_code": 0,
|
||||
"cwd": "/home/weichen/projects/Agent-System-Dev",
|
||||
"before_head": "eef7e5e778cabcb6216f74b74213a3d7511f383b",
|
||||
"after_head": "eef7e5e778cabcb6216f74b74213a3d7511f383b",
|
||||
"branch": "main",
|
||||
"target_branch": "main",
|
||||
"target_head": "eef7e5e778cabcb6216f74b74213a3d7511f383b",
|
||||
"root_target": "main",
|
||||
"immediate_target": "main",
|
||||
"before_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"after_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"output_tail": [
|
||||
"make[1]: Entering directory '/home/weichen/projects/Agent-System-Dev'",
|
||||
"[repo] branch=main head=eef7e5e778",
|
||||
"[remote] origin/main=eef7e5e778 ahead=0 behind=0",
|
||||
"[tree] clean submodules_drift=0 uninit=12",
|
||||
"[warn] 12 个子模块未初始化——构建/测试前需物化(不阻断写入)",
|
||||
"[worktrees] linked=7",
|
||||
"[recycle] merged un-recycled branches: feature/layered-python-env",
|
||||
"[initiatives] local cards (not authoritative): none",
|
||||
"[hooks] core.hooksPath=scripts/hooks(pre-commit/post-merge 实际接线)",
|
||||
"[facts] policy/facts.md 6 条事实均在有效期内",
|
||||
"[required-reading] core/baseline.md, workflows/delivery.md §1, policy/delivery.md",
|
||||
"[R0] eef7e5e778(完整:eef7e5e778cabcb6216f74b74213a3d7511f383b)",
|
||||
"[worktree] before-sync: recursive component checks passed",
|
||||
"[verdict] READY — 保留本次 precheck receipt 后建任务工作区:PRECHECK_RECEIPT=/tmp/task-precheck.json make task-start NAME=feature/your-branch",
|
||||
"make[1]: Leaving directory '/home/weichen/projects/Agent-System-Dev'"
|
||||
],
|
||||
"output_sha256": "8ebd14a4e8639e7dffb04336ad69df1bb8f80b36d3f9cf1c0875966b3503b3f4",
|
||||
"receipt_sha256": "595376851618682c9df8e7c637c465e9950237249d07bf36ea0726026961fe06",
|
||||
"receipt_path": "/home/weichen/.cache/agent-system-dev/evidence/595376851618682c9df8e7c637c465e9950237249d07bf36ea0726026961fe06.json"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- Local receipt: SELF. Digests detect corruption; they do not authenticate a reviewer or CI. -->
|
||||
```json
|
||||
{
|
||||
"summary_schema": 1,
|
||||
"source": "SELF",
|
||||
"timestamp": "2026-10-18T17:39:09.639625+00:00",
|
||||
"command": "scripts/agent-exec validate --repo . && python3 -m unittest tests.test_agent_exec_entry && git diff --check",
|
||||
"exit_code": 0,
|
||||
"cwd": "/home/weichen/projects/Agent-System-Dev-wt-feature-norm-remediation-u7",
|
||||
"before_head": "e16a75c5111c861afea11458194ac308f81ca99a",
|
||||
"after_head": "e16a75c5111c861afea11458194ac308f81ca99a",
|
||||
"branch": "feature/norm-remediation-u7",
|
||||
"target_branch": "main",
|
||||
"target_head": "eef7e5e778cabcb6216f74b74213a3d7511f383b",
|
||||
"root_target": "main",
|
||||
"immediate_target": "feature/norm-remediation",
|
||||
"before_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"after_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"output_tail": [
|
||||
"validate: ok",
|
||||
"......",
|
||||
"----------------------------------------------------------------------",
|
||||
"Ran 6 tests in 0.389s",
|
||||
"",
|
||||
"OK"
|
||||
],
|
||||
"output_sha256": "8fde6c3d2592daa001b2e9856870a9725c40bcd8c52e7e56c58852005c56eab7",
|
||||
"receipt_sha256": "1478aa40c6d51ff8198bf6517ba5fa4a7fd51f33a7112d52057e771f346cf248",
|
||||
"receipt_path": "/home/weichen/.cache/agent-system-dev/evidence/1478aa40c6d51ff8198bf6517ba5fa4a7fd51f33a7112d52057e771f346cf248.json"
|
||||
}
|
||||
```
|
||||
| 同步(记录前对象) | 825e4fc98f30da4950a48d15d59f5338206726bf | 66696bfc436a4adadf70fe7ecfc6ab4cda631d65 | 2026-10-18T17:48:16Z |
|
||||
|
||||
<!-- Local receipt: SELF. Digests detect corruption; they do not authenticate a reviewer or CI. -->
|
||||
```json
|
||||
{
|
||||
"summary_schema": 1,
|
||||
"source": "SELF",
|
||||
"timestamp": "2026-10-18T17:47:48.776787+00:00",
|
||||
"command": "make task-sync",
|
||||
"exit_code": 0,
|
||||
"cwd": "/home/weichen/projects/Agent-System-Dev-wt-feature-norm-remediation-u7",
|
||||
"before_head": "2de3d398ccc1db9d235238016a12755b4ea989f2",
|
||||
"after_head": "3da20d47b5a4a0732effad4992daf17acd2af944",
|
||||
"branch": "feature/norm-remediation-u7",
|
||||
"target_branch": "main",
|
||||
"target_head": "eef7e5e778cabcb6216f74b74213a3d7511f383b",
|
||||
"root_target": "main",
|
||||
"immediate_target": "feature/norm-remediation",
|
||||
"before_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"after_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"output_tail": [
|
||||
" policy/facts.md | 9 +-",
|
||||
" scripts/facts-verify.sh | 79 ++++++",
|
||||
" tests/test_facts_verify.py | 399 +++++++++++++++++++++++++++",
|
||||
" 4 files changed, 746 insertions(+), 2 deletions(-)",
|
||||
" create mode 100644 .task/archive/feature-norm-remediation-u4.md",
|
||||
" create mode 100644 tests/test_facts_verify.py",
|
||||
"[worktree] before-update: recursive component checks passed",
|
||||
"[worktree] materialize: recursive component checks passed",
|
||||
"[worktree] after-sync: recursive component checks passed",
|
||||
"admit: ok",
|
||||
"[evidence] WARN JSON receipt line 66: unverified: recorded component state was not at its pinned SHA ——关键检查须重跑并以 make evidence 重新写入",
|
||||
"[evidence] WARN JSON receipt line 107: recorded HEAD predates non-card changes ——关键检查须重跑并以 make evidence 重新写入",
|
||||
"[synced] sync_base=825e4fc98f30da4950a48d15d59f5338206726bf tested_head=3da20d47b5a4a0732effad4992daf17acd2af944 checked_at=2026-10-18T17:48:16Z changed=1 sync_target=feature/norm-remediation",
|
||||
"[next] 跑正式验收(make test 等),证据写入任务卡",
|
||||
"make[1]: Leaving directory '/home/weichen/projects/Agent-System-Dev-wt-feature-norm-remediation-u7'"
|
||||
],
|
||||
"output_sha256": "0397ae866aa211d57b600b60355563e5dc4ebb1d09569ef0cc607dfbe5bd1f27",
|
||||
"receipt_sha256": "bcb38dab3f750867a93de90576aa0d39f7fd0501fb0557c085a6d26cf1a29779",
|
||||
"receipt_path": "/home/weichen/.cache/agent-system-dev/evidence/bcb38dab3f750867a93de90576aa0d39f7fd0501fb0557c085a6d26cf1a29779.json"
|
||||
}
|
||||
```
|
||||
|
||||
<!-- Local receipt: SELF. Digests detect corruption; they do not authenticate a reviewer or CI. -->
|
||||
```json
|
||||
{
|
||||
"summary_schema": 1,
|
||||
"source": "SELF",
|
||||
"timestamp": "2026-10-18T17:49:37.631093+00:00",
|
||||
"command": "scripts/agent-exec validate --repo . && python3 -m unittest tests.test_agent_exec_entry tests.test_facts_verify && git diff --check",
|
||||
"exit_code": 0,
|
||||
"cwd": "/home/weichen/projects/Agent-System-Dev-wt-feature-norm-remediation-u7",
|
||||
"before_head": "3da20d47b5a4a0732effad4992daf17acd2af944",
|
||||
"after_head": "3da20d47b5a4a0732effad4992daf17acd2af944",
|
||||
"branch": "feature/norm-remediation-u7",
|
||||
"target_branch": "main",
|
||||
"target_head": "eef7e5e778cabcb6216f74b74213a3d7511f383b",
|
||||
"root_target": "main",
|
||||
"immediate_target": "feature/norm-remediation",
|
||||
"before_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"after_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"output_tail": [
|
||||
"validate: ok",
|
||||
"..............",
|
||||
"----------------------------------------------------------------------",
|
||||
"Ran 14 tests in 4.466s",
|
||||
"",
|
||||
"OK"
|
||||
],
|
||||
"output_sha256": "0abf86ce43ea39bd4b51a9be1a3ca8bc47531f3e75e13af28f7f1f4d6452bc19",
|
||||
"receipt_sha256": "3fb74abf04253157034696850c14561fdee89c6a47e3da22aaea6a5ef419ef70",
|
||||
"receipt_path": "/home/weichen/.cache/agent-system-dev/evidence/3fb74abf04253157034696850c14561fdee89c6a47e3da22aaea6a5ef419ef70.json"
|
||||
}
|
||||
```
|
||||
|
||||
## 闭合记录(合入前折叠)
|
||||
|
||||
- 本卡在 PR #622(https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/622)合入前闭合并归档,随该 PR 一同合入。
|
||||
- 该 PR 的合并提交即本任务的落地记录。
|
||||
- 合入后无需回填,也无需单独的闭合 PR。
|
||||
+38
-3
@@ -18,8 +18,8 @@ increment host fallback authorizations. Safe exhaustion without an emergency
|
||||
candidate ends `unavailable` or `blocked`, and that result does not authorize
|
||||
the host to write the unit. The legacy value `all-unavailable` remains
|
||||
parseable and likewise grants no host write authority. Cursor uses
|
||||
`cursor-agent-stable`. `model: auto` lets each CLI use its configured default
|
||||
model; PI therefore uses the operator-selected MiniMax default. The
|
||||
`cursor-agent-stable`. `model: auto` lets a CLI use its configured default
|
||||
model; any other value is passed to that CLI as its model selector. The
|
||||
`integration` block declares the host-exempt paths and the transport, admission,
|
||||
and cleanup entry points.
|
||||
|
||||
@@ -60,7 +60,7 @@ profiles:
|
||||
pi:
|
||||
adapter: pi
|
||||
executable: pi
|
||||
model: auto
|
||||
model: minimax-cn/MiniMax-M3
|
||||
enabled: true
|
||||
|
||||
codex:
|
||||
@@ -78,3 +78,38 @@ integration:
|
||||
cleanup:
|
||||
command: make task-finish
|
||||
```
|
||||
|
||||
## Model preferences (project choice)
|
||||
|
||||
Generic rules for bounded packets, context budgeting, phase handoff and
|
||||
requested-versus-effective model identity live in the shared
|
||||
[standards/agent-execution.md](deps/development-guidelines/standards/agent-execution.md)
|
||||
and [workflows/handoff.md](deps/development-guidelines/workflows/handoff.md);
|
||||
project procedure is in
|
||||
[policy/delivery.md](policy/delivery.md#有界单元包上下文与阶段交接). This
|
||||
section records only this project's choices.
|
||||
|
||||
- Planning, design and implementation plans: Codex or Claude when available,
|
||||
in the host or a fresh CLI session. This is a preference, not a routing role.
|
||||
- Bounded implementation, repair and test units: the existing normal
|
||||
candidates in the configured role order above. Requested models:
|
||||
- PI: `minimax-cn/MiniMax-M3`, passed as `--model provider/id`. PI
|
||||
actual events have reported `minimax-cn` / `MiniMax-M3` and the local
|
||||
offline catalog lists that profile; each run still records the effective
|
||||
model from that run's events.
|
||||
- Cursor: `auto` (Cursor Auto).
|
||||
- agy: Gemini 3.8 Flash is requested, but its exact selectable model ID and
|
||||
effective identity are `NOT_VERIFIED` (the `agy` models query needs a
|
||||
login that was not available). The profile therefore stays `model: auto`
|
||||
until an observed model ID exists; do not claim Gemini 3.8 Flash is active.
|
||||
- Assigning a different candidate or model to a unit needs a concrete,
|
||||
task-specific reason recorded in the task record, and stays within the
|
||||
existing roles and candidate lists. It is not a silent permission or routing
|
||||
change. Role lists, attempt limits, timeouts, output limits, the single
|
||||
Codex emergency attempt, stage isolation and `fallback_to_host: never` are
|
||||
unchanged by these preferences.
|
||||
- A requested model is prompt/config intent. Only the model reported in a
|
||||
run's actual event envelope counts as effective; when the CLI does not report
|
||||
it, record `not-observable`. Unknown context capacity, a missing agy login
|
||||
or missing automatic compaction are recorded facts, not global fail-closed
|
||||
conditions.
|
||||
|
||||
@@ -154,6 +154,30 @@ host 可以直接编写并提交的豁免只有 `.task/**`、`docs/superpowers/s
|
||||
- 会话隔离不要求为简单任务增加新平台或复杂编排。平凡文档/配置任务仍按最小闭环执行;需要独立 Review
|
||||
时只额外启动一个最小、一次性的评审 session,不复用实施 session,也不扩展任务范围。
|
||||
|
||||
### 有界单元包、上下文与阶段交接
|
||||
|
||||
通用规则见共享 [standards/agent-execution.md](../deps/development-guidelines/standards/agent-execution.md)
|
||||
与 [workflows/handoff.md](../deps/development-guidelines/workflows/handoff.md);本节只写本仓做法,模型偏好见
|
||||
[AGENT-EXECUTION.md](../AGENT-EXECUTION.md#model-preferences-project-choice)。
|
||||
|
||||
- **单元包**:用现有单元包 JSON 的 `goal`/`constraints`/`verification` 写清:一个结果及验收条件、允许路径与
|
||||
须遵守的契约、非目标、前置提交 SHA、最小必读清单、直接验证命令、上下文容量及其来源(未知时按保守的
|
||||
100K 假设)和为执行预留的余量。不新增 schema、运行时字段或控制器。
|
||||
- **容量**:100K/200K/300K/500K 只是规划参考,不是对任何 provider 能力的声明;容量更大不授权更宽的任务,
|
||||
单元仍按一个结果拆分。容量未知不构成失败条件,也不做自动容量强制。
|
||||
- **阶段交接**:长任务每完成一个里程碑,host 自动在现有任务记录中写一份简短的持久交接:目标、状态、关键决定、
|
||||
文件与 SHA、命令与结果、阻塞项、下一步和来源链接;下一个 CLI 阶段或单元以全新会话启动,只读取交接与最小
|
||||
必读材料,不为交接等待人工。
|
||||
- **上下文压力**:provider 支持时,只在阶段完成后使用其上下文压缩;没有自动压缩不阻塞工作。普通上下文压力用
|
||||
交接加 host 在既有授权内重新打包单元处理;只有真实扩围才按既有 `scope-expansion` fail-stop。
|
||||
- **如实区分**:请求模型与实际事件报告的有效模型;可观察的 session 身份与 `not-observable`;worker 局部自检
|
||||
(SELF)与 host 集成验证、独立 Review、精确 HEAD CI(GATE)。
|
||||
- **验证分工**:worker 只跑直接检查;host 在最终候选上运行一次所需的集成套件。涉及安全、契约或部署的改动,
|
||||
须写明正向、负向与回归用例。
|
||||
- **单写者与强制边界**:同一单元同一时刻只有一个写者,host 在运行期间不改规范检出。记录时区分三类约束:
|
||||
提示词指导(单元包内容、容量、交接、模型偏好)、观察到的行为(事件报告的模型与 session),以及工具强制
|
||||
(配置校验、尝试上限、超时、transport/admit)。本节不新增门禁,不放宽凭据、范围、未知副作用与 CI 边界。
|
||||
|
||||
### 两级分支交付模型与分流检查
|
||||
|
||||
本仓采用两级业务交付模型:
|
||||
|
||||
Reference in New Issue
Block a user