Repository navigation
test: preserve checkpoint refusal semantics across source movement - #7506
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
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
APPROVE,精确head 4d7082a1c991fb977297d56c0f901c9e93533ac8。
动机 / Motivation
运行真实native research checkpoint资格验证的维护者。 source binding变更已被正确拒绝且未写checkpoint,但负例仍匹配旧版profile changed措辞,导致正确的防护被判失败。 负例核对source session、binding/profile移动和before sealing三个语义要点,继续要求不capture、无destination、原源内容与native调用次数不变。 不修改生产拒绝、source witness、capture资格、native模型、重试或权限。
改动思路 / Approach
只修复既有负例的诊断oracle,复用完整真实CLI/native/TS集成与原有全部安全断言,不添加兼容输出或新测试框架。 source、profile和sealing是这条失败路径的实际含义,不需要把生产错误改回旧措辞,或通过减少native检查来让测试通过。本PR仅改既有native checkpoint测试的4行新增/3行替换。 变动仍位于原probe/capture与binding/source移动参数矩阵,没有添加另一套捕获owner或可选fallback。
具体改动 / Changes
按 787f15e82283ae4cd590dc0ec91d88b09db4e122 的 docs/reference/research-checkpoint.md 核对 NATIVE-SOURCE-MATCH。文档要求源profile匹配、源保持静止,并在读回发现移动时拒绝捕获。既有测试真实启动native binary,在同一CLI/TypeScript SQLite结算和source session下改变binding或后续history;当前实现已经返回source session binding/profile moved before sealing。只将旧两词oracle换为stage对应的语义clauses,capture阶段和普通native移动的诊断仍分别核验。
关键的reader只创建一次且关闭、candidate完整原字节、native调用次数、captured=false、destination不存在都逐行保持;未移动源的manifest、完整native history和组件bytes正例也保持。最终head完整模块57通过、0跳过;旧不可变head补跑56通过1失败的记录保留。最终premerge、规定Ruff、mypy、单路径隔离公开边界通过。 57项是显式选择真实binary后的完整模块,而不是把原11个skip算作通过;该native fixture使用静态本地模型流,不是实际模型行为证书。
对主干的风险 / Risks
主要风险是把失败断言放宽到任意错误,因此当前负例同时核验source session、binding/profile移动及before sealing,并保留完整的无产物和源完整性事实。没有更改生产runtime、错误路径、捕获策略、调用上限或数据。原56通过1失败仍绑定原不可变head,不重标为历史通过。CI依Goal策略未查询;其他发布lane仍必须在统一source完成。
我的整体评价 / Verdict
只修复既有负例的诊断oracle,复用完整真实CLI/native/TS集成与原有全部安全断言,不添加兼容输出或新测试框架。 本PR仅改既有native checkpoint测试的4行新增/3行替换。 这是一处可独立回滚的测试语义修复,不需要改产品行为或把大型native集成拆成新的框架。真实边界的57项完整覆盖支持本次修复;无UI变化,未扩大任意Host或跨平台资格声明。未资格化真实模型效果或完整发布;该模块使用真实native binary和静态本地模型流,不把loopback称为live model。
English verdict: APPROVE 4d7082a1c991fb977297d56c0f901c9e93533ac8. The existingnegative asserts source/profile/sealing refusalsemantics while retaining every no-capture,source-integrity andnative-call oracle.57real-binary cases andrequiredlocalgates passed;no productbehaviorchange orlive-model claim.
The real native checkpoint supplement correctly refused a moved source binding before sealing and produced no destination, but an older test still expected the retired words "profile changed". Check the source-session/profile/sealing diagnostic clauses while retaining all no-capture, destination, source bytes, native-call and witness assertions.
This changes only the existing negative test. It does not change capture admission, native stores, retention, retries, command budgets or the production error. The earlier immutable-head supplement remains recorded as56passed/1failed; final full-module native validation and local gates are recorded on this PR's own head.
UI impact: none.