Repository navigation
fix(context): activate native checkpoint capture before deferred presentation - #7590
Conversation
…sentation 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)
动机 / Motivation
启用 native context delivery、由 checkpoint Host 预先捕获本轮决策的工作进程。
旧预检先按关闭差分的方式捕获,再让模型开启呈现;未标记 Goal 的完整正文因此没有进入原捕获,模型还要额外读取原文件。新路径在预检时捕获全文,把呈现留到原生生命周期 hook 运行之后,并沿同一次准入继续。
File、SQLite 的普通工作捕获现在包含完整原文与末尾停止条件;预检不读取或修改 native journal,原 Turn 回执保持一致,关闭态与未绑定 replan 的原始读取义务保留。 不改变评分、预算、业务准入或结算权限,不构成正式安装、付费模型或研究收益验收。
真实工作中的持续采用、模型 token/延迟及完整成果收益仍归现有 C2 与 checkpoint 验收;本次只资格化源码、隔离 wheel CLI 和静态响应的真实 Host 边界。
改动思路 / Approach
完整来源必须在原 guard 作决定时捕获,稍后重新呈现旧捕获无法补回当时没收集的正文;但 Host 预检又不能替模型提前消费 native 连续性。这里复用原 quota/work-context 收集完整来源,只把呈现推迟。捕获完整性由现有 work-context owner 决定,呈现时机由调用方明确声明;不复制 quota、连续性或权限策略。
只修复原生 checkpoint 的捕获/呈现顺序,不交付新的 scheduler、权限 owner 或通用检索框架。新增 hidden flag 是一次调用的明确意图,没有持久化第二份状态。直接提前调用 native projector 或继续只在 context-project 开启差分,都无法同时满足完整来源和生命周期顺序。既有 recovery-RFC 建议仅用来检查真实读取、恢复与结果边界,没有充当额外执行权限。
具体改动 / Changes
关键代码讲解
capture_before_replan由既有 worker execute 路径调用。只有显式 native on 且配置 context directory 时,原 guard argv 才增加 on/defer;原 Goal、Agent、Turn、capture root 及一次调用保持。模型仍收到同一保存视图的 context-project/read 指令。_emit_quota_result仍先保存完整决定,再做普通 CLI 投影。defer 只跳过两条呈现分支,因此不读取/修改会话 journal,也不跳过来源收集、原回执或决策。普通无 defer 调用继续原流程。prepare_quota_capture在 guard 前校验 native JSON should-run、有效目的地及禁止 socket 组合。CLI 原有自动私有 capture root 仍有效;不能把“argv 没写目的地”误当“没有目的地”。非 JSON 的原有更早错误优先级也保持。注册文件只加入隐藏布尔参数;测试与双语指南覆盖这些边界。
规范基准是修改前的 https://github.com/loopx-project/loopx/blob/b6db7f7c415b356ac94ebfc643977d381a314eb9/docs/reference/required-work-context.md,完整修订 b6db7f7。未编号条款的审阅标签:native-goal-source → 准入时捕获完整原文;original-capture-recovery → 沿同一次决定呈现/恢复且不重新准入;off-preservation → 关闭态和未绑定 replan 的原始读取保持。三项由真实 CLI、磁盘 source/view 与原回执比对落实。
对主干的风险 / Risks
PASS:独立 File/SQLite 八种组合。相同 probe 在 base 有两项明确失败:ordinary + native on 缺失 Goal 正文;head 八项通过,包含中文末尾停止条件、完整 revision、原回执相同及预检不触碰 malformed journal。另五项实际 CLI 检查验证四种非法组合和合法自动 root。隔离 wheel 与源树 1,759 个 Python/TS 成员逐字相符;source runner + wheel CLI 的 13 项检查通过,不冒称 benchmark runner 本身在 wheel 中。
PASS:受影响模块 105 项;native 连续性 60 项。原先未配置 Host 时的 13 个 skip 已另用真实 Codex Host、本地静态响应及隔离 home 对照:base/head 各 12 项通过,joint evaluator 一项仍因缺固定 sforge.harness.checkpoint 来源而跳过。没有付费模型、实际科研任务或正式安装采用。初始 wheel 因旧生成前端被拒绝,重建未改源码的前端后成功;私有 probe 的 import/空 sources/自动 root 假设修正均保留,没有修改产品或放宽限制。
标准 premerge 的 6 项直接检查通过,选中检查 18/19;唯一 FAIL 是原有 quota_should_run/multi_agent/json:base/head 都是 25,836 > 25,500 chars,同一完整错误身份和细节。额外 96 项配对观察全部无差异,且该关闭态夹具不走新增 checkpoint/defer 路径。它是独立归因的 pre-existing failure,仍保留为合并门;没有调大预算。Ruff 与 public-boundary 检查通过,benchmark-sensitive manual hold 保留。CI 未查询。
语义与 CI 对齐
复用既有 typed native/source/recovery 语义;新值仅是本地调用布尔意图,没有共享 vocabulary、Goal 状态或新权限 owner。错误是机器校验,全文读取是消费者义务,两者均不认证理解或保留。关闭态的原指令、原始 Task/Turn、调度和结算读回不变;真实/隔离消费者检查支持这个边界。
我的整体评价 / Verdict
APPROVE,绑定 23e4f3a。这是 justified_increment:实际 preflight 与保存视图已经打通,完整 C2、自然工作采用和成本收益保持开放。架构理由与边界如上;新增机制与缺口相称,可局部回退,不需要新框架。未发现当前 head 的新增阻塞缺陷;原预算失败、joint 来源缺口及原生 readiness 继续单独处理,批准不是合并授权。
Long-horizon 为 preserved:完整原要求更早进入原捕获,后续恢复、一次准入和原停止权限保持。User experience 在这个工作进程入口为 improved:无需补抄已知 Goal 或重做 guard;没有增加用户准备或确认轮次。这不是 token 节省或模型成果收益。
改动是 checkpoint 预检和 CLI 捕获/呈现路由;没有 JSX、布局、样式或其他可渲染产品页面变更。 正式 App、真实模型保留和长程成果收益未验;原生联合 evaluator 场景因未提供其固定来源而跳过。
English verdict: APPROVE 23e4f3a — native preflight source capture is repaired with source/wheel and real Host controls; unchanged output-budget failure and joint-source skip remain separate holds.
Checkpoint preflight captured a guard with native context delivery disabled, then enabled it only when presenting the saved result. This left complete Goal-source delivery unavailable during the original work-context capture and caused an additional progressive source read.
Enable native capture during preflight while deferring presentation until after the native lifecycle hooks. A hidden Host-only option saves the ordinary immutable CLI view without consuming or replacing session continuity. The model subsequently projects that same capture; admission is not repeated. Unbound staged replans retain their review-owned original Goal read, and context-delivery-off behavior is unchanged.
Validation: 104 tests passed, 5 environment-dependent tests skipped across production checkpoint preflight, decision capture and saved-context projection. Real File/SQLite paths cover context on/off and replan/ordinary work, complete unmarked Goal text, unchanged native continuity, one guard call and captured receipt identity. Invalid deferred combinations reject before allocating a capture. Ruff, diff-scoped semantic advisory and bilingual RFC checks passed. Public/private diff scan clean.
This changes only capture/presentation routing, not scoring, budget or evaluator behavior. The hidden option has one shipped caller, the checkpoint Host; it does not add a separate product capability or guarantee model-token/latency/outcome savings. No merge authorization is implied.