Skip to content

fix(context): verify exact native hook trust - #7338

Merged
huangruiteng merged 3 commits into
mainfrom
codex/context-compaction-lifecycle-183044
Oct 26, 2026
Merged

huangruiteng merged 3 commits into
mainfrom
codex/context-compaction-lifecycle-183044

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

The benchmark native hook setup previously trusted any discovered set of the expected size. A substituted, disabled or duplicate handler could therefore receive trial trust. Require an exact multiset match of event, command, matcher, timeout, async setting and enabled state, plus unique native trust identities. Native discovery may reorder equivalent handlers. Interrupt now declares the host's effective3-second ceiling.

This proposal is rebased and reduced to the remaining delta over current main (798543b82). Main already owns native lifecycle continuity, complete byte-range replay checks, full recovery and bounded presentation; those implementations and later corrections are preserved. The retained standalone/late PostCompact CLI regression checks invalidation independently of an earlier hook, reordered duplicates, foreign identities and feature-off no-ops. Runtime documentation now describes native continuity without requiring input diagnostics.

Validation:244 focused tests passed,43 environment-gated native tests skipped; scoped Ruff, whitespace and bilingual diff checks passed. Standard premerge ran17 catalog/risk smokes with0 failures; its final status is manual_review_required for the protected benchmark/runtime change, so merge readiness is not claimed. The two changed production files exactly match the already-qualified experiment integration; this rebase does not change an active run's pinned source. Native cold/delta/compaction and replay-loss checks were previously exercised through the real installed benchmark worker; ordinary Linux CodeMode remains limited by the guest's bwrap uid-map permissions, while the Mac recovery/resume cases passed. Passing transport checks does not establish net benchmark savings or installed App adoption. No merge is requested by this author update.

中文:此前仅核对发现的 hook 数量,错误替换、禁用或重复 handler 仍可能获得信任。本修改按事件、命令、matcher、超时、async和启用状态精确核对完整集合,要求信任身份唯一,同时允许发现顺序不同;Interrupt显式声明宿主的3秒上限。

基于最新main重整为5文件差异,已由main吸收的原生连续性、完整读取、恢复和分页实现保留其最新版本。保留独立与迟到PostCompact的公开CLI回归测试,覆盖乱序重复、外来身份与关闭时无修改;同步修正文档中的输入诊断与连续性说明。244项通过、43项环境条件跳过;原生资格和实际长期收益分开报告,Linux普通CodeMode的bwrap环境限制保留。标准premerge的17项catalog/risk检查零失败,受保护的benchmark/runtime改动仍需人工评审,最终状态为manual_review_required,不宣称已具备合并资格。未合并。

@loopx-agent
loopx-agent marked this pull request as draft October 25, 2026 19:34
@loopx-agent loopx-agent changed the title fix(context): converge native compaction lifecycle invalidation fix(context): converge compaction lifecycle and validate benchmark hooks Oct 25, 2026
@loopx-agent
loopx-agent marked this pull request as ready for review October 25, 2026 19:55

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

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.

Request changes conclusion (author-owned PR; GitHub blocks formal self-review)

REQUEST_CHANGES — [P2] 生成的 PostCompact 必须接到公开 CLI 的事件入口。 本次完整评审 bc2b9ed452b9ed9fa53bb217e6c78fd671eb3a86,基线 65450d6ebdd8dd79097a69923641731a96bc97b3。评审前头由 c75775e 更新到当前头,旧头没有发布结论,当前10条路径重新核验。

动机

开启差分上下文的 Codex 使用者,需要在压缩和恢复后继续读到完整要求;benchmark worker 也需要只信任实际生成的原生钩子。

此前,重复压缩通知可能反复换代,worker 仅按两个 handler 的数量判断配置;本提案集中处理失效并逐项校验钩子,但新增 PostCompact 在公开 CLI 入口被忽略,声明的失效路径没有接通。

本轮验证了正常原生全量、增量、压缩恢复和配置匹配,也复现了单独及迟到 PostCompact 都保留旧候选与 epoch。

本次不改变执行权限或配额,不代表已安装 App 多 Goal 采用、模型理解效果或完整成本收益。

作者需把生成的 PostCompact 接入公开命令边界并补回归;更广的安装包场景与成果收益仍由既有资格流程验证。

改动思路

共享 TypeScript owner、现有 Python IO 和原生 handler 身份边界分工合理;按生成配置派生 handler 集合也优于硬编码数量。当前缺口是同一既有 CLI 的事件接收集合没有随配置更新。 当前 PR 应完成原生失效、worker 配置匹配和原始恢复的可回退切片;不扩展为新 hook 框架,也不把安装包或模型收益列为已完成。

失效条件放在已有上下文 owner 中,原生 IO、锁和恢复引用继续由 Python adapter 持有;worker 从同一个生成配置派生需要信任的 handler 多重集合,由原生宿主提供 hash。这样没有新的权限、手工同步字段或 hook 管理框架。正常工具和轮次结束保留候选,压缩通知使候选失效;新的全量候选生成后,迟到通知必须保守再次失效。当前实际输入核验仍是增量复用的独立条件。

当前路径 实际命令效果
PreCompact → 公开 context-hook 清除候选并更新 epoch
PostCompact → 同一公开命令 返回成功与空对象,候选和 epoch 不变
直接调用 typed helper 的 PostCompact 实现了失效,但不能代替公开入口证据

表格是源码与独立命令观察的对照,不把 native 事件日志或最终空候选本身当作 handler 被执行的证明。

具体改动

完整 diff 为10条路径、+281/-43。既有 TypeScript 上下文文件增加35行 transition,Python 加小型桥接并保留原生 IO;worker 校验实际生成 handler 的事件、命令、matcher、timeout、async、类型、启用状态和唯一 trust key。其余是双语契约与既有回归、native夹具,以及删除一条未使用测试导入。与 main 一起集成的入口夹具已经属于本次不可变基线,不算本 PR 的生产 UI 变更。

独立规格为 docs/reference/required-work-context.md,固定于 65450d6,在实现前验证其全文与已读取规格一致。验收映射:Opt-in native reuse 因公开 PostCompact 未失效而未满足;Machine default 已验证关闭默认和原有设置边界;Saved context cache 已验证原始字节/身份及 snapshot成功、发布失败恢复;Generated worker hooks 已验证完整匹配和原生 trust owner。PR 自己改写的文档不能自证完成。

