Skip to content

fix(ci): stabilize Python 3.15 quality and recovery checks - #247

Open
LIghtJUNction wants to merge 3 commits into
mainfrom
fix/python-quality-home-seo
Open

LIghtJUNction wants to merge 3 commits into
mainfrom
fix/python-quality-home-seo

Conversation

@LIghtJUNction

@LIghtJUNction LIghtJUNction commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

Problem

The exact main head a97c9c40 fails four CI groups:

  • Python quality: Ruff/format drift in deploy/check_home_seo.py
  • Issue recovery regressions and Recovery safety: Python 3.15 treats pytest-asyncio's unset fixture-loop-scope warning as an error
  • Rewrite contracts: restored applications retain a certificate validator bound to the pre-restore wall clock, so fixed-date backup proofs eventually fail as expired

Fix

  • apply Ruff 0.16.9's canonical import ordering/formatting and make the intentional retry counter explicit
  • configure the default async fixture loop scope and give the session-scoped async installation fixture a matching session loop
  • give CertificateValidator a forwarding clock so replacing Application.clock after restore takes effect immediately

No quality gate, assertion, timeout, or compatibility check is weakened.

Local verification

  • uvx --from uv==0.12.20 uv sync --extra dev --no-install-package pyscard --no-install-package yubikey-manager — passed
  • .venv/bin/ruff check . — passed
  • .venv/bin/ruff format --check . — 1001 files unchanged
  • .venv/bin/python -W error -m compileall -q src tests conformance scripts — passed
  • .venv/bin/pytest --collect-only -q tests/test_complete_recovery_proof.py tests/test_live_agent_space.py tests/test_internet.py — 48 tests collected without the Python 3.15 warning
  • git diff --check — passed

The container cannot install libpcsclite-dev or PostgreSQL because privileged package setup is blocked, so the database-backed recovery tests are verified by the repository's pinned GitHub Actions environment.

Copilot AI balanced review requested due to automatic review settings October 23, 2026 01:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-10-23T01:34:05.428678Z 692ec85 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@LIghtJUNction LIghtJUNction changed the title fix(ci): satisfy Python quality gate fix(ci): stabilize Python 3.15 quality and recovery checks Oct 31, 2026

Copy link
Copy Markdown
Member Author

复核 2026-11-05 的当前状态:本 PR head 70007351fe1872899b7c623b99169e88a47107a6 关联的 13 个 workflow run、21 个 check run 均已完成且为 success;没有待处理的 inline review thread。

这里的 PR CI 已覆盖当前 main:Python quality 日志确认实际检出的是合成提交 5d3af6e01e72cfa33e04a07a0724b83cb6eac75a,即把该 head 合入 main@527dd3d4d7c8d66c09deb77f4910f5000c618fef。证据:quality job、完整 contracts、recovery、issue recovery。

当前 main 自身仍有四组失败:quality artifact 记录 deploy/check_home_seo.py 的 I001/B007/B904;两组 recovery 因未设置 asyncio_default_fixture_loop_scope 中止;contracts 的三个恢复用例报 certificate_expired。这些原因分别对应本 PR 的格式/异常链修正、显式 loop scope、动态 clock 转发。无需另开重复修复。

以上是现有 CI、产物和补丁的复核,没有重跑或修改代码。现有自动 review 摘要针对旧 head 692ec85,不能当作最新 head 的 review;也未执行批准、合并或部署。

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