Skip to content

Show the bound Yardstick reversal in replan opening - #8622

Merged
huangruiteng merged 3 commits into
mainfrom
codex/replan-yardstick-opening-20261112
Nov 12, 2026
Merged

huangruiteng merged 3 commits into
mainfrom
codex/replan-yardstick-opening-20261112

Conversation

@huangruiteng

Copy link
Copy Markdown
Collaborator

Outcome

A model opening a complete replan Turn can see that a comparable Yardstick disagrees with the authoritative evaluation for its selected Todo. The opening includes the source finding and the authoritatively preferred candidate so the model can use that evidence before choosing its next action.

The complete opening and staged review share the captured Todo-scope check. The opening adds up to six scalar fields near the existing replan guidance. The stored decision, evaluator and scoring semantics are unchanged.

Verification

  • Exercised the CLI prepared-capture and Todo-selection path with both an initialized native lifecycle and a standalone caller. The first selected page exposed the captured cue with the same context and obligation, without extra spend.
  • Checked the TypeScript envelope and progressive readers (72 passed), including unbound, disabled, unavailable and mismatched evidence, and ran the TypeScript type check.
  • The broader focused Python run passed 82 tests with one intermittent pending-attachment recovery failure. Replaying the retained fixture produced the same typed basis-changed error on the unmodified main base and on this head.
  • This validates evidence delivery to the model-facing read surface. Model action and downstream outcome lift still need a comparable behavioral run.

Use one scoped cue for the complete first read and staged review. Expose the authoritative comparison candidate and source finding only for a Todo bound to that replan, without another read or a new decision.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · reasoning_effort=max

评审提交 9e23255,对照主干 538e43c。

[P2] 宽写入范围把反转提示挤出首读。 默认 12,000 B 分页下,100 条合法写入路径会让两种入口都到第 3 页才看到正式候选。File 和 SQLite 都复现。分段复盘立即读到同一提示,说明缺口在完整首读的排列顺序。把反转字段放到动作判定后、可变长度的 Goal 范围前,复用普通工作开头的顺序。 增加宽范围回归,断言原生和独立入口在第 1 页都能读到候选与来源,后续仍能读完完整范围。新字段的插入位置

动机 / Motivation

受影响的是已绑定 Todo 并进入完整重规划的模型。 当廉价标尺把较好的正式候选排到后面,旧入口需再打开同一捕获的 Explore 详情才能看到反转。 本提交将候选与来源放到完整首读和分段复盘。短写入范围下两条入口都直接给出提示。 本次验证覆盖证据到达和原回执。模型实际采纳、比较收益和总成本留待后续配对验证。

改动思路 / Approach

本 PR 只调整原捕获的反转提示交付。Explore、测量和结算仍由现有入口负责。 完整首读和分段复盘共用同一个判断,只有当前任务已绑定且原捕获中存在匹配的反转才显示。缺少证据、任务未绑定或配置关闭时,保留原导航。把反转字段放到动作判定后、可变长度的 Goal 范围前,复用普通工作开头的顺序。 普通工作已经在同一分页器中采用这套顺序,并有宽范围用例。已有普通工作回归

具体改动 / Changes

关键代码讲解

整个差异含两个生产文件、两个测试文件与一份协议说明,合计增加 193 行、删除 5 行。按主干 538e43c 中的已接受 RFC 判断。Target、Yardstick 和 Stride RFC

条目 本提交的结果
§5.7 短提示复用原证据。100 条范围时未满足首读可用。
C9 使用原复盘义务和捕获,分段 Explore 可回读。
C11 外任务、未绑定、待选择或不可用时均不投影当前反转。
C12 相同历史证据下关闭功能,两个入口均保留原行为。
C13 模型采纳与配对收益留待后续研究。

对主干的风险 / Risks

实际 CLI 比较了短范围、100 条范围和停用配置。主干的启用样本需读分段 Explore 才能取得原比较。候选的短范围在第 1 页显示,宽范围在第 3 页显示。两个宿主入口读到同一原摘要、任务与义务,保存的源字节保持一致,读取增加零张准入回执、零次扣额。主干和候选的停用组均不显示提示。

定向 Python 43 项和 TypeScript 72 项通过,主干对照 TypeScript 71 项通过。类型检查、diff 检查、RFC 成对检查及合入模拟通过。额外的真实入口见证复现了首读缺口。托管 CI 和真实模型采用未验证。

我的整体评价 / Verdict

请求修改。共享范围判断与分段证据交付已经可用。较大的写入范围仍挡住模型开头要用的反证,也增加了开头的翻页成本。请把已绑定的短提示放到动作判定旁,按默认页上限复跑宽范围,同时验证原捕获和后续必读字段。progressive_context.ts 改动的是模型读取的 CLI 字段,未涉及网页渲染。

English verdict: REQUEST_CHANGES. At the default page limit, a 100-entry write scope pushes the bound reversal to page three on both entrypoints. Put the scoped cue before variable-size Goal fields and verify the first page while preserving the original capture and subsequent reads.

