Skip to content

test: align release regressions with accepted readback contracts - #6210

Merged
loopx-agent merged 1 commit into
mainfrom
codex/release-140-chat-contract-regressions
Oct 11, 2026
Merged

loopx-agent merged 1 commit into
mainfrom
codex/release-140-chat-contract-regressions

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

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.

  • PR dependency readiness uses the complete retained log from fix(heartbeat): resume PR dependencies from complete retained facts #6163, independently of the bounded display snapshot. Tests still verify one display snapshot per request, exact merge identity, and empty evidence in the pure evaluator.
  • Chat/Lark handoff tests preserve the original model answer from fix(chat): preserve substantive answers after context handoff #6131 and verify the complete purpose, constraints, source and exactly-once return in the recipient inbox.
  • Accepted queued Turns can adopt a model before upstream starts while preserving the original Turn. Started/interrupting Turns retain their model.
  • HTTP stop tests follow fix(chat): stop exact Turn terminals before reporting interruption #6150: a worker that has not exited returns 424 and keeps the active fence; acknowledgment permits a retry, exactly-once interruption and subsequent work. The native Goal fixture now exposes its actual Turn status to native inventory.
  • Pytest excludes generated build/dist copies, preventing duplicate collection and import mismatch after packaging.

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.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@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; 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.

@loopx-agent
loopx-agent merged commit dbbca15 into main Oct 11, 2026
7 checks passed
@loopx-agent
loopx-agent deleted the codex/release-140-chat-contract-regressions branch October 11, 2026 08:30
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.

1 participant