Repository navigation
test: align release regressions with accepted readback contracts - #6210
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; model=gpt-6.1-sol; provider=OpenAI; runtime_reported; reasoning_effort=xhigh
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
精确 head 571370bd0673d723a0e6a1b9aed041fdd2828fb3;批准本批验证修复,完整 1.4.0 发布资格另行验证。
动机
发布维护者和使用回归结果判断升级可靠性的开发者。发布验证在已修复的交接、停止和等待路径上仍失败:旧测试把原回答替换当作正确结果,把未确认停止当作成功,并让打包副本重复进入测试收集。验证现在按照已接纳的协议检查完整交接、保留停止屏障、原排队 Turn 与完整 PR 合并证据;生成目录退出源测试收集。本 PR 不改变生产执行、权限、SQLite 默认或模型行为,也不宣称整个发布已经通过。全量测试、公开 smoke、真实模型矩阵和最终发布物仍需在冻结的最终提交上验证。
改动思路
先以已接纳的行为为基准,再修改旧断言。#6131 要求保留原回答并附回执;#6150 要求原生 Turn 和工作线程确认停止;#6163 将完整保留日志交给类型化 Todo owner,显示尾部不再是 PR 合并证据源。排队工作采用新模型的时机以已接纳的 Host recovery 为准,不能丢失原 Turn。Future-facing pass reuses the existing typed evaluator and stdio inventory; no second owner or compatibility wrapper is justified. Existing tests and pytest-only configuration, production unchanged.
具体改动
规范基线 be15bf4ffb3bf354fb255853a96f14b047874bb8,loopx/capabilities/manager_context/README.md 的 Original answer and receipt;已合入 owner 的 Confirmed stop 和 Complete merge proof:三项均 implemented。Lark 八种来源/长度情形和两项原会话回传旅程保持完整简报、目的、约束、exact source、采纳、回放与一次回传断言;可见回答保留一次,完整 brief 从收件箱读回。
排队模型测试分清未启动与运行中:原 active Turn 身份不变,implicit/explicit accepted 队列可采用新模型,starting/running/interrupting 均保留旧适配器。停止测试覆盖 context/provider 两个延迟点:424 保留 interrupting 与 active fence,没有 interrupted event;原请求重放保持 pending,线程退出后重试得到 200,一次结算,后续工作正常,迟到结果不交接。Native fixture 用原有 turn_status 暴露真实运行/完成状态,不修改生产取消逻辑。PR 快照测试区分显示与完整事实并核对 repo/PR/event;纯 evaluator 的空证据仍为 false。pytest 仅排除 build/dist 打包副本,未排除源测试目录。
对主干的风险
七个既有 test/config 路径 +61/-27,生产变更为零。主要风险是刷新断言掩盖真实缺陷,因此独立读取上述接纳依据,保留或强化身份、负例、重放、交接完整性与停止屏障。初始主线复现 16 failed/1 error,当前精确 head 九个 affected/adjacent 目标 126 passed(123.67s),包含真实 HTTP、隔离存储和原生 stdio 协议;上游推理与外部 Lark 网络仍是替身,不能证明模型质量或线上投递。九项 catalog 风险 canary、compile/diff、Ruff、完整语义 inventory/vocabulary 和七路径公开边界通过;未查询 CI。更早全量发布失败保留,不能用本 PR 替代最终提交的发布资格。
我的整体评价
本批修复真实的验证缺口,不改产品契约、默认或权限。Future-facing pass reuses the existing typed evaluator and stdio inventory; no second owner or compatibility wrapper is justified. Existing tests and pytest-only configuration, production unchanged. 无阻塞发现,按 test/config 低风险修正处理;仅在发布本 head 评审和 merge readiness 后,使用既有维护者授权合并。
English verdict: APPROVE - 571370bd0673d723a0e6a1b9aed041fdd2828fb3. Existing regressions now follow accepted answer, stop, queue and retained-PR contracts. 126 exact-head tests, nine risk canaries, semantic and public-boundary checks pass; production unchanged and final release qualification remains separate.
Several existing release regressions still expected behavior that has changed through accepted fixes. This updates those tests to the current readback contracts; production behavior and storage defaults are unchanged.
Validation: the initial seven-file reproduction had 16 failures and one teardown error; all 82 cases pass after the contract repairs. Ruff, diff/public-boundary checks, semantic advisory and the nine selected risk canaries pass. Full release qualification, real model behavior and installed release readback remain separate gates. No CI was queried under the configured policy.
Future-facing pass: reuse the existing protocol fixture and pure evaluator, with no new runtime compatibility wrapper or decision owner.