← Về thư mục
📄 / / profiles / r-and-d / raw_evidence / OpenAI4S / docs / TODO_zh.md

待办

English

本仓库已经决定要做、但还没做的后续事项。每条都写清"做完长什么样",好让读者 分得清"待办"和"忘了"。凡是负责人在代码库之外的——一份凭据、一个 registry 账号、 一台机器——都该记在这里,而不是记在一句没人会去 grep 的注释里。

已规划而非待办的工作在 docs/next-version-progress.md;那份文档是 v0.3 计划的事实记录,由 tests/test_progress_document.py 校验。本文件收的是线头。

发布

CI 与供应链

最近关掉的,记下来免得再查一遍

Action pin 的身份现在会在普通 pull request CI 中校验。action-pins job 以只校验、 不修写的模式运行按 commit 固定的 pinact-action,并启用 tag 核验;离线治理测试则继续 要求每个 workflow action 都带精确的 40 位 hex SHA 和 # vX.Y.Z 声明。真实 pinact 运行接受了当前工作树;把 Checkout 的 v7.0.1 SHA 错注成 # v7.0.0 的负对照则因 身份不匹配而失败。

CPython 3.14 现在既有 classifier,也进入 CI 测试矩阵,并安装 3.14 容器所用的 science extra。环境绑定夹具改为创建不带 pip 的真实虚拟环境,而不是裸解释器符号链接, 所以它对 sys.executable 的精确断言在 3.13 与 3.14 上都仍有意义。bring-up verifier 改用 fail-closed 的 lstat 检查,避开 3.14 中会吞掉探测错误的 Path.is_symlink() 行为;嵌套 xdist capture 测试也只显式加载其契约真正使用的插件。 最终锁定环境的 Python 3.14.4 完整套件结果为 8094 通过 / 23 跳过。

本地 kernel worker 现在会 spawn 进自己的 session,因此投向 daemon 进程组的信号 不再同时投向其下的每一个 cell——这正是 Linux + bubblewrap 本来就没有的那处分歧。 它是连同两件让它成为改进而非交易的事一起落地的:worker 的进程组在 spawn 时就被 记下、kill 改走既有的停止阶梯,从而能收掉 cell 自己起的子进程(这在以前做不到, 因为 worker 的组就是 daemon 的组);以及 openai4s run 装上了一个 SIGINT 处理器,做终端那个组级 Ctrl-C 从前所做的事。

tests/test_mcp_lifecycle.py、tests/test_local_jobs.py、 tests/test_cluster_session_production_wiring.py、 tests/test_orchestration_routes.py、tests/test_telemetry_transmission.py 与 tests/test_cell_watchdog.py 里的墙钟预算,现在都改成等待条件而不是等钟。 值得记下原因,因为当初标出它们的那次审计对了一半:它们没有一个在 CI 里红过, 而其中两处根本不是 flake,而是静默的覆盖流失——sleep 太短时测试照样是绿的, 但它走的恰恰是它被写出来要避开的那条路径。