关键代码讲解

  1. applyContextLifecycle 在同一 session/cwd 上派生 reset_pending;重复或乱序通知共享失效 epoch,发布新全量候选后退出该区间。它不确认模型输入,也不增加执行权限。其他会话的 compact/tool 事件不能建立身份或替换恢复。
  2. codex_context_configuration 在第245行 生成四个 hook,其中包括 PostCompact,全部调用原有 quota context-hook。但公开命令第449行 仍只接收 SessionStart、PreCompact、PreToolUse,所以新增事件直接返回空成功。
  3. codex_context_hook 在锁内将原生事实交给同一个 typed transition,只有 observed 的变化才写 journal,失败仍保留原始恢复。直接调用它的测试可以通过,却没有经过上述公开事件筛选。
  4. prepare_context_delivery 不再假定两个 handler;将原生发现与生成配置逐项匹配且逐项移除,顺序无关,重复/替换/禁用/缺失或多余项均拒绝,不信任别处 hook。provider、plugin 和模型启动边界继续由原有 owner 管理。

对主干的风险

[P2] 已复现的触发: 同一 session/cwd 先有全量候选,向真正的 quota context-hook 发送单独 PostCompact,候选和 epoch 完全不变;发送 PreCompact 对照,候选被清除、epoch 改变。随后生成新的全量候选再发送迟到 PostCompact,候选与 epoch 仍不变,和提案明确声明的保守再次失效不同。原始源字节与恢复引用保留,探查没有调用 guard、spend 或修改活跃 Goal。

最小修复是在同一公开入口接收并转交 PostCompact,必要时复用一份生成/接收事件集合;补两个真实 CLI 回归并独立读回 journal。不要仅再断言 helper 或整体 native 压缩最终没有候选:本轮四个真实 Codex 用例全部通过,因为 PreCompact/SessionStart 已经使其失效,随后 PostCompact 被忽略也能满足当前最终状态断言。严格实际输入验证仍在;当前发现限定为声明的生命周期路径未接通。

独立执行:11个受影响 suite 388 passed /105 conditional skips;真实 Codex0.163 macOS 静态回环四例通过,覆盖生成 compact hooks 和 worker 的 quota/Turn Envelope 格式。全量 TypeScript 编译、配置中的严格 mypy 17 sources、全部7条改动 Python 路径 Ruff通过。原始 inline2MiB拒绝保留,既有 snapshot成功能完整还原 delta,发布失败恢复同一原捕获,不晋升候选。独立公开命令反例仍 failed,没有用这些正向测试把它改成通过。

关闭态使用同一UTF-8源,基线与当前头24次真实 CLI 比较,完整指令、数据、命令、cursor、错误及无副作用都相同。native premerge 6 direct +19 selected 零执行失败,原始退出码仍1,保留一个 benchmark-sensitive 维护者审查门。作者另报的完整打包场景在 conversation-activity 超时,本轮没有独立重跑该完整场景集,也不把后来的单项启动通过当作全场景通过。

语义与 CI 对齐

这是现有 context生命周期词汇的扩展,规则归属与尺度合理;新事件必须经过现有生产命令,schema、helper和事件日志存在不代表该路径已交付。当前精确范围 CQR cqr_304165a43e15cd597645 已独立记录 FAIL、物理文件全字段读回、verify为 invalid_receipt,保留这条公开入口失败和作者更广场景的未资格信息。本轮没有查询、轮询或等待 CI,也没有放宽 hard limit 或将历史失败重标通过。修复后应在新精确头重新执行公开事件反例、受影响回归、native、类型检查与原生 premerge。

我的整体评价

现有 owner 的有限重构和生成配置匹配值得保留,规模相称;当前缺失的是一条可直接修复的生产接线,尚不能批准。long_horizon:regression,新声明的压缩失效被公开入口吞掉;user_experience:regression,配置呈现可用 hook 而其命令静默无效。关闭态与严格输入证明保留,原始捕获恢复仍有效,不据此声称权限绕过或数据损坏。

完整10条 diff 只改上下文/worker、文档及测试导入;已检查现有机器设置与 CLI 配置入口,没有渲染布局或首屏变更。 未验证已安装 App 多 Goal 采用、完整打包场景集、真实模型效果和完整成本收益。 两个额外 hook 的运行/IO成本、漏报事件和单独字节完整性资格仍需保留边界。#7334 的假设模式和本 PR 的严格证明模式分别评审,彼此不继承结论或合并兼容性。没有合并、安装、付费执行或 dismiss 历史意见的授权。

English verdict: REQUEST_CHANGES at bc2b9ed452b9ed9fa53bb217e6c78fd671eb3a86. The generated PostCompact hook is silently discarded by the public context-hook whitelist. Standalone and late events preserve the candidate/epoch, while the PreCompact control invalidates correctly. Connect the event and add public-command regressions. Positive suites/native cases pass, but the discriminating check and exact-scope CQR remain failed.

@loopx-agent
loopx-agent requested a review from maxliux5 as a code owner October 26, 2026 07:27
@loopx-agent loopx-agent changed the title fix(context): converge compaction lifecycle and validate benchmark hooks fix(context): converge native delivery and exact hook trust Oct 26, 2026
@loopx-agent

Copy link
Copy Markdown
Collaborator Author

作者修订已推送到 fbbc105cab090ada3c868e2d9a037278e8d7d676,并重写正文,明确先合入 #7334 的依赖及本 PR 的独立增量。

  • PostCompact 接线复用 fix(context): share native continuity and bounded complete recovery #7334 的同一五事件生成/接收集合及 typed lifecycle;没有叠加旧四事件、默认输入诊断或第二个 reducer。
  • 新公开 CLI 回归逐次读回 journal,覆盖单独 PostCompact、新完整基线后的迟到 PostCompact、重复/乱序收敛、外来会话/工作区、普通工具/回合及关闭负例;不存在的 registry/runtime 仍不存在,没有新增 admission/spend。
  • 完整 handler 多重集合校验已适配最终生成配置。真实 0.162.1 发现 Interrupt 会把10秒压到3秒;共享生成器改为直接声明3秒,严格匹配保留。重复/缺失/多余/禁用/替换 handler、命令/设置、身份及配置变动反例均被拒绝,无关 hook 不被信任。
  • 446项相关测试通过、96项环境条件跳过;23项 codec、TypeScript 编译、既定17源 mypy、22条改动 Python 路径 Ruff通过。真实0.162.1安装包四例通过,macOS0.163发现一例通过。预合并6直接+19选中零执行失败,整体仍为 manual_review_required。

这条是作者修订与验证回复,不是独立复评或批准。旧 PostCompact 反例及完整打包场景失败保留;新头独立评审、维护者审查与实际合并资格待取得。按当前 managed policy 未查询/轮询 CI,没有宣称 App 采用、模型效果、完整费用或新实验已准入。

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

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.

Request changes conclusion (author-owned PR; GitHub blocks formal self-review)

