Skip to content

fix(tests): restore Lark recovery fixture lint - #8000

Merged
huangruiteng merged 1 commit into
mainfrom
codex/lark-fixture-lint-20261103-153317
Nov 3, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/lark-fixture-lint-20261103-153317

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

当前 CI 与 Windows 诊断读回

本 PR 的准确 head d46c25c00e6232f9c93a9f42e897a7e8d9c796bb 已通过真实 CI 的 kernel-static-checks,原 F811/E731 阻断已解除;不据此宣称整条 CI 全绿。

Python Tests run 41671826881 的 Windows lifecycle 步骤为 1 failed / 438 passed / 20 skipped。失败是 test_manager_runtime_installs_tool_and_records_real_subprocess_read[todos] 在既有 timeout_sec=10 处等待超时;该步骤之后的 Windows 检查未执行,不能算通过。读回时六个完整测试分片仍在运行。

该测试及其 Chat/manager/Effect 实现路径未被本 PR 修改。在集成基线 be2a5c3537b98053b2e6ee7f4440c83268ca84f5 上,同一用例三次未插桩调用分别约 3.42 / 1.12 / 0.75 秒,六个真实子进程读取分支整体通过;定向 Pyinstrument 工作线程观察也未复现超时。以上是 macOS 本机证据,不能证明 Windows 根因、稳定性或加速。当前保留 10 秒测试预算和原始失败;后续需 Windows 的阶段/工作线程证据再决定实现修复或有据预算调整。

以下保留原提交的实现及作者验证记录。

Goal And Delivered Outcome

当前 main 的原始回复恢复测试让完整 CI Ruff 失败:导入的 pytest fixture language_server 触发 F811,同一测试新加的路由 lambda 触发 E731。前者已阻断 #7998 的 kernel-static-checks,其余汇总门因上游失败或跳过而失败。

复用本模块既有的局部 fixture 标注,并把赋值 lambda 改为一个具名回调。回调保持相同的变长参数和返回表达式;fixture、15 个参数分支与断言保留。对当前 main 的同一完整 Ruff 命令,结果从 2 个错误变为 0。

Author Declaration

  • Written by: model_agent — OpenAI Codex (GPT-6 family).
  • Specification: no written specification; this reproduced CI defect is the basis. 复用当前 CI Ruff 命令与本模块现有 fixture 注入约定。
Criterion Disposition Path / evidence
修复实际 F811 / E731,不关闭全局规则 implemented tests/test_lark_private_conversations.py;完整 CI Ruff 前后对照
保留原始回复恢复、配额与 fallback 负例 implemented 原有 15 个分支 base/head 均通过;其余 AST 保持一致

Self-check: 保留共享 fixture 和同一可注入回调。局部具名回调修复 E731;不新增抽象或扩大重构。

Scope And Continuation

本切片完整修复当前 lint 阻断,仅修改测试代码与其局部 lint 元信息。生产代码、测试参数和断言不变。原 #7998 / #7997 的失败记录仍保留;本 PR 的通过不能替代它们各自的新检查、review 和 merge readiness。没有为此局部修复新造 successor。

Validation

  • Tested revision: d46c25c00e6232f9c93a9f42e897a7e8d9c796bb。
  • Run state: finished.
  • Input classes: synthetic, public_fixture.
  • Environment: Python 3.14.8、Ruff 0.15.22;临时 Core/store 与 loopback synthetic model/provider,无真实模型或账号调用。
Check kind Result Evidence / limitation
regression_parity passed python -m ruff check tests loopx/canary loopx/control_plane loopx/domain_packs loopx/presentation:不可变基线 F811/E731 两项失败,head 全部通过。
integration passed pytest -q --no-cov tests/test_lark_private_conversations.py::test_completed_invalid_metadata_uses_one_original_format_review:base/head 各 15 项通过,覆盖正常恢复、quota、Codex fallback、停止、来源/proof 漂移、存储失败及不重放原回复。
static passed 对照整个模块 AST:除 lambda→具名函数的语法形式外一致;该回调参数和返回表达式相同。
static passed canary premerge --from-git-diff --git-diff-base origin/main:5 项 direct checks 通过;未选出 catalog smoke,完整 Ruff 与上述集成测试另行显式执行。public-boundary、whitespace、staged/committed RFC bilingual 检查通过。
manual not_run 本 PR 的远端 CI、独立 review 待执行;未重跑整个 pytest suite 或声明真实 Lark/模型资格。
  • Change-quality: cqr_aa9d907bf73625ff83f2 verified;fingerprint aa9d907bf73625ff83f2761f99e6964d607dcfb1e576e3cb5fbb77a657fccbd5,1 file,safe-fix allowed / not applied,0 blockers / warnings / advisories。

Frontend / Visual Evidence

UI impact: none。仅测试元信息与等价回调调整;截图、viewport 与 craft review 不适用。

Type of Change

  • Bug fix
  • Test update

LoopX Area

  • Build, packaging, installer, or CI

Shared-authority RFC fixture impact: N/A;不改变 production authority、运行时路由或 RFC 资格。

Boundary Checklist

  • Diff/body 不包含私有状态、凭据、原始日志、内部链接或本机路径。
  • 不重复 maintainer-owned benchmark 工作。
  • 保持当前 CI 阻断修复范围。
  • 无 RFC pair 变更,双语 diff 检查通过。
  • UI impact none。
  • DCO signed-off commit。

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 · gpt-6.1-sol · OpenAI · runtime_reported · reasoning_effort=max

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

审查提交:d46c25c00e6232f9c93a9f42e897a7e8d9c796bb;完整 PR 为一个测试文件 +4/-3。本结论来自当前源码的独立验证。

动机 / Motivation

维护 Lark 原始回复恢复测试与共享 lint 的贡献者。

