Skip to content

test(ci): repair disposable fixtures and stale contract assertions - #6820

Open
loopx-agent wants to merge 6 commits into
mainfrom
codex/ci-disposable-runtime-fixtures-20261018
Open

loopx-agent wants to merge 6 commits into
mainfrom
codex/ci-disposable-runtime-fixtures-20261018

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Oct 18, 2026 •

Copy link
Copy Markdown
Collaborator

Nested pytest inherits the caller's default-home routes, and failed usage-observer assertions can leave a valid collection generation. Natural CI also exposed two stale contract fixtures: the checkpoint-retention digest consumer was missing from the pinned inventory, and receipt replay expected a later frontier to be adopted without a selected obligation.

This test-only proposal isolates nested homes, revokes consent and reaps owned children on failure, retains real detached transport and its diagnostics, removes the unused checkpoint-test import, and aligns the two contract fixtures. A guarded replay with no selected obligation stays empty; a fresh unguarded read still sees the current frontier. Production behavior, the existing 8-second observation bound and CI resource settings are unchanged.

Validation at 6227601ca442b6f5808710ea4de0d4077094d7fd, integrated with target main snapshot 55d6337485d4924f1cbb8b41e51a8c02687c332a:

  • Four complete Python modules, two workers with coverage: 75 passed, 0 skipped on macOS/Python 3.11; actual detached transport, failure cleanup, default-route ownership and real runtime retirement.
  • Both complete TypeScript modules: 39 passed, 0 failed, 0 skipped on Node 24.21. Both original fixture failures reproduced before correction.
  • A temporary in-memory mutation of the real replan owner incorrectly adopted the later frontier; the corrected replay oracle rejected it. Earlier real omitted-cleanup, child-exit and leak-ownership negatives remain covered.
  • Full configured Ruff and TypeScript typecheck passed, with each process exit and output checked separately. Five-path public scan, whitespace, DCO and bilingual RFC diff checks passed.
  • Exact-scope quality receipt cqr_ffed6faee9e00a3f7464 verifies. Standard premerge passed: five direct checks and three selected catalog smokes, no failures or manual holds.

The original natural CI failure remains historical failure; its complete log now identifies the two fixture mismatches above. This new head still needs independent review and natural hosted CI. The original hosted timeout/default-route writer, Linux/Windows and complete six-shard qualification remain open.


嵌套 pytest 的默认目录继承与观察测试失败后的采集清理不完整,会造成归属误判或遗留采集。自然 CI 还暴露两处过期测试:检查点保留模块已使用规范摘要校验,却未列入固定消费者清单;回执重入测试仍期待在未绑定 obligation 时接管后来出现的 frontier。

本提案只改五份测试文件:隔离子会话目录、失败时撤销采集并回收自身子进程、保留真实传输与诊断、移除未使用 import,并验证“受保护的旧回执不接管新 frontier,新的未绑定读取仍看见当前 frontier”。生产语义、原 8 秒界限及 CI 资源不变。

上述精确 head:四个完整 Python 模块以两个 worker 和覆盖率通过 75 项、0 跳过;两个完整 TS 模块通过 39 项、0 失败、0 跳过。旧断言在修复前复现;让真实 owner 错误接管新 frontier 的临时 mutation 被新断言检出。完整 Ruff、类型检查、公共边界、DCO、双语 diff、精确 CQR 与标准 premerge 均通过。相邻重构已体现在既有场景的两条互补断言,无新框架或兼容层。

旧自然运行保留失败,完整日志的原因现已明确;新 head 仍待独立评审及自然托管验收。原超时及默认路径实际写入者、Linux/Windows、六片并集/JUnit/覆盖率等完整资格尚未关闭。

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
@loopx-agent loopx-agent changed the title test(ci): isolate nested pytest route ownership and clear lint test(ci): isolate nested pytest and fence failed usage observers Oct 18, 2026
…untime-fixtures-20261018

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
@loopx-agent loopx-agent changed the title test(ci): isolate nested pytest and fence failed usage observers test(ci): repair disposable fixtures and stale contract assertions Oct 18, 2026

This branch has not been deployed

No deployments
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