REQUEST_CHANGES — [P2] 普通关闭态恢复指导仍声明了不存在的原生输入证明。 评审精确头 fbbc105cab090ada3c868e2d9a037278e8d7d676,完整基线 5cff2b9fa57bd846f0005dfe9dbaf47340d49917;旧 PostCompact 接线 finding 已修复,下面是当前全 PR 的独立判断。

动机

需要跨多轮保留完整要求的 Codex 心跳使用者,以及使用同一传输的 benchmark worker。

旧实现依赖每次实际输入诊断,压缩事件接线也有缺口;新头以完整分页和生命周期钩子建立明确的连续性假设,并接通独立、迟到的 PostCompact。

开启态已验证全量、差分、压缩后的原捕获恢复和错误字节拒绝;关闭态仍向普通读取方投递不成立的原生输入证明声明。

本次不认证模型理解、已安装 App 多 Goal 采用、完整打包场景、solver 成果或净费用收益,也不授予安装、执行、合并或审批权限。

关闭态共享指导仍需恢复原语义;原生连续性的漏报与下游截断限制,以及完整打包和效果/成本资格继续保留。

当先前上下文在后续轮次丢失时,仅留下磁盘文件不能证明模型还拥有原文。当前方案把其依据明确改成“完整读取正常交付后、已知失效前保持连续”的工程假设,这个限定必须同时出现在所有实际调用者,而不能由一个绿色 native 用例替代。

改动思路

复用既有 TypeScript 上下文与生命周期 owner、Python 物理读取/锁、公开分页协议和 native trust,能在同一处处理完整恢复;无需第二套 hook 管理或状态权威。

本 PR 应交付可选择的原生连续性、生成 handler 的完整匹配及同捕获恢复;最小剩余修复是在既有共享指导 owner 按实际调用者选择完整指令。

Python 负责物理文件、摘要、锁和原生观察,TypeScript 负责失效/范围与 full/delta 决策;真实 final-input Host 保留独立确认路径。这个分工合理,分页传输与精确 from 字符串引用也不需要第二套框架。关闭态问题只需要同 owner 内选择正确完整指导,不能再增加用户确认、配置开关或外部证明账本。

触发 当前行为 本次观察
独立/迟到 PostCompact 公开 CLI 转交同一生命周期 owner 旧候选失效,重复通知幂等
开启且读完所有可信页 明确 native_hook_assumption 后复用 全量、差分、压缩原捕获恢复通过
未开启/显式 off 的 saved-project 复用共享 READ 指导 无 native observer,仍声称其已独立验证输入

表为当前源码和命令证据的解释,不是模型理解或保留测量。

具体改动

完整30路径 +1634/-445,包含 native lifecycle/IO、同codec的 from、worker trust 匹配、机器配置代际、checkpoint 旧省略off语义、双语说明、回归与 SSR fixture。旧 review 绑定bc2b及更早基线;当前base/callers/claims已改变,本轮没有继承它的批准轨迹或只检查最后一次接线。作者当前修订回复明确要求先合入依赖 #7334;该依赖尚未成为当前 main 基线,所以本次仍审查实际完整30路径。下面的关闭态 finding 也对应 #7334 尚未解决的同一 owner 问题;应在依赖处修复后刷新本 PR,不能把依赖尚未落地当作当前头已经通过。

规格依据为 docs/reference/required-work-context.md,固定于改前接受版本 5cff2b9fa57bd846f0005dfe9dbaf47340d49917。Opt-in native reuse 的关闭态/完整指导边界尚未满足;Machine default 的默认off、显式模式与配置往返已验证;Saved context cache 的完整原捕获、摘要/物理文件、无重新准入和恢复路径已验证。on语义从逐次确认改为工程假设已在新双语文档明确披露,不能据此默许off指导变化。

关键代码讲解

  • updateNativeContextLifecycle 是新增的同域 typed reducer。完整可信页才建立候选,child/foreign session/cwd不借父状态;PreCompact/PostCompact/SessionStart失效,重复重排通知收敛,正常工具与轮次结束不无故失效。
  • _verified_context_pages 用journal固定的capture路径与摘要逐字节比较实际UTF-8页。输出自报路径、EOF、长度或正确digest都不能代替真实正文;文件丢失/替换/链接及旧metadata-only候选不能晋升。锁内读、归约或写失败会退休journal,保留已交付原恢复引用。
  • prepareContextDelivery 区分确认输入和 native_hook_assumption。from 只读取不可变base的完整相同字符串,当前控制仍内联;损坏、未知reader、scope/digest不符恢复完整当前capture。worker逐项匹配生成handler的event、command、matcher、timeout、async、enabled及唯一native trust key,保存原provider/plugin配置。
  • project_saved_context_capture 的普通结果无条件拼接 READ指导。仅成功native_view会覆盖它;省略开关和显式off均保留新增的“Native input observation independently verifies complete model-visible bytes before delta reuse”句子,实际没有该观察。

对主干的风险

[P2] 独立反例: 同一物理UTF-8捕获、相同摘要/尾部要求、无trace、无native hook,分别在不可变base和当前头执行公开 quota context-project 的省略开关及显式off。20条成对CLI观察中,数据、完整错误、hash/cursor、退出及无副作用保持;唯有这两条完整instruction改变,基线两个独立指令oracle通过、当前头两个失败。只比较数据/enum、看到没有feature对象或所有on测试通过,都不能证明agent消费的指导等价。

最小修复是恢复普通关闭态的完整读取义务和原指导,只向真正选择该证据基础的native/strict调用者说明其观察或假设;复用已有PAGE/READ owner,不新建开关。补相同原capture的省略/off/on完整instruction对照,保留现有字节/范围/恢复负例。修复后重新执行这些公开命令及 tests/control_plane/test_saved_context_project.py、test_context_delivery_cli.py 和受影响原生用例。这里没有复现权限绕过或数据损坏,finding限定为默认关闭指导与证明含义。

独立执行10个受影响suite 736 passed /53 conditional skips;真实 Codex0.163 本机确定性回环的 code-mode/benchmark、quota/TurnEnvelope四项 4 passed;TypeScript context/Turn/interaction/protocol 95 passed,control-plane typecheck与配置中的严格mypy 17 sources通过。独立/迟到PostCompact、错正文同长度、缺页/EOF、替换/链接/权限、外session、配置off/on同内容往返、原捕获恢复均覆盖。53项未选择原生/可选路径不算通过,也不把这些确定性例子称为真实solver成果。

标准premerge 6 direct +10 catalog +8 risk +1 public自动检查全部通过;当前 Vite 生产SSR的 bilingual model/header/composer smoke也通过。原始整体 exit1 / manual_review_required 和 benchmark维护者门保持。作者此前完整打包 conversation-activity elapsed-label 超时本轮未独立排除;后续某个startup用例通过不是全场景通过。没有提高2MiB硬限制,也没有把历史输入探针、全场景或成本失败改记成成功。

