Repository navigation
Conversation
Recover the previously uploaded context-scope implementation as a real commit. Preserve original captures and current control obligations while presenting required outcomes through the existing native context delivery path. This candidate still requires current-main integration and real-path validation. No model-token savings or completed benchmark qualification are claimed. Assisted-by: OpenAI GPT-6 Astra Pro Signed-off-by: song <liusongstep@gmail.com>
|
This pull request has merge conflicts with Choose the remote for the base repository, not an out-of-date fork. git fetch upstream
git rebase upstream/main
# Resolve each conflict, git add the resolved files, then git rebase --continue.
git push --force-with-lease origin HEADFor a same-repository clone whose Keep the DCO |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
目标与当前状态
本 PR 面向 LoopX 控制上下文开销,补上一段 C2「当前工作必读范围 → 实际交付 → 同次快照详情与恢复」 的实现:复用现有
context-delivery on,完整交付当前 Agent 和关联工作的 outcome 要求;对声明关系范围之外的其他 Agent 的 outcome,保留当前索引和原始内容的精确引用,避免每次都默认展开全部正文。本 PR 已转为普通 PR,供正式审阅;不代表已满足合并条件。 当前主干整合、真实原生输入路径和完整测试仍需完成。此次状态及说明更新未修改代码,也没有启动付费模型压测;不宣称实际 token、账单或任务分数已经改善。
c80b15fe86e711257ef4fb0de99795a886e57030843be494266774b63b3de61d0adf5dd7f4f877a2,目标分支:main0cfbf11dcea4ba7bc8fb13f06f1c915b63ce8fad;当时目标比实现基线多 16 个提交。这是历史发布信息,不作为当前主干整合已完成的证明。为什么需要这样调整
1. 差分解决「不要重复发送」,但不自动解决「第一次需要读多少」
只对完整大包做 full/delta,仍可能在冷启动、压缩后恢复或基线失效时重新展开全部累计 outcome。当前只推进局部工作时,其他 Agent 的大量要求正文、来源说明和历史评审也会进入输入。
本次要减少的是这类默认展开,而不是缩短原始要求或让模型少看必要证据。目标是把 当前必须完整读取的材料 与 保留索引、依赖前再精确读取的材料 分开;是否降低完整请求成本,仍需把补读、历史回放、恢复和往返一起验证。
2. 不能只在 renderer 中裁剪 JSON
如果输出已经省略部分正文,但原交互指令仍要求完整读取所有 outcome,模型会补读整包,甚至增加工具和模型往返。反过来,仅删除必读指令,也可能遗漏共享要求、跨任务依赖或反面证据。
因此读取范围由现有验收语义 owner 产生,交互指令、实际投影、详情读取与恢复共同消费同一份来源。Python 只传递参数和处理文件/分页,不建立第二套范围判断或准入规则。
3. 「属于其他 Agent」不等于「与当前任务无关」
实现使用规范工作快照和已有结构化关系,保留当前 Agent 的全部 outcomes,并沿选中工作的关系扩展必读集合;共享验收绑定、请求/证据引用以及失败或过期观察都会扩大范围。工作未绑定、关系无法解析、来源版本不一致或范围不可用时,回退完整交付。
这里没有按标题、关键词或自然语言相似度猜测相关性。声明关系的闭包仍不等于对任意自然语言要求的独立性证明,这也是需要重点审阅和进一步验证的限制。
4. 按需读取必须保留原始来源,不能用「再跑一次 guard」代替恢复
重新执行 guard 可能得到不同的工作、权限、来源版本或结算身份,不能拿来补齐旧决策的遗漏内容。此实现先保留完整原始 capture,再保存独立的
required-context.json;详情绑定原始文件与 SHA-256,差分基线和恢复则绑定实际交付的那份上下文。未交付的可选正文不能被当作模型已经读过。单个 outcome/index 的分页也不能建立完整上下文的连续性基线。为防止同一原始文件在 reader 升级后产生不同分页布局,派生读取额外绑定
selection_sha256。修改前后与实际路径
quota context-read --outcome-ref从同一次原始 capture 返回索引或完整 outcomeoff与显式--turn-envelope不采用新的范围裁剪;不新增模型会话当前目标、全局约束、权限、停止条件、未完成必读和原 Turn 结算身份不能因范围优化而被省略。全局重规划、未知字段、未知指引、不完整来源或失效范围保持完整来源。优化/发布失败采用原有完整内容回退;这不是新的执行授权或验收判定。
各文件为什么需要修改
范围产生与调用链:让决定来自已有语义 owner
loopx/cli_commands/quota.pyloopx/control_plane/quota/live_decision.pyloopx/control_plane/work_items/context_readback.pyloopx/control_plane/goals/acceptance.pyloopx/control_plane/goals/acceptance_authority.tsloopx/control_plane/goals/outcome_requirements.tsoutcomeContextReadPlan,从规范工作快照、owner、工作关系和共享证据计算保守集合;信息不足扩大为全量,不按正文猜测。投影与交互指令:减少正文,但不丢失义务
loopx/control_plane/quota/outcome_context.tsloopx/control_plane/work_items/outcome_read_guidance.tsloopx/control_plane/work_items/interaction_contract.tsloopx/control_plane/quota/turn_envelope.tsloopx/control_plane/quota/context_delivery.ts传输与恢复:读取同一份内容,而不是重新做决定
loopx/cli_commands/quota_registration.py--outcome-ref扩展到context-read,增加派生分页摘要参数;索引和详情使用同一公开 reader。loopx/cli_commands/quota_capture.pyselection_sha256,保留 UTF-8 分页和原始来源恢复;拒绝混用不同派生布局的游标。完整交付直接复用已有 recovery 文件,避免写出没有消费者的重复 wire。loopx/control_plane/turn_driver/decision_capture.pyloopx/control_plane/turn_driver/codex_context.py测试与说明:明确要验证什么,而不是把测试文件存在当成通过
tests/control_plane_ts/outcome_context_scope.test.tstests/control_plane/test_outcome_context_transport.pytests/control_plane/test_outcome_scope_cli.pydocs/reference/scoped-outcome-context.md与现有 PR 和设计的关系
本次从 #7430 的 outcome-context 方向提取有限的、面向现有 native quota 的实现,不复制整个 C1 完整契约切换,也不引入 controller/executor 双会话。后续仍需要对齐 #7430 与主干的 owner、调用方和格式变化,避免两套实现长期并存。
#7543 修的是 Harbor 用量统计的未知值/零值混淆;本 PR 修改的是模型可见上下文的交付路径,两者目的不同。包体缩小与少一次本地解析都不能直接证明模型 token 或费用下降。
**当前限制:同一个 Agent 名下的全部 outcomes 仍完整保留。**本次主要尝试减少其他 Agent 的非关联正文,不能声称已经解决全部单 Agent 长任务开销,也没有完成 C2 的全部入口迁移。
验证事实、待完成项与合并条件
已核实代码提交、分支和 PR 的远端读回。**尚未对恢复后的当前提交重新完成本地测试、原生宿主测试和完整仓库检查;此前无法核实的通过数量不作为本 PR 的验证证据。**此次仅更新 PR 状态和说明,不改变这一事实。CI 结果以当前 head 的 Checks 为准,本说明不宣称全部通过。
合并前仍需:
main,处理与 WIP: converge governed work inputs and packaged heartbeat consumers #7430 及其他已采用实现的重叠,验证默认关闭路径及已有 reader 的兼容性。聚焦 Python 检查入口:
uv run --extra test python -m pytest \ tests/control_plane/test_outcome_context_transport.py \ tests/control_plane/test_outcome_scope_cli.pyTypeScript 使用仓库的规范测试/类型检查命令,覆盖
tests/control_plane_ts/outcome_context_scope.test.ts与相邻 context delivery suites。上述是待执行入口,不是本次已执行结果。启用、回退与公开边界
沿用现有差分上下文开关及配套 native hooks;保存偏好不等于宿主已加载、信任或实际使用它。新运行可显式选择
--context-delivery off保持普通完整交付,不改变活跃或冻结实验的配置。回退或降级 reader 前,保留原始 capture、required-context 和未结算回执;先恢复/完成原工作,不能用新的 guard 替换旧快照。无新增 UI,复用已有 opt-in 入口;已安装宿主的实际采用仍待验证。
提交不以私有日志、原始 trace、凭据或隐藏评测数据作为公开 fixture;现有新增 fixture 为合成数据。没有修改评分、评测机会、预算、执行权限或 active/frozen trial,没有合并、安装、发布或启动付费推理。
作者声明:在贡献者指导下由 OpenAI GPT-6 Astra Pro 辅助实现,提交保留 DCO sign-off 与 assistance attribution。