include("autonomous_replan_obligation", "triggers", index, "kind"));
const reversal = scopedReplanYardstickReversal(context);
if (reversal) {
for (const field of reversal.fields) include(...reversal.path, field);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

默认 12,000 B 的开头读到 100 条写入范围时,两种入口都在第 3/4 页才显示候选,File 和 SQLite 一致。这里的字段排在整个 decisionFields 之后。请复用普通工作在动作判定后放置提示的顺序,并让宽范围回归断言首读有候选与来源,后续页仍能读到完整写入范围。

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · max

本次评审对应提交 9e232552459f154d2a7e01352a97e018da6173a3。

请求修改。 在真实 File 和 SQLite 复现了两项新增问题。已绑定 Todo 的反转被全局窗口漏掉,后续测量的反转引用了较早声明。 复盘呈现协议

动机 / Motivation

使用 LoopX 复盘搜索结果的 Agent 会遇到这个问题。代理标尺是便宜的筛选指标,正式评估按任务认可的结果指标比较候选。原首读只给导航。代理偏好的候选 B 若与正式评估偏好的 A 冲突,Agent 要主动展开 Explore 才能辨认。同一 SQLite 捕获中,正式评估 A=8、B=4,代理 A=12、B=15。首读和分段 review 均给出候选 A、反转标记及同一发现。已验证真实 CLI、原捕获和隔离 File/SQLite。模型是否实际采用提示、最终成果和完整成本仍待对照运行。托管 CI 依本轮配置未查询。下一次选择所依赖的证据应随原捕获交付,并能在同一快照内追溯。

改动思路 / Approach

共享一个作用域检查合理。选择有界证据及携带测量来源应在现有 Explore/Stride owner 完成。本次评审聚焦已有完整首读和分段 review 的证据交付。原测量、准入与结算继续由现有 owner 处理。 Yardstick owner 从同范围测量计算两个排序,Explore/Stride 将已选证据装入捕获。首读和分段复盘共享 scopedReplanYardstickReversal 检查原义务及 Todo,原 Explore 展开保留。 原比较 · 共享检查

具体改动 / Changes

关键代码讲解

  • scopedReplanYardstickReversal 与 initialContextReadGroups 按已绑定 Todo 选择原标量路径。来源先裁成全局三条,因此读者无法发现窗口外的匹配行。已有任务级 Explore 可以给出范围更精确的证据。 首读 · 生产卡片
  • projectReplanView 输出相同字段并保留原 read_action。比较点各有自己的 finding 和 evidence ref。目前摘要只保留 Yardstick 声明 ID。新增 CLI 用例把声明和测量合写,TS 用例将目标直接放在数组里。 分段复盘 · 来源 · 测试
  • scoped_reversal 与 measurement_provenance 两项规格仍有缺口。evidence_only 的原摘要、未绑定导航、写回条件及关闭时的对照通过。实际模型选择和完整成本仍待后续对照。 Yardstick/Stride RFC · 渐进披露

对主干的风险 / Risks

  • [P2] 全局裁剪前保留已绑定 Todo。 File 和 SQLite 各写入四个 Todo 的可比反转。前三个需要当前 Host 缺少的能力,第四个经实际选择命令获得 Todo 结算身份。任务级 Explore 能读到反转,但原捕获只含前三项,首读、分段 review 和原捕获的 Explore 均漏掉第四项。在现有 Explore/Stride owner 应用全局三条上限前,保留已绑定 Todo 的证据。保持同一捕获和原有有界导航。 作用域选择
  • [P2] 引用实际支持反转的测量。 File 和 SQLite 各先写入没有测量的 Yardstick 声明,再以独立 finding 写入四个测量点。两个读者都显示后一次测量算出的候选,却给出较早声明的 source_finding_id 作为文档所称的支持发现。保留声明 ID 的既有含义,复用 search_comparison 各点真实的 finding 或 evidence refs,或提供可在原捕获定位这些点的精确引用。 字段选择
  • PASS。同一 SQLite 捕获开启时,完整首读内容增 590 B,分段 review 增 230 B。其余选中行与阶段内容相同。关闭时两个读者的完整输出逐字一致。读回保留原摘要、回执、日志和 spend 次数,替换签名源被拒绝。标准 premerge、92 项 TS 测试和 typecheck 通过。当前 Python 75 通过、46 跳过。
  • FAIL。上述两个负例在 File 与 SQLite 均复现。UNVERIFIED。主干整批的既有 pending-attachment 用例失败一次,隔离重跑两版各通过一次,间歇原因未确认。托管 CI 依本轮配置未查询。
  • 同头已有修改请求记录宽写入范围下的首读分页问题。 现有评审

语义与 CI 对齐

复用现有 Yardstick、复盘及结算词汇,差异检查及全树词汇 smoke 通过。补充四 Todo 和后写测量回归,复跑 tests/control_plane/test_work_yardstick_cli.py 与 test_replan_staged_read.py,并对照未绑定、关闭和原摘要恢复。 协议

我的整体评价 / Verdict

这项只读改动可独立交付。重审以同源任务覆盖和测量来源为验收,并保留主干与当前头的匹配对照。本次评审覆盖现有宿主与 CLI 行为。下一步的实际模型选择、最终成果和完整成本尚未运行对照。

English verdict: REQUEST_CHANGES. 9e23255 omits a bound reversal outside the global three-row window and cites an earlier declaration for later measurements. Both reproduced on File and SQLite.

|| typeof agent !== "string" || identity.agent_id !== agent
|| !Array.isArray(explore.work_yardsticks)) return undefined;

