Repository navigation
fix(testing): qualify complete model candidate context - #7583
Conversation
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)
动机 / Motivation
维护发布验证和上下文完整性的开发者。 同一噪声fixture保留完整候选后达到84–86KB,旧40KB断言在任何模型调用前终止;本头采用有实测依据的90KB合成预算,同时拒绝候选正文丢失。 组合门保留56个完整capability候选,并在模型调用前拒绝丢失或缩短的候选。 本PR不修改生产传输硬边界、工具次数、执行权限、22场景/两次重复/六组对照或模型结果判据;实际模型与整版发布仍须独立验收。
改动思路 / Approach
先按既有规范 docs/reference/protocols/turn-envelope-v0.md 的 revision 53dcb03082985bf894b1fca8813ab9f6e92503c5 判断交付边界,而非用本头新增说明替换原合同。三个原source的大小与决策语义保持一致。旧输出为4,944/4,858/3,089字节,当前typed projector保留24 runnable、16 blocked、16 resolution-binding后的输出为86,172/86,086/84,276字节,源为120,963/121,008/118,935字节。90KB是合成pretty-JSON UTF-8回归预算,留约3.8KB余量;不是token、生产transport、配额或冻结实验阈值。只增常量会遮蔽正文丢失,因此同时保留完整source相等校验。保留40KB或换小fixture都将改变已接受的完整上下文负载,未采用。
把已接受的完整上下文规范留在既有typed projector,用原source oracle和一个fixture预算对齐验证,避免新owner或丢失正文。 仅资格读取器、原测试与预算证据;真实provider和最终整版资格仍独立完成。
具体改动 / Changes
关键内容讲解
ACTUAL_DEFAULT_MODEL_BEHAVIOR_HOT_PATH_JSON_BUDGET仅调整同一组合门fixture;_validate_quota_hot_path_compaction_regression在原大小与选中工作检查之间要求整个capability_gate等于source,任何候选或字段不能悄悄消失。三组正例都核对完整candidate。test_portfolio_rejects_candidate_context_loss_before_actor_call在三个列表逐一执行drop/text六个反例,并用会失败的actor证明拒绝发生在调用前。test_portfolio_contrast_rejects_noisy_gate_semantic_collapse按实际可见候选触发人工门禁的错误决策,原两次场景失败、一组对照失败和错误码断言不变;不再依赖已经删除的payload_compaction展示标记。文档只记录实测及旧失败边界,没有重写Agent指令。
规范映射:complete-candidate-context,对应上述源码与验证。
对主干的风险 / Risks
预算增长掩盖candidate裁剪,或原对照的错误注入不再触发。 新whole-gate source equality与六负例;原错误注入改为已接受的可见候选条件。 PASS:完整组合门和发布资格 reducer 两模块61项通过,零skip;六个新候选丢失/缩短负例、原语义对照、身份/门禁及失败检测保留。Ruff、RFC、三路径公开扫描和固定base premerge六项直接/11项选中检查通过,零失败/hold。基线26failed/18passed与第一稿60passed/1failed保留;后者故障注入仍依赖已删除的展示标记,本头改按真实可见候选触发,同一错误仍产生两次场景失败及一组对照失败。CI未查询。 净diff为3文件+54/-5。没有页面、布局、首屏或产品指令变更,视觉检查不适用。公开diff无本地路径、凭证、私有Goal或原始模型对话;CI没有查询。普通revert即可恢复,无用户数据迁移。
我的整体评价 / Verdict
APPROVE仅覆盖 993f692616e0187e0c1d09f69a41fe967e71c24b。long_horizon为not_applicable,user_experience为preserved:本PR修复已有验证链的过期前提,产品工作和执行权威不变,不宣称Agent效益提升。采用现有source oracle/AST守卫是同域可逆的简化;没有必要新增模块、框架或旁路owner。当前PR只修资格读取器、原测试与预算证据;保留旧40KB失败和首次错误注入失败,后续真实模型必须在最终源码单独合格。
English verdict: APPROVE 993f692. All 61 focused tests and required local checks pass. Complete candidate context is now enforced; the measured 90 KB synthetic allowance changes no production or frozen performance limit. Actual-model and final release qualification remain separate.
主线 #7557 已保留 capability 候选的完整正文,但真实模型组合门仍按旧的删减结果检查 40,000 字节上限,导致在任何模型调用前失败。同一组三个输入在改动前为 4,944 / 4,858 / 3,089 字节,当前为 86,172 / 86,086 / 84,276 字节;源输入及决策语义保持一致。
本 PR 仅把该合成 fixture 的 pretty-JSON UTF-8 预算校准为 90,000,并要求所有 runnable、blocked、resolution-binding 候选及完整字段与源输入相等。新增六个候选丢失/正文缩短负例,必须在任何 actor 调用前拒绝;保留选中工作、人工门禁、其余冷路径、22 场景、两次重复、六组对照和结算断言。生产传输硬边界、工具次数、执行权限和模型结果判据均未放宽。原 40,000 字节失败保留,这次修正本身不代表模型通过。
验证:基线完整组合门模块复现 26 failed / 18 passed。精确 head
993f692616e0187e0c1d09f69a41fe967e71c24b的完整组合门及精确发布 reducer 共 61 项通过,零 skip;Ruff、RFC 双语 diff 和三路径公开边界扫描已通过。风险 premerge 已通过,零失败和零 manual hold;首稿的故障注入依赖已删除的展示标记,现改按可见候选触发,保留原两次失败/一组对照失败断言;60 passed / 1 failed 的原记录保留。当前 Goal 配置不等待 CI,未查询 CI。复用现有组合门与数据构造,不引入新模块、状态 owner、付费调用或 UI。完整正文要求来自既有
docs/reference/protocols/turn-envelope-v0.md,原输入及失败记录不改写。上下文边界:候选参与 Agent 的实际选择,完整正文保留属于正确性修复;这项预算校准不证明全量内联的成本合理或效率提升。完整同版本引用、原始 capture 和差分复用仍由现有 C1 / #7430 工作承接。