语义与 CI 对齐

共享typed lifecycle/from是现有词汇的有限扩展;byte校验和current control义务由原owner执行,continuity依据明确是工程假设。核心kernel没有增加benchmark特定义务,原Turn/guard/spend权限保持。当前违反的是已接受的feature-off完整指导隔离与证据来源含义:off消费者不能收到不存在的native验证保证。没有查询、轮询或等待CI;本地阳性检查不能清除这条实际反例或人工合并门。

我的整体评价

REQUEST_CHANGES at fbbc105cab090ada3c868e2d9a037278e8d7d676。当前结构和限定的连续性实现规模相称,旧PostCompact公开入口缺口已解决;仍需修复这条同owner内的off指导漂移。long_horizon:regression,后续Agent可能依赖不存在的输入证明;user_experience:regression,普通关闭态得到不适用的恢复说明。当前on假设、字节检查、同捕获恢复的正向结果应保留,但不覆盖此负例。

检查了机器能力设置及其本地化、ContextHelp、Chat header/composer 和完整30路径:渲染器用既有本地化文案覆盖 namespace 描述,生产布局/组件未变;本次 UI 文件仅为 SSR smoke。无新增首屏或密度变更。

未重跑完整安装包 conversation-activity 场景或真实用户理解;作者注明的 elapsed-label 超时仍未独立排除。

复用既有 TypeScript 上下文与生命周期 owner、Python 物理读取/锁、公开分页协议和 native trust,能在同一处处理完整恢复;无需第二套 hook 管理或状态权威。 本 PR 应交付可选择的原生连续性、生成 handler 的完整匹配及同捕获恢复;最小剩余修复是在既有共享指导 owner 按实际调用者选择完整指令。

明确保留漏hook、隐藏下游截断、两个额外生命周期/每页hook的运行与IO成本;没有model ACK、科学效果、完整费用或已安装推广结论。不合并、不安装、不dismiss旧意见,不把公开评审当作这些动作授权。

English verdict: REQUEST_CHANGES — fbbc105cab090ada3c868e2d9a037278e8d7d676. The prior public PostCompact defect is fixed. A paired immutable-base/current-head test still shows ordinary omitted/off context-project consumers receiving an unconditional native-input verification claim with no native observer. Restore the full off guidance and select native/strict instructions by the actual evidence basis. 736 local cases, four real Codex loopback cases, 95 TypeScript tests, typecheck and strict mypy pass; the discriminating off oracle fails and the benchmark/manual qualification remains held.

@loopx-agent

Copy link
Copy Markdown
Collaborator Author

Addressed the new generic/off instruction finding in the shared dependency owner, then integrated #7334 at 21dd9c7c687aaae3152c5f44e227c4c7e87689e8. Current #7338 head is d8048e20ade8de783201bd2e1666858f2c59ff47. The complete omitted/off read instruction equals the accepted immutable base; native page guidance stays separate. The expanded existing CLI regression first fails in six omitted/off cases, then passes after repair. No additional mode, authority or recovery shortcut was added.

Exact integrated-head evidence: 291 passed / 48 conditional skips; strict mypy for 17 sources; a new wheel with actual Codex 0.162.1 passes four discovery/public-CLI/native packet/native envelope cases. Current premerge's 6 direct + 19 selected checks have zero execution failures and retain the manual hold. The first package build failed because merged main changed frontend sources; rebuilding the real frontend bundle fixed packaging, without bypassing bundle validation. Old full-suite/browser/CI/scientific limits remain recorded. No CI query/wait or campaign launch.

Both PR descriptions are updated, and #7334 remains the dependency to merge first. This is an author repair response, not a new independent review or merge approval. Please reassess the new exact heads.

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

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 · effort=max

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机

需要跨多轮读取完整要求的 Codex 心跳使用者,以及共享该传输的 benchmark worker。 旧原生路径要求逐次输入诊断,独立或迟到的压缩事件还可能未接入公开接收器;新路径用完整物理读取与原生 hook 建立明确的连续性假设,压缩后恢复原捕获。 当前头已通过原生全量、增量、压缩后原捕获恢复及作用域反例;普通关闭态的完整读取指令已恢复为基线的711字节,不再声称原生输入观察已运行。 本次不认证模型理解、任意下游漏报、已安装 App 多 Goal 采用、跨独立进程的 warm reuse、完整模型费用或 solver 净收益,也不授予安装、执行和合并权限。 原生路径明确依赖 native_hook_assumption,不能提升为最终模型输入证明;依赖 #7334、安装采用、完整打包场景和实际效果/费用资格仍分别保留。

改动思路

同一 TypeScript codec/lifecycle 决定连续性与失效,Python 只负责物理读取、私有锁和 journal IO;复用精确生成 handler 校验,避免第二套 hook 管理或状态权威。 本 PR 交付可选择的原生连续性、精确 handler 信任、完整分页与同原捕获恢复;先满足 #7334 的依赖边界,不将传输通过扩大为用户采用或费用收益。

路径 当前可证边界
省略/off 原普通完整指令和无authority/native副作用
native on 完整物理字节 + 明确连续性假设;不是最终输入证明
已知loss/不兼容 同原capture full恢复,不重准入、不扣额

表格说明条件与证据层级,不是已安装采用或模型理解证明。

具体改动

spec_ref docs/reference/required-work-context.md,spec_revision c56f55307e87110e54d9a82c868d3649280f22fb。按修改前的接受规格核对:Opt-in native reuse:当前控制始终在本次输入中;默认关闭;未知/损坏/不兼容时回到同一完整捕获,不重新准入或扣额。; Machine default:显式选择与机器默认的既有优先级、host/session隔离和无自动安装权限保持;普通 off 不激活。; Saved context cache:只读恢复保留完整原捕获、精确摘要、分页coverage及物理私有边界;off无新增页或状态。。实现与独立验证见下文;本提案改写的说明不被用作独立基线。原生on的新假设是一项明确披露的设计变化,不能伪称满足旧严格最终输入证明;其更保守边界和局限分别保留。

完整 30路径/+1673/-447,覆盖共享codec/lifecycle、Python物理读取/锁、公开quota/config/恢复入口、machine namespace、benchmark worker/精确handler校验、checkpoint、三份运行文档及现有测试/SSR smoke。26条路径与前次 fbbc 全PR评审字节相同;另外四条完整差异已复核,当前全部主要套件重新运行。

普通 CONTEXT_CAPTURE_READ_GUIDANCE 恢复原先711字节的全部义务:每个可见内容长度、完整范围、原SHA、错误保留、同capture重读、不重准入或问owner。native页面指导单独保留其工程假设。changeTree 的局部 WeakMap 只缓存不可变JSON子树的序列化体积,仍比较分组/普通edit/full replacement;转义、中文、emoji、孤立surrogate、科学计数和混合数组的恢复由现有TS oracle覆盖。没有新状态owner或全局cache。