const index = explore.work_yardsticks.findIndex(value => {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] 全局裁剪前保留已绑定 Todo。

File 和 SQLite 各写入四个 Todo 的可比反转。前三个需要当前 Host 缺少的能力,第四个经实际选择命令获得 Todo 结算身份。任务级 Explore 能读到反转,但原捕获只含前三项,首读、分段 review 和原捕获的 Explore 均漏掉第四项。在现有 Explore/Stride owner 应用全局三条上限前,保留已绑定 Todo 的证据。保持同一捕获和原有有界导航。

});
if (index < 0) return undefined;
const cue = explore.work_yardsticks[index] as JsonObject;
const fields = ["todo_id", "source_finding_id", "comparison_candidate_ref", "proxy_order_reversed",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] 引用实际支持反转的测量。

File 和 SQLite 各先写入没有测量的 Yardstick 声明,再以独立 finding 写入四个测量点。两个读者都显示后一次测量算出的候选,却给出较早声明的 source_finding_id 作为文档所称的支持发现。保留声明 ID 的既有含义,复用 search_comparison 各点真实的 finding 或 evidence refs,或提供可在原捕获定位这些点的精确引用。

…rdstick-opening-review-repair-20261112

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer: model_agent · gpt-6.1-sol · OpenAI · runtime_reported · max

本次评审对应提交 e3a82fba290e3adb69778f875559f04265e15850。

上轮三个阻塞均已复验。100 条路径下提示在默认第一页,第四个 Todo 仍可取得其反转,实际测量有独立引用。

动机 / Motivation

需要复盘候选的 Agent。Yardstick 是廉价的筛选指标,正式测量用来比较最终候选。主干需展开 Explore 查看代理指标与正式测量相反的排序。File 和 SQLite 的四任务样本都在绑定第四项后显示其反转。100 条写入范围下,原生和独立入口的默认第一页均读到候选、比较范围和测量发现。本轮验证了实际 CLI 的证据交付。模型是否采用提示、独立成果和完整成本仍待配对研究。

改动思路 / Approach

先在原 Explore 选择当前 Todo,首读和分段共用一个校验。保留原测量和准入 owner,复用当前类型。 候选的比较由原 Yardstick owner 计算,Explore 把当前绑定项提到三条窗口的前方。首读和分段 review 共用绑定检查。 任务排序 原捕获提示

具体改动 / Changes

关键代码讲解

关键代码

  • workYardstickTodos 保留可用资格,再把当前已绑定 Todo 放到裁剪之前。projectExploreTurnContext 从实际 goal/proxy 比较点收集测量 finding。 来源投影
  • scopedReplanYardstickReversal 核同一义务、结算身份和当前 Todo。首读在可变长度 Goal 范围前交付提示。projectReplanView 使用同一判断,沿原命令读完整证据。 首读 分段

规格为 base 9ce3a46 的 docs/architecture/rfcs/target-yardstick-stride-decisions-v0.md。scoped_reversal 通过宽范围和四任务对照。measurement_provenance 通过独立声明及后写测量。evidence_only 通过关闭、未绑定和原摘要回读。C13 的模型行为及完整成本留待匹配运行。 Yardstick RFC

对主干的风险 / Risks

PASS。File/SQLite 各重做四任务、后写测量和关闭用例。100 条写入范围走原生及独立 CLI,第一页带完整提示,后续仍读回 100 条。替换后的候选与原摘要不匹配,两个 reader 均拒绝。禁用组原首读及 review 输出逐字相同。77 项 Python、89 项 TS、类型检查和标准 premerge 通过。 真实入口回归

语义与 CI 对齐

复用原绑定、原反转和已有类型。读取不触发新的 guard 或花费。托管 CI 和 C13 的实际模型采用未验证。

我的整体评价 / Verdict

评审通过。原上限、实际任务选择和测量来源已在两个真实存储核实。现有来源排序、比较和读回各有明确 owner,本轮无需再抽取。本次评审覆盖现有宿主与 CLI 行为。本轮验证了实际 CLI 的证据交付。模型是否采用提示、独立成果和完整成本仍待配对研究。

English verdict: APPROVE. At e3a82fb, both readers surface the bound fourth Todo and measured evidence on the first page, preserve disabled output, and reject altered source content.

@huangruiteng
huangruiteng merged commit 8bed1e5 into main Nov 12, 2026
33 of 46 checks passed
@huangruiteng
huangruiteng deleted the codex/replan-yardstick-opening-20261112 branch November 12, 2026 08:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants