Skip to content

test(release): stabilize page interruption and retire reduced module allowance - #6918

Merged
loopx-agent merged 1 commit into
mainfrom
codex/release-2-0-recovery-qualification
Oct 19, 2026
Merged

loopx-agent merged 1 commit into
mainfrom
codex/release-2-0-recovery-qualification

Conversation

@loopx-agent

Copy link
Copy Markdown
Collaborator

The release sweep exposed two validation defects: a reduced chat module still had an oversized-module allowance, and the interrupted inbox-page fixture could terminate inside first-request lock retirement.

Remove the obsolete 2,028-line allowance, restoring the stronger default 2,000-line ceiling. Synchronize the existing interruption scenario after the first request releases its lock while the second request remains blocked; retain immutable first receipt and resumed second-read assertions. Production lock timing and recovery rules are unchanged.

Validation: 17 tests across the two complete related Python modules, 15 real TypeScript lock lifecycle cases, Ruff, and standard native premerge all passed. No active Goal data, private traces, budget increase or timeout increase is included. This repairs validation only; full release qualification remains separate.

…allowance

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)

动机

Release maintainers and the existing repository canary/pytest suites. 发布维护者的完整检查发现:chat_store 已降至 1923 行,但仍保留 2028 行特批;分页恢复测试在第一条回执落盘、事务锁尚未释放时杀进程,偶发命中半写 claim 的安全回收宽限。 删除过期特批,使该模块恢复默认 2000 行上限;在第二条请求被父进程阻塞时,等待第一条事务释放锁再中断,继续验证旧回执不可改写和剩余读可恢复。 17 tests across both complete affected Python modules, 15 real TS lock tests, Ruff and native premerge passed. No product permissions, model instructions, lock implementation or release promotion changes.

发布维护者的完整检查发现:chat_store 已降至 1923 行,但仍保留 2028 行特批;分页恢复测试在第一条回执落盘、事务锁尚未释放时杀进程,偶发命中半写 claim 的安全回收宽限。

改动思路

删除过期特批,使该模块恢复默认 2000 行上限;在第二条请求被父进程阻塞时,等待第一条事务释放锁再中断,继续验证旧回执不可改写和剩余读可恢复。 保留原始失败,按实际 owner 修验证边界。既有锁的 5 秒等待和半写 claim 的安全回收宽限均未修改。

具体改动

精确 head b93f65be0f43389a2ed7b45ff316df8ee55c5609,相对 be39ba5f994e2d7b458160beb2924b13116d1097 两个文件 +6/-4。规范是 docs/development/testing-and-quality.md,spec_revision=be39ba5f994e2d7b458160beb2924b13116d1097。Budget decisions:移除过期特批,2001 行新模块仍被拒绝。Real-path recovery:父进程锁住第二条请求;等第一条回执已落盘且其事务锁释放后终止子进程,再用真实 TS inbox 恢复读取。原第一条回执 bytes、第二条 read_at、输入 entry bytes 和 15 秒 deadline 检查全部保留。

关键内容讲解

生产锁退休需要 claim。在第一条回执刚 rename 完时杀进程,可能留下半写 claim,原恢复逻辑会安全等待其陈旧。这与本测试要验证的“完成第一条、在第二条阻塞时中断”不是同一故障点。新条件固定后者,没有提高超时或删除锁。默认模块上限也从特批 2028 收紧回已有 2000,未冻结 1923 的当前精确行数。

对主干的风险

两个完整 Python 模块 17 项通过,20.57 秒;真实 TS 文件锁生命周期 15 项通过。Ruff、精确范围 change-quality、标准 native premerge、语义/双语检查和 diff hygiene 均通过。本次 wait_for_ci=false,未查询、轮询或等待 CI。

最强反例是中断点收窄掩盖任意锁发布中断:本场景明确只断在请求事务之间,底层锁生命周期保留独立覆盖;不以它声称覆盖每个任意崩溃窗口。原空 claim、类型化 lock timeout 和过期特批失败仍保留在私有诊断中。未发布其路径、原始日志或本机工作上下文。本 PR 不证明完整发布或真实模型资格通过。

我的整体评价

复用事务锁完成信号,移除过期模块特批;没有恢复旧写入规则或增加统一框架。 仅验证修复,不承接发布晋级、模型指令或生产锁策略。

APPROVE,限 b93f65be0f43389a2ed7b45ff316df8ee55c5609。 bounded_refactor=applied:删除已无必要的特批,复用既有锁完成信号,未加框架或新状态。long_horizon=preserved,实际回执、恢复和权限 owner 不变;user_experience=preserved,没有新增配置、操作或确认。

English verdict: APPROVE — b93f65be0f43389a2ed7b45ff316df8ee55c5609. Remove the obsolete module allowance and synchronize the existing partial-page interruption between request transactions. All 17 related Python tests, 15 real TS lock cases, Ruff and native premerge passed. Production lock safety, grace periods, timeouts and receipt invariants remain unchanged. Full release/model qualification is separate.

@loopx-agent
loopx-agent merged commit 888e80c into main Oct 19, 2026
14 of 31 checks passed
@loopx-agent
loopx-agent deleted the codex/release-2-0-recovery-qualification branch October 19, 2026 21:00
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