完整handler multiset保留event/command/matcher/timeout/async/enabled和唯一trust key;发现顺序无关,缺失/重复/替换不被当作可信。合法Interrupt直接声明原生实际的3秒上限。PostCompact独立、迟到、重复与乱序走同一五事件owner。旧reader、明确strict-input caller及不兼容wire仍有各自完整恢复边界。

关键代码讲解

  • updateNativeContextLifecycle:25:唯一原生生命周期归约;五事件、重复/乱序压缩与完整读取候选在同owner处理。同Goal/Agent/session/cwd/epoch;child与foreign不可借用;由 私有journal和原捕获恢复 消费。
  • _verified_context_pages:346:校验实际capture字节;元数据、retyped hash和EOF不再被当字节证明。物理私有文件、精确摘要与UTF-8范围;由 同一typed lifecycle 消费。
  • prepareContextDelivery:425:选择全量或精确差分;保留from原基线和当前控制,局部缓存子树JSON体积。严格JSON、不可变基线和同surface重建;由 quota与TurnEnvelope 消费。
  • CONTEXT_CAPTURE_READ_GUIDANCE:122:普通读取方的完整义务;省略/off恢复711字节原指导;native page说明分开。普通读取没有native observer,不宣称其已验证输入;由 context-project/context-read与旧reader 消费。

对主干的风险

必须明确一项刻意变化:原生 on 路径用 native_hook_assumption,不能称为最终模型输入证明;没有把漏hook或未观测下游截断的风险消掉。当前控制保持本轮输入,已知loss/缺页/损坏/scope改变回同原capture/full;需要保守边界时仍可保持off,显式strict caller也未删除。静态catalog只有可用模式description变化,明确陈述这项假设、off默认及“保存不证明实际使用”;不因此激活会话或获得权限。

20次真实公开CLI观察使用同一个含中文/emoji的物理文件:10组输出/错误/cursor/hash及无effect对照一致,尤其省略/off完整711字节等同基线。额外两次 machine-config describe 只观察到上述可用模式说明变化;schema、off模板和无状态副作用保持。独立/迟到PostCompact、foreign/child、错字节/缺页、不安全位置、handler变形及恢复路径在完整套件中通过。

最终兼容、已激活的同源环境下 739 passed/53条件跳过;95项TS、control-plane typecheck及既定17源strict mypy通过。四个实际 Codex0.163.0-alpha.11.1 回环用例通过,覆盖code-mode/benchmark、quota/TurnEnvelope、full→delta→compaction/原capture恢复;provider为确定性本地推理,authority为隔离合成SQLite,不是付费solver或已安装App采用。当前模型菜单SSR也通过。

最初V环境只有Harbor残留namespace而没有其distribution,造成43项失败;借用兼容解释器却未激活PATH,又有两项生成hook走全局CLI而返回full。原失败保留,修正的是验证环境/可执行路由;源码、断言和阈值未改,最终完整739通过。standard premerge 6直接+10catalog+8risk+1public 自动检查通过,整体仍 exit1/manual_review_required。精确 CQR cqr_d472ddc8a6160a760726 PASS,物理读回及native verify有效。CI未查询、轮询或等待。

依作者当前交付顺序,#7334 应先合入;本评审独立认可此集成头的代码,不替代该依赖PR的生命周期或merge资格。旧PostCompact失败与较早完整打包场景限制保留,不用本次四个原生用例声称全catalog、Linux新wheel或真实费用已资格化。

语义与 CI 对齐

共享closed set由原typed lifecycle/Delta owner扩展,native假设有准确名,不与strict proof混称。原feature-off入口与当前控制未获新增义务;静态availability描述单独披露。既有semantic-vocabulary和相关风险smoke通过,CI未查询。

我的整体评价

没有当前阻塞 finding:先前普通off虚假原生验证声明已由完整真实CLI对照关闭。设计判断为内聚、可回滚的 justified_increment,long_horizon 为 accepted_tradeoff,user_experience 为 improved;完整控制/原捕获恢复经验证,未观测下游的假设风险及更保守路径均明确。全PR职责仍落在同一typed owner与provider IO,局部体积缓存不承担权限/准入策略。未要求新的框架、跟进任务或额外用户确认。

完整30路径中没有产品布局或渲染器变更;机器namespace描述由既有本地化界面解释,UI文件仅更新SSR smoke,当前模型菜单SSR已通过。 未重跑整个打包conversation-activity或已安装App;作者早期elapsed-label超时没有被本轮改写成通过。

原生路径明确依赖 native_hook_assumption,不能提升为最终模型输入证明;依赖 #7334、安装采用、完整打包场景和实际效果/费用资格仍分别保留。 本评审不是merge、dismiss、安装或实验授权。

English verdict: APPROVE — d8048e20ade8de783201bd2e1666858f2c59ff47. The ordinary omitted/off instruction is restored byte-for-byte, while native continuity remains an explicit assumption. Full30-path review,739 local passes/53 conditional skips,95 TS tests, typechecks and four real Codex loopback recovery cases pass. Strict/fallback boundaries and the #7334 dependency, manual gate, historical failures and unqualified installed/scientific outcomes remain explicit.

@loopx-agent

loopx-agent commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator Author

Author validation return, scoped to base d65f6cc8f9a08a585b8e33c7c379a398317babe2 and final integration ed4a4109: the exact final wheel passes both actual macOS 0.163.0-alpha.11.1 benchmark exit/resume formats; final local source suites pass 346 / 48. Earlier Linux 0.162.1 evidence is separately pinned (12 broader cases at 415eaa0; 4 targeted cases at c8e97b4). The updated #7338 description records complete-read replay verification and all source boundaries. Three matched four-capture pairs at c8e97b4 reduce complete serialized request bytes 60.28% and o200k proxy 59.49%, while static-loopback mean elapsed increases 6.96%; real billing/natural outcomes/installed-App retention remain open. This is a different axis from page calibration. Premerge automation has zero execution failures with the manual hold retained. Please use a fresh exact-head review; this author reply is not approval or merge readiness.

中文:新包实际0.163双格式退出恢复已通过,完整读取与结算边界保持;12/4/2项原生证据分别绑定各自版本,成本代理与耗时反证分开,旧批准不继承,无新付费实验或用户安装。

Dependency note: #7334 has since advanced to 81ed3a48 with SSH Goal activation and active-reader-interval streaming. This integration remains explicitly pinned to d65f6cc8 and its qualified ed4a4109 artifact; it does not claim the new dependency is integrated or qualified. Reconcile that new increment and its real-path/negative cases before campaign adoption or merge. The earlier transport measurements retain their named sources.

