Repository navigation
fix(context): provide a focused first read for native packets - #7800
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.
Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max.
Request changes conclusion (author-owned PR; GitHub blocks formal self-review)
[P2] 首读命令也必须在声明的输出预算下可读:quota_capture.py L285–287 只检查了引用 JSON 的大小。独立真实 CLI 对照发现:3000/3500字节预算下,2992字节引用会推荐 first_read_command,但该命令无法装下 selection/continuation 元数据,退出1且不产生 next_offset。相同 base 的通用读、相同 head 的 recovery 读都能前进。下面给出范围、证据和最小修复。
动机
读取原生决策 packet 的 Agent,需要先拿到当前任务、完整 Goal/Todo 正文与停止条件,再决定并执行下一步。
原来完整引用给出通用索引和恢复入口;本次增加聚焦首读,意图减少起始发现步骤。但在3000或3500字节输出预算下,新引用会推荐一个无法输出首个字符的首读命令,而原恢复命令仍能前进。
普通预算下,独立验证确认完整任务、来源状态及原 SHA 保留、详情可补读;较小预算下,首读元数据超过预算的回退缺口已由同一 base/head 调用复现。
本次不验证真实模型采纳、同信息全量消费或长程净收益,也不更改准入、结算、额度、权限及实际宿主安装。
改动思路
首读字段选择放在现有 TurnEnvelope 决策 owner,generic selector 只处理精确地址,Python 保留原值与字节分页,分工合理;问题在展示层仅验证了短引用大小,没有验证生成读命令的可读性。
当前 PR 的合理边界是已启用原生完整 packet 的起始导航和同 capture 恢复,不包括新的权限、状态 owner、独立界面或效果声明;小预算下的可用回退仍须在本 PR 修复。
首读是已识别的完整原生 capture 的导航,不是全部工作输入。来源失败、原始正文和停止条件必须保持可见;具体验收、证据和操作/结算契约仍应在依赖前展开。代码没有把“已给出首读”变成授权或已消费证明,这一方向是正确的。现有机器设置和 Host 入口继续拥有激活,不需要新界面、服务或状态库。
具体改动
关键代码讲解
initialReadPointersL1409 从原 capture 选择当前控制字段、完整 Goal/Todo 正文、来源状态/版本和读入口。它留在 TurnEnvelope owner;未把 Goal 规则塞进 generic selector。未知 schema 继续通用发现,历史和验收详情仍在原 capture。capturedContextSelectionL6 校验精确地址和参数互斥,只返回地址;Python 从原 JSON 取值,避免大整数经 JS value round-trip 失真。read_context_captureL116 验证原 SHA、UTF-8 cursor,并把首读续页改成固定 pointers/selection digest,因此后页不重新计算选择。_native_context_referenceL243 在完整原生引用中优先生成首读命令,并移除 overview/root index。这里的fits()只测引用本身;真正选读页面还要携带全部selected_pointers和带全部 selectors 的next_command。两者预算不同,不能用前者证明后者可读。
接受依据为 docs/reference/required-work-context.md,固定修订 d41e71b0bee225b9cd69c48fae56e5fd23fa45b8。Required work context 的完整任务/停止条件与原 Turn 身份在普通路径实现;Selected capture details 的原 SHA、selection digest、连续分页与按需补读实现;Machine default 的受限输出和可用恢复路线在新首读偏好上尚未满足。新增文档说明不是独立验收 oracle。
对主干的风险
独立同一 fixture/harness 在真实 Python CLI → TypeScript selector → 私有物理 capture 上比较:普通路径13组完整观测在 base/head 相同,覆盖完整正文末尾条件、source unavailable 状态/恢复、精确大整数、原 SHA、遗漏 pointer 的整批拒绝、补读历史/criteria、分页、default-off,以及 unsafe integer 的 full fallback 和正常 warm delta。观测摘要 04011c8ff5258f44e68ac63f5e7a809fa1ebb13d35b9c80e866d4a73c1de92fd;首读新增导航字段作为有意差异单列,没有用不同信息量推算费用。再故意从 selector plan 删除 /goal_boundary,同一公开 CLI 的完整条件 oracle 失败,正常 head 通过。
另一个相同预算反例直接执行生成命令:
| 输出 ceiling | base 优先路线 | 当前 head 优先路线 | 当前 head recovery |
|---|---|---|---|
| 3000 | PASS,前进1434 bytes | FAIL,引用2992 bytes,但 reader 无进展 | PASS,前进1434 bytes |
| 3500 | PASS,前进1934 bytes | FAIL,同一错误 | PASS,前进1934 bytes |
| 4000 | PASS | PASS | PASS |
| 64000 | PASS | PASS | PASS |
失败完整诊断为 max-page-output-bytes cannot fit page metadata and one UTF-8 character; increase the limit for this same capture。这不是 CI 未知,也不是原 capture 丢失。现有 small-budget 测试只检查引用/文件存在,较长 pytest 路径还可能令 shortcut 先被省略,无法覆盖“短引用已装下、实际 selected reader 装不下”的分支。在优先发布首读命令前验证选读页面及 continuation 元数据能在相同预算下实际前进;不能时恢复既有通用索引/恢复路线。保持调用者预算、原 SHA 和 Turn 身份。 增加执行真实生成命令的回归,覆盖短临时路径及3000/3500预算,不要提高预算或仅测 JSON 大小。
本地 owning Python 526 passed、53 skipped;TypeScript 87 passed,control-plane typecheck、Ruff、diff 与 semantic advisory 通过。53个条件用例不计入实际宿主/模型采用证据。标准 premerge 的6 direct及19 selected检查没有 blocking command failure,保留1项维护性 advisory;整体首次因旧 scope receipt 失效而未通过,当前独立质量记录 cqr_d08f407344c6770c2470 则因上述真实缺陷明确为 fail。作者历史 no-git catalog 失败仍保留,不推断原因已修复;本次隔离 base/head 同一命令和标准运行均通过该 smoke。
语义与 CI 对齐
现有 vocabulary、机器激活与 authority owner 均复用,新增 boolean 只表达只读导航意图。原 SHA、Turn、停止与依赖读取义务没有因短视图而取消;但合法小预算下推荐了不可读的第一步,违反当前可用恢复的调用约束。未查询、轮询或等待 CI;本次 REQUEST_CHANGES 的依据是独立复现的本地 caller regression。
我的整体评价
REQUEST_CHANGES,限 7f99ac9dea10a423857e6c3a84845b1be17d6f9e。架构范围与问题相称,普通路径和 default-off/warm 行为有实证;仍需先补齐首读预算与 fallback 的一致性。长程续行与使用路径在该反例下退化,不能用大量通过测试覆盖掉这个失败。修复后重跑相同 base/head预算反例、首读/恢复 suites 和 exact-scope质量记录,再按新 head 重审即可;不要求额外模型调用或冻结实验。
已检查既有差分上下文设置的激活契约和原生 CLI/Host 入口;本次没有渲染页面改动,visual_review 不适用。
实际模型自然采用、总成本及真实宿主收益未验证;没有页面布局变化。这个源码导航切片也不能证明父级长程收益。GitHub 同作者限制下通过 COMMENTED 记录此结论,不执行合并或撤回他人 review。
English verdict: REQUEST_CHANGES — the preferred initial read can be unreadable under its own legal output budget at 7f99ac9dea10a423857e6c3a84845b1be17d6f9e.
| overview = result.pop("overview") | ||
| instruction = result["instruction"] | ||
| result["instruction"] = "Start with first_read_command for current facts and source navigation. " + instruction | ||
| result["first_read_command"] = context_capture_read_command(current_path, current["sha256"], |
There was a problem hiding this comment.
[P2] 在优先发布首读前校验实际选读页可前进。这里的 fits() 只测引用 JSON;选读页面还携带全部 selected_pointers 和固定 selectors 的 next_command。用短私有 capture 路径与普通 recognized decision,3000/3500-byte ceiling 下引用为2992bytes,仍会推荐 first_read_command,但真实 quota context-read 退出1:max-page-output-bytes cannot fit page metadata and one UTF-8 character;没有 next_offset。相同 base 的通用读和当前 head 的 recovery 读在相同预算下都成功。请在选读页/continuation 不能满足预算时整体省略 shortcut 并保留既有通用发现/恢复;增加执行真实生成命令的短路径、小预算回归,不能只测引用大小或提高 ceiling。
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
left a comment
There was a problem hiding this comment.
Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max.
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机
读取原生决策 packet 的 Agent,需要找到当前任务、完整原始条件、具体验收入口和结算义务,再继续已授权工作。
原来完整引用优先给通用目录,需要进一步寻找相关字段;本次提供聚焦首读,同时保留同一 capture 的完整恢复。旧 head 在3000/3500字节预算下会推荐无法前进的读命令,当前头用较短的双摘要续页和整体回退修复了这个反例。
独立真实 CLI 验证了完整任务与停止条件、当前结算及未知控制字段、按地址补读验收和附件、错误拒绝与非零 offset 续页;相同 base/head 的13组既有完整观测一致,原小预算反例已通过。
本次只资格化源码中的导航与恢复切片,不证明自然模型已采纳、计费或墙钟节省、长程净收益、安装升级、冻结实验结果或合并权限。
改动思路
字段选择继续由既有 TypeScript TurnEnvelope 决策 owner 负责,generic selector 只返回精确地址,Python 保留原 JSON 值与文件分页;短命令复用 selection digest,没有增加状态、服务或第二个权限 owner。
当前 PR 的边界是已启用原生完整引用的起始导航、同 capture 义务恢复和旧预算缺陷修复;模型自然采用与完整成本仍需实际工作证据,本次不把它们作为已交付收益。
首读是一个起点,不是全部必要上下文。当前 Goal/Todo 原文、来源不可用状态和结算约束保持原值;具体验收、历史证据和可选附件仍可从同一原捕获读取,依赖前必须读完整材料。只对明确 required=false 附件延后已知 recipe 字段;未知计划、step 字段及附件控制保留。原 SHA、Turn 和 once-only settlement 没有因短视图而获得新权限或被替换。
具体改动
关键代码讲解
initialReadPointersL1409 在原决策 owner 选择当前控制、完整来源正文、settlement 与既有 outcome 地址。未知 plan 全文保留;附件仅延后已知可选说明/模板。未知字段不会因“可选附件”而被整体隐藏。capturedContextSelectionL6 只校验 RFC 6901 地址与互斥选项,返回路径。Python 再从原 JSON 取值,精确大整数不会因 JS round-trip 丢失;旧 select/list 路线保留。read_context_captureL124 先验证源 SHA,再构建并校验 selection digest。首读页省去重复 pointer vector,续页使用短 initial-read 选项固定原选择;profile 变化会拒绝混读,显式 select 的原 wire 不变。_native_context_referenceL250 优先提供完整可用的首读命令;预算紧、schema 未知或 warm delta 保留原路线。完整 recovery 始终可达,选读 EOF 不能成为完整输入保留证明。
接受依据是 docs/reference/required-work-context.md,固定修订 d41e71b0bee225b9cd69c48fae56e5fd23fa45b8:Required work context 的完整原条件与来源义务由真实 CLI 逐值验证;Selected capture details 的原值、双摘要、连续字节页与非完整输入边界通过;Machine default 的原关闭态、warm 与合法小预算恢复路线通过。新增文档是行为说明,没有拿它覆盖改动前的验收 oracle。
对主干的风险
同一独立合成 fixture/harness 在实际 Python CLI → TypeScript selector → 物理 immutable capture 上比较。13组原有完整观测相同,摘要 04011c8ff5258f44e68ac63f5e7a809fa1ebb13d35b9c80e866d4a73c1de92fd:完整原文末尾 stop、source unavailable/recovery、精确大整数、原 SHA、缺失 pointer 整批拒绝、具体验收/历史补读、连续分页、default-off,以及正常 warm delta 与 unsafe-integer full fallback。没有把错误细节或权限差异归一化掉。
原 P2 预算反例使用相同生成命令重跑:
| stdout ceiling | 当前优先路线 | 结果 |
|---|---|---|
| 3000 bytes | 通用 recovery | PASS,前进1434 bytes |
| 3500 bytes | 新首读/短续页 | PASS,前进2424 bytes |
| 4000 bytes | 新首读/短续页 | PASS,前进2924 bytes |
| 64000 bytes | 新首读 | PASS,完整选读 |
另一个真实 CLI oracle 验证全部当前 plan/step/必需附件及未知控制;完整可选 recipe 和当前 outcome 沿地址恢复。对同一新增未知附件 gate,实际中间头405失败、当前32f通过。非零页之间故意改变 profile,得到 digest changed 且没有混合 content;再故意移除原 goal_boundary,同一当前条件 oracle 失败,正常 head 通过。选读页始终被既有 range parser 拒绝为 full-retention receipt。
当前 head 的 owning Python 530 passed、53 skipped,TypeScript 87 passed,control-plane typecheck、Ruff、compile、diff、semantic advisory/完整 semantic smoke 与公开边界扫描通过。53项为未配置显式 native checkpoint binary 的条件用例,不计为实际模型或安装采用。当前质量记录 cqr_ce2a4b27102ff2e02c9a 已验证;standard premerge 6 direct + 19 selected,0 blocking failure/hold,保留1项既有 Host maintainability advisory。
作者此前 no-git catalog 的本地失败继续保留为历史事实,本次不把当前通过解释为该历史运行已修复;本次独立 standard 在本次隔离环境通过,同样没有移入 #7804 的修补。未知 CI 未被查询、轮询或等待,也未被当作缺失必需覆盖。当前旧 P2 的具体条件已经用同一预算和真实命令重验,而非用一个新的绿色计数替代。
语义与 CI 对齐
复用已有 interaction、settlement、page/selection vocabulary;新增 boolean 是本地只读意图,已知可选 recipe 字段过滤是保守 projection,未知控制原样保留。首读建议与必要来源义务分别写清;关闭态和 warm 分支有真实对照。没有新增 Goal、lease、额度或权限 owner,也没有扩大为自动执行或全量保留协议。
我的整体评价
APPROVE,限 32f3be460e2e5fd73bb4f1759a93a90ed33718cb。完整8文件范围已重审,原预算缺口和最后的未知附件控制反例均有独立证据。原 source/recovery 语义、错误与后续续读保持可用;这完成的是源码导航切片,不是模型自然采纳或长程效率验收。继续保留作者自用的局限:一次自然路径与同捕获合法路线 inspection 不能混成受控模型收益。
已检查既有 Differential context 机器设置、Codex 激活/readback 以及原生 CLI/Host 消费链;本次不改变任何渲染页面,visual_review 不适用。
自然模型采纳、计费、墙钟与长程净收益未验证;未执行安装升级,现有页面不受本次 diff 影响。
本结论通过同作者 COMMENTED fallback 记录;历史讨论保留,GitHub raw reviewDecision、merge readiness 与当前合并/dismiss 权限仍分别判断,本次不合并或撤回其他 review。
English verdict: APPROVE — current obligations and usable digest-pinned recovery are preserved at 32f3be460e2e5fd73bb4f1759a93a90ed33718cb; natural model/cost benefit remains unqualified.
原生完整 packet 只给通用索引时,Agent 要逐层找当前任务、结算义务和验收材料。新增
first_read_command/ 只读context-read --initial-read,用既有 TurnEnvelope owner 与 exact-address selector 提供当前控制、完整 Goal/Todo 正文、来源状态、当前结算义务和已有 outcome 材料地址;必要详情仍从同一个 SHA-bound capture 读取。实际自用后修订了初版:
required=false附件的 guidance/templates 按需展开,其身份、入口和未知控制字段保留,使用前必须读完整原附件;未知 plan 版本保持全文。id/supporting_material_pointer直接可见,避免为找当前要求扫完整验收集合。--select的输出和续页保持原行为。初读仍不能成为 full-input retention receipt。自用第一段真实工作中,初版实际发生 5 次 context-read、1 次 index、113,288 bytes 工具可见输出。其中包含作者一次过宽的验收选读及 Host 截断,已精确读取当前 outcome 恢复;这些开销不能全归因 producer,也未证明自然使用已提效。
随后对同一个 236,543-byte 真实 capture核对修订后的必需读路径:首读 46,422 bytes,沿已给出的当前 outcome 地址读取 3,121 bytes,共 2 次、49,543 bytes。首读比初版 32,087 bytes 更大,因为带齐实际结算义务;指标关注完成当前判断所需的总路线。此为同捕获的合法路线验证,不是第二轮自然模型运行、理论上最短旧路线或计费/墙钟/长期收益证明。完整原 capture 与必要原文均保留。
验证:
40514a1d5为 direct 6/6、19 项执行,仍有 1 blocking failure / 1 inherited advisory;最后收紧还补了 15 项首读测试、TS53、typecheck/Ruff,当前32f3be460quick 直接6项、选择4项通过(1 inherited advisory)。quick 不代替该 standard 失败或 merge readiness。唯一 blocking failure 为catalog-run-e2e-smoke.py的 no-git fixture 缺 maintainability 脚本,base/head 同一断言均 returncode=2、skip=0;已有host_process_transport.run_host_processmaintainability advisory 保留。未把失败改记通过或放宽预算。入口仍为现有 native
should-run/context-project与context-read,复用原 activation、权限和 once-only settlement,不新增独立 capability/界面。自用只在作者 checkout 的 CLI 上进行;没有升级冻结实验、全局安装或授予 merge 权。与 #7793 的 claim 指引为独立互补提案。当前 head:
32f3be460e2e5fd73bb4f1759a93a90ed33718cb;base:d41e71b0bee225b9cd69c48fae56e5fd23fa45b8。历史7f99ac9de验证不移作新头审查。