Repository navigation
fix(planning): include requirement refinement documents - #8550
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Request changes conclusion (author-owned PR; GitHub blocks formal self-review)
Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · max
评审提交:4217fd779a61d54ec873a6f7df19b95e702fc2f7
动机 / Motivation
受影响的是通过 todo plan 或 /loopx guided 启动接手 Goal 的 Agent。基线检查点已有 inspect 和 refine 命令,调用者还得查找声明和链接文档的结构。候选把两份文档和 revision 指引放进同一个规划检查点,供首次规划和后续接手续用。File 与 SQLite 中,两条实际 CLI 路径都能按候选模板声明要求、关联一个真实 Todo 并读回来源和原目标。这组验证覆盖 CLI 与合成规划运行,实际模型采用率和长期结果仍待测。当前默认 guided JSON 超过既有精简比例,主干上的对应测试通过,候选同测试失败。
改动思路 / Approach
共享的规划适配器适合提供模板和命令。验收与 Todo 的已有所有者负责写入和拒绝。建议在同一规划边界内处理多出的公共内容,避免新增持久状态或要求 Agent 再做一次规划。 规划步骤提供文档形状与可复制命令,持久化规则继续由现有 acceptance owner 验证。实际 File 与 SQLite 上按渲染命令完成一轮声明、链接和回读。
具体改动 / Changes
关键代码讲解
2 个文件,增加 93 行、删除 34 行。依据 docs/reference/goal-acceptance-observations.md 核对 routed-source-declaration、owned-work-and-replay、guided-compact-budget。 基线规范
在绑定的规划入口,CLI 确定 Goal、Agent 和 runtime 路由,再读取可执行 Todo 和当前 acceptance。共享步骤把声明文档的 outcome、owner、目标、要求和来源交给调用者,并提供一个只含 outcome 与实际 Todo ID 的链接文档。refine 先预演或检查 provider revision。声明和链接分别提交,响应丢失时用原操作 ID 重试。跨所有者、缺来源、失效 revision 和不存在的 Todo 都被拒绝。已有任务从 compare 步骤获得同样的模板。 实现
对主干的风险 / Risks
[P2] 默认 guided JSON 超过已有压缩比例。 同一 CLI 输入的 compact / detail 从 40,851 / 62,138 变为 41,626 / 62,913 字符。比例从 65.74% 到 66.16%。两种响应各多出 775 字符,结构化文档和 revision 指引需要保留可达性。既有 test_projection_materially_reduces_repetition_without_hiding_measurement 在主干通过、在候选失败。
语义与 CI 对齐
18 项 task-planning、7 项 benchmark 规划传输、Ruff、配置内 mypy 和 standard premerge 的 6 项直接及 13 项定向检查通过。guided 套件 74 通过、1 失败。对照在主干通过,候选超限。 全仓 Python 未跑,远程 CI 未查询。
我的整体评价 / Verdict
请保留两份可直接使用的模板和原 CAS、重试及权限条款。用同一输入去掉可证实的重复,或按仓库预算流程给出收益、成本和新的复验界线。重跑 guided 投影测试及两个入口的 File 与 SQLite 路径。
改动呈现在 CLI 和规划检查点的 JSON、Markdown 中。隔离验证覆盖规划 CLI,未运行真实模型。
English verdict: REQUEST_CHANGES. The refinement recipes work in both planning entrypoints. The exact head exceeds the existing guided compact-output budget; retain recipe access while qualifying the size change.
songoow
left a comment
There was a problem hiding this comment.
Reviewer: model_agent · GPT-6 Astra Pro · OpenAI · self_reported
评审 head:4217fd779a61d54ec873a6f7df19b95e702fc2f7;固定比较基线:beff0f3e55d1f70eceebbd8e78c11f1cff34643b。
动机 / Motivation
通过todo plan或guided start为现有Goal声明要求并关联真实Todo的Agent。
原规划检查点只有inspect/refine命令,调用者还需自行寻找声明与链接文档格式;PR将两份文档模板和版本、重试指导放入同一检查点。
调用者可从返回模板完成要求声明、Todo创建、修订版本刷新、链接和独立读回,同时保持原Goal与owner。
范围是规划输出与原goal-acceptance入口的可用性,不增加执行阶段,不放宽验收或替代原owner的完整合同。
改动思路 / Approach
模板放回已有规划检查点,继续由goal-acceptance验证版本、owner与操作身份,这个所有权分配合理;不需要新planner阶段或自动写入。 应保留实用的声明/链接指导,同时在本PR范围内完成输出预算资格,不通过删掉有用义务来凑字数。
新recipe保留Goal与Agent路由、原owner/objective、当前provider_revision以及每次refinement独立稳定的operation id。Todo写入后先inspect再链接,响应丢失则重放相同operation;这些条款值得保留,输出增长也需要按既有规则明确验证。
具体改动 / Changes
完整检查2个文件。todo_authoring_steps为两个规划入口提供声明文档、链接文档与revision_guidance;没有Agent时显式保留占位值。新增测试解析真正返回的命令与文档,经File/SQLite声明、创建Todo、拒绝旧revision、刷新后链接并验证幂等读回。18项task-planning测试通过;相同新fixture载入基线时两种provider都因缺少模板字段失败,证明新增内容确实到达公开入口。
独立接受依据为已有测试与预算决策规范,spec_revision=beff0f3e55d1f70eceebbd8e78c11f1cff34643b,criterion_id=existing_boundary:保留有用含义,按消费者价值和完整成本验证回归预算,不能将红色预算检查当成成功。
对主干的风险 / Risks
[P2] 当前head仍使既有guided压缩比例检查失败。 我独立运行test_projection_materially_reduces_repetition_without_hiding_measurement:固定基线通过,head失败,compact为41,797字符、detail为63,147字符,允许上限为41,677。不同测试目录长度会改变绝对数字,本轮没有照抄作者40,851/62,138等数字。
保留模板及其可达性,去掉经验证的冗余,或按已有预算流程说明新增指导的价值、完整成本和余量并校准该回归预算;然后同时验证todo plan和guided输出。
这是可归因的现有回归门失败,并不证明模板内容不应交付。已有同一P2线程仍未解决,本轮引用并补独立结果,不重复新建inline。真实File/SQLite规划闭环通过,未运行真实模型或完整远端CI。
我的整体评价 / Verdict
建议REQUEST_CHANGES。功能方向和既有owner边界合理,模板也确实能执行,但当前提交尚未完成既有输出预算资格。最小补丁应保留两份模板与版本/重试含义,完成有依据的冗余处理或预算校准后再复验;没有页面或布局变化。
English verdict: REQUEST_CHANGES. The refinement recipes work, but qualify the introduced guided-output budget regression while retaining useful authoring guidance.
Integrate the reviewed branch with current main and address the verified review finding. Signed-off-by: huangruiteng <huangrt01@163.com>
huangruiteng
left a comment
There was a problem hiding this comment.
Reviewer: model_agent, gpt-6.1-sol, OpenAI, runtime_reported, reasoning effort max
动机 / Motivation
在 todo plan 或 start-goal --guided 中为现有 Goal 补充验收要求并关联 Todo 的 Agent。 原规划检查点给了 goal-acceptance refine,调用者还得寻找它接受的文档形状。初版补上模板后,同一常规路径的紧凑输出超过原比例测试,虽仍把声明、Todo 写入和回读留在原流程。
两条规划入口都返回声明和关联文档模板。实际执行模板可声明来源与要求,写入 Todo 后拒绝过期版本,读新版本后关联,丢失响应时按原 operation id 重放并回读同一验收结果。
交付范围是规划检查点与既有验收入口。验收写入仍由原 owner、版本与操作身份校验,独立检查仍可选,工作进入仍服从原 Goal 的 Stop 和准入。
改动思路 / Approach
在两入口已有的 todo_authoring_steps 放置一套可填文档,复用既有 refine 路由。只压缩新增的修订说明。两份文档及其说明只出现一次并由紧凑和详情共享,因此在 66% 比例式上增加 240 字符固定余量,对应约 707 个新增共有字符乘以 34%。独立的目标和命令重复计数上限继续检查。
保留源引用、原 owner/目标、写 Todo 后重新 inspect、每次 refine 使用不同的稳定 ID 和同操作重放。预算调整属于合成 fixture 的呈现回归断言,现有运行时输出、宿主传输、验收和配额限制沿用原 owner。 模板是既有文档输入的派生帮助。真实 requirements、provenance、Todo links 与 provider_revision 都由 canonical acceptance owner 保留。占位符来自已有绑定或明确待填输入,提交仍经过同一个验证路径。
具体改动 / Changes
同一检查点返回 Goal/Agent 路由、refine 命令以及声明和关联文档。绑定缺失时明确给 Agent 占位值,等待原身份选择。 todo_authoring_steps
Markdown 把读者引到当前 JSON 检查点的命令与文档模板,继续保留声明、关联和读回的顺序。 append_todo_delta_render_line
执行公开 CLI 实际返回的命令和模板,通过 File/SQLite 验证写回、旧版本拒绝、原操作重放和独立读回。 test_first_plan_declares_then_links_and_reads_canonical_requirements
3 文件 +96/−37。production 1 文件 +25/−9,tests_or_fixtures 2 文件 +71/−28。规格依据为 docs/reference/goal-acceptance-observations.md 与 docs/development/testing-and-quality.md 的首轮规划、版本回读和预算决策,版本 de684cd7eaae46114c1e51fefdadb09a920e4bae。评审映射 source-grounded-first-planning 要求 先读现有验收,仅声明缺失且有来源的要求,链接实际 Todo 并回读。沿用原 owner、版本和重放约束,保留既有重复预算的保护目的。 结果为 implemented,验证来自 pytest tests/control_plane/test_task_planning.py tests/control_plane/test_start_goal_compact_projection.py;test_benchmark_current_admission.py -k initial_benchmark_planner。
无新增设置。空前沿与已有前沿调用同一个模板 owner;无变化声明仍无需重写,CLI 预览保持只读。四组初始 benchmark planner 路径和 guided compact/detail 维持原 Goal 范围与读回。 当前公开步骤结构和原 refine 命令保留,模板字段随既有 JSON checkpoint 增加;原版本冲突和 replay 规则仍在原 writer。
对主干的风险 / Risks
若模板漏掉来源或把读旧版本当成可写依据,Agent 可能要手工猜格式或跨版本更新。新文档有真实输出成本,固定长度合成路径同工作负载从 39,882 到 40,589 紧凑字符,详情从 60,812 到 61,519,各增加 707。初版实际 pytest 输入为 42,291 / 63,823,超过 66% 上限 168 字符。保留该记录、双模板及原有重复计数,固定余量由共同新增内容推导。
File 与 SQLite 在真实 todo plan→refine→Todo add→inspect→refine 的回路中声明与关联,使用原始 operation id 重放并读回原 Goal/Agent 的要求。Guided 紧凑和详情输出保留相同有用合同。
写 Todo 后使用旧 provider_revision 关联,实际返回 goal_acceptance_provider_revision_mismatch。读取新版本后才能成功链接。测试还验证缺少独立检查与原 Goal 停等状态,及本批未调整的重复计数上限。
核心任务规划与 guided 测试 96 项通过,4 项 benchmark 初始规划通过。Ruff 通过。短路径同一合成输入的完整数据量如风险段所列,实际长路径 fixture 重跑通过。 标准预合并 6 项 direct、13 项 smoke 通过。
使用隔离 File/SQLite 及 source CLI。未运行付费模型,未测模型遵从、实际 prompt token 成本和 Windows 执行。历史远端红灯的原因另记,未声明为已通过或均属基线。
我的整体评价 / Verdict
评审版本 9538abb25d01b772f8d894c63ba1e1615a7f92b1。规划说明、命令生成和已存在的持久 Goal 验收回路已通过上述实际入口验证。原评审发现的条件均以修复前反例和当前结果对应核查。
检查了 guided 的 CLI JSON 与 Markdown 实际输出,以及任务规划调用方。此次模板属于既有规划检查点。 未运行真实模型或已安装 App。
English verdict: APPROVE. Head 9538abb. The reported findings are resolved and the changed behavior is covered by the stated checks.
Original findings verified resolved at 9538abb. Both templates and the version/replay clauses remain. The revised recipe adds 707 common characters in the fixed matched fixture. The 66% regression expression has a 240-character allowance for that common content, with the original duplicate-count ceilings. Guided and File/SQLite planning tests pass. Maintainer review: #8550 (review). Original discussion retained.
The planning checkpoint gives agents the scoped
goal-acceptance refinecommand but leaves them to discover the document it accepts. It now includes a source-grounded declaration template and a link-only template alongside that command. Both task planning and guided Goal start use the same recipe. The recipe explains when to read the current provider revision, and refine still validates the documents and owns retry handling.Validation