原始回复恢复测试已经能通过,但完整 Ruff 命令会因 fixture 同名参数和赋值 lambda 报错,阻断共享静态检查;本次局部标注和具名回调消除这两项错误,并保留恢复测试的原有条件。

相同完整 Ruff 命令在不可变基线报告 F811、E731,在当前提交通过;两边原有 15 个参数分支均通过。

不修改生产恢复、配额、权限或发送行为;不声称其他 PR、远端 CI、真实 Lark 或已安装 App 已通过资格。

改动思路 / Approach

复用模块已有的 imported pytest fixture 标注,在对应函数上局部允许 F811;把同一函数内的 route 赋值 lambda 改为具名函数。不删除 fixture,不禁用全局 lint 规则,也不改变测试参数或断言。没有修改会授予实际恢复权限的生产 owner。

不做修复会留下可复现的共享 lint 阻断;扩大为 fixture 框架重构则增加与本问题无关的维护成本。当前两处修改就是完整且可撤回的修复边界。恢复 RFC 的历史审查建议不适用于这个测试 lint 修复:本片没有交付阶段、状态协议或新用户旅程。

具体改动 / Changes

没有独立书面功能规格;验收依据是已复现的 lint 缺陷及既有测试语义。先读不可变基线 6f90e561ee99a1ef2e3db4e90c94e3c767990c58 的 CI lint 命令、pytest 配置及模块已有 fixture 约定,再核对完整差异。要求是修正实际 F811/E731,保留原始回复恢复及拒绝分支,不靠关闭检查或减弱断言获得通过,当前均满足。

关键代码讲解

  • test_completed_invalid_metadata_uses_one_original_format_review:新增的 noqa 只针对导入 fixture 的同名注入参数,沿用同模块六个既有标注。15 项参数、完整 fixture 生命周期、原状态与回复不重放断言不变。
  • route:保留同一个 *args 签名、allocation/blocked_primary/observed_at 表达式和两处 monkeypatch 消费者。独立 AST 比较仅把这一个 def 规范化回 lambda,整个模块与基线完全一致;这同时排除了其他参数、分支和断言被修改。

保留现有集成测试有持久价值:它经过实际 transport、Core/store 和恢复路由,区分 quota 等待、原生来源证明变化、stop、新输入、存储失败与 Codex fallback。synthetic provider 不证明真实服务资格,但比新增一个复制输出的 smoke 更能保护既有跨模块边界。

对主干的风险 / Risks

最强反例是 lint 修复顺便让 fixture 失效,或让 fallback callback 不再等价而测试仍“通过”。同一 15 分支 base/head 对照覆盖了实际 fixture 注入、quota 恢复与拒绝、不重放原答复和 fallback 后复用原 Session;整个模块 AST 对照进一步确认未移除这些断言。没有新增 smoke、fixture 协议、生产兼容分支或配置。

独立检查 不可变基线 当前提交
完整 CI 范围 Ruff 命令 FAIL:F811、E731 两项 PASS:0 错误
原有恢复参数测试 15 PASS 15 PASS
整个模块 AST 对照 原始形式 PASS:仅 route 的等价语法转换
标准 source premerge 本次未重复 PASS:5 direct checks,0 selected catalog checks

Ruff 命令为 python -m ruff check tests loopx/canary loopx/control_plane loopx/domain_packs loopx/presentation;测试为 pytest -q --no-cov tests/test_lark_private_conversations.py::test_completed_invalid_metadata_uses_one_original_format_review。验证采用各自 checkout 的 Python 3.14 环境及 Ruff 0.15.22,临时 synthetic runtime,无真实模型。premerge 以本次已获取的目标 main 6f90e561ee99a1ef2e3db4e90c94e3c767990c58 所属分支的当前不可变快照 be2a5c3537b98053b2e6ee7f4440c83268ca84f5 为 diff base,实际选中同一个测试文件;未把没有 catalog smoke 说成完整集成检查。public diff 未见私有状态、凭据或本机路径,DCO trailer 保留。

同作者队列中 #7991、#7987 是其他旧 fixture 的修复;本次完整 Ruff 对照定位的是当前第817行与第928行,没有把同类标题当作重复证据。当前修改没有扩张测试体积,适合留在现有测试 owner;无需额外抽象或新建跟踪任务。

作者提供的 #7998 上游静态检查失败只保留为诊断背景,未查询、轮询或等待远端 CI,也不从本地复现推断所有历史 CI 失败原因。未运行整个 pytest suite、真实 Lark/模型或安装态;这些不属于这两行等价测试修复的决定性缺口。

我的整体评价 / Verdict

APPROVE。命名的 lint 修复目标已实现,未发现当前提交阻塞项;不会据此关闭其他 PR 或更大恢复目标。长程执行维度 preserved:生产执行、原始状态和恢复规则没有改动,既有不重放与拒绝覆盖保持。用户体验维度 not_applicable:只改测试语法和 lint 元信息,不增加操作或确认轮次。视觉评审不适用,检查路径为该测试与 CI 配置,无渲染布局变化;未验证范围为真实服务和安装态,未声称它们改善。

保留 existing owner 与所有断言是合适的有界整理;代码体量必要,兼容模式和共享词汇均无变化。批准结论与后续 merge readiness、仓库保护及合并权限分别判断。

English verdict: APPROVE — d46c25c removes the reproduced F811/E731 failures while preserving the full test AST apart from the equivalent callback syntax; both revisions pass all 15 recovery cases, and current source premerge passes. No blocking finding remains.

@huangruiteng
huangruiteng merged commit 63a0518 into main Nov 3, 2026
27 of 34 checks passed
@huangruiteng
huangruiteng deleted the codex/lark-fixture-lint-20261103-153317 branch November 3, 2026 17:25
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