@loopx-agent

Copy link
Copy Markdown
Collaborator Author

Author validation return for 137dac54929f70e668f1e36bf99d567b3b7eb28e, now integrating #7334@d27a87c6ea2b4274e16244d76a1a595ecbb5a016. The independent six-file delta retains exact generated-hook trust, explicit Interrupt's 3-second ceiling, public standalone/late PostCompact handling and real worker missing-history fallback. It adds no second lifecycle or input-scan requirement.

Final source suites: 461 passed / 53 conditional skips; Ruff, typecheck and configured strict mypy pass. An exact rebuilt wheel passes six actual macOS 0.163.0-alpha.11.1 cases. On actual Linux 0.162.1 the initial run remains four passed / two SSH warm assertions failed: native 0664 history is unsafe, so full fallback is correct. A separate four-case actual-native counterfactual passes both surfaces' private-writer delta and group-writable-writer full fallback. Only the disposable test-process writer umask changes; verification, files, guest defaults and production privacy rules are not weakened. This does not establish automatic private history for every external App/SSH host.

Source worker + disposable installed public CLI/hooks, isolated synthetic SQLite/captures and deterministic loopback inference define this qualification. No paid campaign, real remote SSH network or live App/config/login change occurred. Premerge has 6 direct + 19 selected checks with zero execution failures and its manual hold retained. The earlier full-suite Lark architecture failure remains unresolved. Later main changes are outside the frozen tested 30ffb06b9 basis. CI was not queried/waited for.

The description separates these results from earlier sources and historical c8e97b4d cost proxies. Current-head net savings, real billing, natural task gains and installed App adoption remain open. Please use fresh exact-head review after the dependency; this author reply supplies no approval, protected readiness or merge authorization.

中文:当前7338已真正集成新7334;完整读取、进程退出恢复、hook信任和丢历史分别验证。Linux 的原始失败保留,私有/可组写入反例单独通过。原捕获、默认off、当前权限和逐轮结算未放宽;全套失败与真实 App/费用/成果缺口保持开放。

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

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

Exact head: 7338@137dac54929f70e668f1e36bf99d567b3b7eb28e. English verdict: APPROVE.

动机

用户需要在原生上下文输出受限、发生压缩或进程重启后,继续读完同一份工作要求并推进原任务。

旧路径可能让恢复命令在工具响应中被截断,或者已读完的上下文在重启后仍被重新发送;此次将完整响应和可验证的原生读取区间一起纳入恢复流程。

独立复核确认:相同深路径分页用例从主干两项超限变为四项通过;相同 SSH 路径的启用提示从 4136/4358 字符降至 3764/3950,保留原有 4000 上限和完整命令。

这些证据证明有界的传输、恢复和继续工作机制;不证明自然模型采用、完整费用、任务质量或安装态已经达标。

完整任务收益、长期费用、实际 App 与远程 SSH 安装采用仍未验证;当前必跑预算及既有 Lark 检查失败另作合并限制保留。

规范依据为 docs/reference/required-work-context.md,接受的变更前版本 30ffb06b9ded2d08391ed8c58f05cc34db7d39bd,本次已完整读取。按原章节核对 Opt-in native reuse、Machine default、Saved context cache / 已保存上下文缓存:共享编解码与当前控制保持、默认关闭及明确范围、同份完整来源的只读恢复均有对应源码和验证;分支内修改的规范文字不能自证。新增 SSH 范围与普通 Goal 历史生成行投影作为显式行为变化另外评估。

改动思路

架构判断是复用现有 TypeScript codec/lifecycle、完整分页 reader 和来源投影;Python 只观察原生文件与工具输出,当前不需要第二套权限状态或通用框架。

本 PR 的独立部分仅六个文件、+171/-38;完整评审仍覆盖全部 43 个文件。依赖顺序是先 #7334,再 #7338。信任检查逐项核对 event、command、matcher、timeout、async、enabled 的精确多重集合和唯一原生 key;仅重排可接受,缺失、重复、关闭或替换都拒绝。Interrupt 直接声明有效的 3 秒,不再把 10 秒配置暗中钳制。单独及迟到 PostCompact、跨 session/off、缺失 history 的 worker 恢复均沿原 owner 处理。

下表是针对 137dac54929f70e668f1e36bf99d567b3b7eb28e 所读源码的流程说明,不能替代执行证据;使用 Markdown 表达,未单独验证图形渲染。

触发 关键判断 结果与恢复
首次完整读取 相同原始 capture、完整字节与 SHA 建立私有会话候选,当前工作控制保持新鲜
重启后的 warm 读取 原生选中的私有文件、身份及完整祖先读取区间吻合 仅在明确 native 假设下沿用候选
缺失/替换/未知历史、缺钩子或分组不完整 证据不能完成覆盖 读回同份原始完整来源或明确失败,不重新准入
最终 JSON 太大 连同恢复命令、转义与换行一起计算 缩小正文;元数据本身无解时保留原恢复路线

native_hook_assumption 是明确的可选证据假设:原生记录可重放和完整读取不等于模型确实采用或理解。严格最终输入证明仍由原验证器负责。EOF、目录存在、同一个 session id、已有文件或一张 receipt 都不产生新的执行权限。

具体改动

关键代码讲解

  1. context_delivery.ts 仍统一 quota 与 Turn 的完整/差量值树,当前目标、选择、读源和结算控制不能从旧候选继承。可重建的来源是完整要求,而非摘要;不吻合就恢复 full。
  2. codex_context_history.py 只观察已选择的真实私有 replay:物理文件、metadata、模型/权限、活动读取区间、每组实际输出的摘要及多重集合都要吻合。增量锚点保留完整祖先;按 64 KiB 流式检查,单记录 16 MiB 边界仍在,不能用总文件超过阈值来丢掉可验证活动区间。未知或可被组写的来源回退 full。
  3. quota_capture.py 先装配全部 caller 元数据,再限制完整成功 stdout 为 7900 UTF-8 字节,包括 JSON 转义、续页命令与换行;读取不足不会伪装完成,也不会为了恢复重跑 guard。
  4. task_body.py 仅压缩已捕获 native Goal 的表达。逐条比较了 actor、先后顺序、强制程度、来源、范围、继续与停止条件:完整成功 JSON/同次 detail 必须在选任务、工作、结算之前;精确身份/flags、当前 ordered_steps、歧义读回、不盲重试、原始及累计要求、可行的集成/负例/读回、第三次相同 blocked 后由用户 resume 的条件都保留。普通/off 分支完整正文保持相同。
  5. benchmark/runtime/context_delivery.py 复用生成的钩子集合并验证全部实际设置,外部无关 handler 不能补齐缺失原生钩子;同一个现有生命周期 owner 处理独立 Interrupt/PostCompact 的失效和恢复。

范围/默认需明确:未配置时仍 off;明确 off 优先。已开启的机器配置现在也覆盖注册 SSH Goal;这是一项公开的适用范围扩展。已知 Monitor 历史生成行的投影发生在普通 full/delta 来源中,独立于 native 开关,不能声称所有默认输出都不变。现有设置编辑器、预览/应用/禁用和 CLI 是配置入口;没有新增配置权威、用户确认轮次或安装动作。

对主干的风险

独立验证在当前源码及隔离 File/SQLite 上完成;原生用例使用真实 Codex 0.163.0-alpha.11.1 与确定性 loopback,按实际 model-facing guard 及返回的命令恢复,而不是从磁盘预知答案。每个头均有 14 项真实原生通过:SSH 2、Code Mode 2、worker 退出/恢复 2、替换或未知来源 full 回退 4、未知历史限制 2、缺失/被终止钩子 2。检查了两次独立决定、原始 capture 完整字节和两次原结算,没有第三次 guard 或重复 spend。

聚焦 Python 为 878 通过、63 条件跳过;4 份 TypeScript 测试文件 96 通过;control-plane typecheck、配置范围的 strict mypy、摘要 owner 检查、差异/编译/双语及公开边界检查通过。mypy 的配置覆盖不是“所有新 Python 均严格检查”的证明,条件跳过不计为原生成功。

相同公开 CLI 四例(ASCII/UTF-8、短/深路径)在当前主干 de11f068c323d5fa8e13027bd2e9700258edb8fc 有两项深路径失败,完整输出分别 8040/8002 > 7900;本头四项全过,并核对所有原始字节、摘要、返回续页与从零重读。SSH 另做同一真实 argv/路径的旧纯 renderer 替换对照:off 均为 3737 且逐字相同;启用前 4136/4358 失败,当前 3764/3950 成功。此反事实只替换旧 renderer,并非声称运行整个旧 checkout;没有缩短路径或放宽 4000 上限。

**必跑失败保留,不据此要求本 PR 修无关代码:**标准预合并 6 项直接检查通过,19 项选中检查中 18 项通过;hot-path-interface-budget-smoke.py 的 quota_should_run_json 仍是 20551 > 20500。用同一实际 canary 运行器、固定父路径及原预算,当前主干和两份头均得到相同完整失败;完整 quota payload 仅归一化自有随机根名及观察时钟后相等。直接运行该 smoke 三者都是 20383,运行器额外嵌套临时目录带来 168 字符,说明为何不能用较短的独立运行来冒充预合并通过。另一个配对 test_lark_identity_shape_owner.py 三者均 1 失败/83 通过,完整失败集合相同:return_files.py:75、:100;测试、生产因果路径与预算未由本 PR 更改。当前 changed invariant 由上述真实入口与负例独立覆盖。这些 required red、质量回执及 benchmark manual hold 继续作为合并限制,绝不改记绿色。

外部 writer 在 Linux 产生可组写 replay 时拒绝复用是正确边界,不能为了 delta 改宽权限;本评审没有重跑作者 Linux/wheel 环境,也没有修改用户安装或账号。旧吞吐/字节和整套 Python 观察保留原版本,不提升为当前整套通过、自然任务收益或完整费用资格。源码/真实原生 loopback 不能替代实际 App、远程网络 SSH 或所有平台的采用验证。

后续依赖更新:本头实际集成的是 #7334 的 d27a87c6ea2b4274e16244d76a1a595ecbb5a016;#7334 随后已推进至 60d7d5b43ced2196b1374a6c8231c24c2efb8ffa。本结论不声称后续大页/收据区间变化已集成或验证;维护者进入合并前须刷新集成准确头及对应验证。

我的整体评价

APPROVE,当前准确提交没有尚未解决的 PR 专属阻塞发现。 这是对完整提案和公开代码证据的重新判断,旧 SSH、Code Mode 分组和重复摘要规则问题已有独立当前验证;代码与测试数量本身不作为成果依据。

本次边界是可回滚的原生上下文传输与恢复提案;公开评审通过不等于安装、性能资格、合并就绪或维护者合并授权。

架构判断是复用现有 TypeScript codec/lifecycle、完整分页 reader 和来源投影;Python 只观察原生文件与工具输出,当前不需要第二套权限状态或通用框架。

有界重构判断:已应用单一摘要规则与共享 final-frame reader;保留提供实际文件证据的局部 adapter 有明确生产调用。更大的 provider 框架和语言迁移不属于当前必要修复,暂缓,不新增仪式性后继任务。

完整任务收益、长期费用、实际 App 与远程 SSH 安装采用仍未验证;当前必跑预算及既有 Lark 检查失败另作合并限制保留。

检查全部受影响路径:没有生产渲染组件变化,模型菜单文件仅修改 smoke 验证;此次 CLI/原生文件恢复改动无需新增截图。

真实 App 安装、远程 SSH、自然用户理解和长期采用未验证。

本评审未查询、轮询或等待 CI,遵守 wait_for_ci=false;这也不免除本地 required red、exact-head closeout/readiness 和显式维护者授权。未执行安装、权限修改、benchmark 付费任务或合并。

English verdict: APPROVE for 137dac54929f70e668f1e36bf99d567b3b7eb28e. The bounded native delivery/recovery change is independently supported; unchanged required failures and benchmark/quality holds remain separate merge gates. No installed adoption, model understanding, cost benefit or merge authority is implied.

@mergify

mergify Bot commented Oct 26, 2026

Copy link
Copy Markdown

This pull request has merge conflicts with main and cannot be merged
until they are resolved. Please rebase or merge the base branch, @loopx-agent.

Choose the remote for the base repository, not an out-of-date fork.
For a fork clone, first inspect git remote -v; upstream must point
to https://github.com/loopx-project/loopx.git. If it is absent, add it
with git remote add upstream https://github.com/loopx-project/loopx.git.
Then run:

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 HEAD

For a same-repository clone whose origin points to
https://github.com/loopx-project/loopx.git, use origin instead of
upstream for fetch/rebase. If you prefer merging the base, use
git merge <base-remote>/main and push normally.

Keep the DCO Signed-off-by trailer on every commit when you rebase.
https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Oct 26, 2026
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
(cherry picked from commit 098e37e)
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
(cherry picked from commit fbbc105)
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 force-pushed the codex/context-compaction-lifecycle-183044 branch from 137dac5 to f3d3e6a Compare October 26, 2026 17:26
@loopx-agent loopx-agent changed the title fix(context): converge native delivery and exact hook trust fix(context): verify exact native hook trust Oct 26, 2026
@mergify mergify Bot removed the needs-rebase Mergify: the pull request has merge conflicts with its base branch label Oct 26, 2026

@loopx-agent loopx-agent left a comment •

Copy link
Copy Markdown
Collaborator Author

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

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

本次只修订语言表述;评审仍绑定原 head f3d3e6aa8e5acbf51e0a038fcae01131db29067b,结论、发现与验证范围不变。

动机

使用原生上下文复用的运行者,在准备工作进程时需要确保被信任的钩子正是本次生成的处理器。钩子是原生主机在会话事件上运行的命令。

此前只核对数量:即使同样五个处理器中有命令被替换、被关闭或事件重复,也可能进入信任列表。现在逐项核对生成配置与原生发现结果,并保留原生身份;正常重排仍可启动。

可观察改善是错误处理器在输出信任参数前被拒绝,合法工作进程仍能完成完整读取、增量读取和压缩后的原始捕获恢复。

该切片不证明模型真正保留或理解上下文,不启动新实验,不改变评分、任务准入或默认关闭行为。

改动思路

保留现有原生配置生成器和生命周期 owner:生成配置决定预期处理器集合,原生主机提供实际身份,适配器只在逐项匹配后输出本试验的信任参数。无需第二套事件策略或自行计算原生哈希。

本 PR 的边界是五条现有路径中的精确信任绑定、Interrupt 有效超时声明和公开 hook 回归;不改评分、任务准入、默认开启或模型推理。

具体改动

完整 merge-base diff 为 5 条既有路径,+163/-34:两处生产代码、两个持久测试模块和 RUNTIME.md。早先 lifecycle 接线及 ordinary-off 指令修复已在 main,本结论独立针对剩余完整 diff。

关键代码讲解

  • prepare_context_delivery 对比生成配置中的 event、handler type、command、matcher、timeout 和 boolean async 多重集合。要求 enabled=true,native trust 身份非空且唯一。重排合法;替换、关闭或重复的 handler 在 trust 前拒绝。只纳入本次拥有的 sourcePath,discovery 不启动模型。
  • codex_context_configuration 声明 Interrupt 的原生有效 timeout 为 3 秒,其他事件仍为 10 秒。临时 discovery plugin 开关不替代 solver/provider 配置。
  • test_real_hook_cli_handles_standalone_and_late_postcompact 通过公开 hook CLI 读回 journal。独立/迟到 PostCompact 会使 candidate 失效;重复或重排事件收敛,foreign scope 与 off 无副作用,恢复使用同一原始 capture。

独立规格为 docs/reference/required-work-context.md,spec_revision 为 798543b82ecbc4479531c98ad5c93274f9bd6ce9。以下名称对应既有条款:native-scoped-trust implemented,显式配置和信任 native hook,不向无关 hook 扩权;native-complete-recovery implemented,已知 invalidation 必须恢复准确原 capture,不新增 guard/admission;native-default-off implemented,默认关闭,off 恢复普通展示及完整读取指令。

RUNTIME.md 区分正常交付的工程假设与模型实际 retention;完整 reader replay 和适用的全部成本仍分别约束其结论。

对主干的风险

主要反例是精确匹配既要拒绝错误 handler,也不能误拒绝合法 normalization。

检查 状态 原评审的实际证据
错误/重排 handler 矩阵 PASS head 全部 42 项通过;同 fixture 在不可变 base 为 24 项预期失败、18 项通过
聚焦 native-context suite PASS/条件跳过 244 通过、83 环境条件跳过
实际 native worker、两种视图 PASS 2 项 Codex 0.163.0-alpha.11.1 packet/envelope 的 full、delta、compact recovery;使用 loopback,不证明自然模型行为
CLI 与 saved-context suites PASS/条件跳过 75 通过、5 条件跳过
Ruff/配置内 mypy PASS 全部改动 Python 路径、17 个配置内 mypy source
premerge 自动 PASS/人工 HOLD 6 direct+17 selected 自动检查通过;整体仍保留 benchmark_sensitive 维护者评审门禁

最初 43 项 Harbor 导入失败也在 base 复现:复用环境只有空 namespace,没有实际分发。仅移除确认为空的目录后,同一完整命令得到 244 通过/83 跳过。原始失败保留,optional Harbor integration 仍未验证;两项真实 native worker 独立覆盖本次生产入口。

语义与 CI 对齐

omitted/off/unsupported-on 的完整 CLI 输出和 exit code 与 base 一致,只规范化临时 fixture 根路径。UTF-8 字节数、完整覆盖、原 SHA-256 和 same-capture 重读义务均保留。已逐项核对 4 份旧 review、5 条作者评论:此前 PostCompact 与 ordinary-off 问题由已集成 main 和当前回归覆盖,未继承旧批准。

其他 native 版本、optional Harbor integration、历史 full-browser/安装态 App 失败及科学有效性仍 UNVERIFIED。没有 CI 查询、轮询或等待;人工门禁独立于代码结论保留。

我的整体评价

APPROVE。精确 native trust 在原 owner 内构成完整有用切片;预期集合从生成器派生,没有另建同步配置。此边界无需新增抽象或旧请求 decoder。

在已测 continuation/recovery 边界内,长程表现有所 improved,合法 native setup 仍可使用,也未增加确认轮次。模型采用、整个研究目标的有效性及完整成本收益尚未资格化。

已检查 CLI/native 配置和恢复入口;原 PR 未改渲染页面、布局或可见设置表单,因此 visual_review 不适用,未宣称安装态桌面、其他平台或模型实际理解得到验证。

COMMENTED 仅承载共享作者账号下的批准结论,不等于正式自批准或 merge 权限。本次语言修订保持原 review 状态、发现和 exact head。

English verdict: APPROVE — reviewed f3d3e6aa8e5acbf51e0a038fcae01131db29067b. Exact generated-handler trust rejects malformed discovery while valid native setup and off-path guidance work. Actual native worker tests pass; manual and optional integration limits remain explicit.

@huangruiteng
huangruiteng merged commit 355c6f0 into main Oct 26, 2026
27 of 52 checks passed
@loopx-agent

Copy link
Copy Markdown
Collaborator Author

Already merged as 355c6f0317dad9db65150f55b725ce07107c23b3 at 2026-10-26T17:59:24Z.

Rebasing the original PR head f3d3e6aa8e5acbf51e0a038fcae01131db29067b onto current main 6e03576261a732a4447405172dd7196ef7ebefc3 now yields zero remaining commits and an empty diff because all three changes are patch-equivalent upstream, including through the merged #7334 dependency. No empty follow-up merge or branch rewrite was needed.

@loopx-agent
loopx-agent deleted the codex/context-compaction-lifecycle-183044 branch October 27, 2026 03:04
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