chore(发布): 准备 0.7.14 - #66
Merged
Merged
Conversation
未 push 的开发线不再把 next/start 卡成 needs_repair;task close 拒绝符号链接工作树;dry-run 与复核拒绝按契约执行。
task loop/daemon 在复核失败时非零退出;事件追加失败标记 overlay 不完整;merge --dry-run --push 改为真实预检。
把 feat/dev_0814 上的控制面诚实性与任务关闭收口收进 0.7.13。 版本停在 0.7.x,不改 0.7.12 历史,不发明新功能。
next / Console 在仅缺 origin/<branch> 时保持 ready;测试改为断言 WARN 契约。
doctor() 原先对每个 (开发线, 仓库) 组合串行发约 8 条 git 命令。慧衣橱工作区
(5 个仓库 × 13 条开发线)一次需要 399 次子进程调用、耗时 5.6s;首页菜单与
开发线准入闸门各跑一轮,进一条开发线约 11s。
改为按仓库预取两份观测:
- git worktree list --porcelain 一次取回该仓库全部 worktree 的路径、HEAD 与
分支,取代逐 worktree 的 branch --show-current、rev-parse HEAD 以及成对的
rev-parse --git-common-dir。出现在这份清单里本身就是共用 Git 公共目录的
证据。
- git for-each-ref refs/heads refs/remotes/origin 一次取回每个本地分支的上游
与每个引用的对象 ID,取代逐开发线的 show-ref、rev-parse origin/<branch> 与
rev-parse @{upstream}。
worktree 不在清单里时回退到原有的单次探测,"missing worktree" 与
"unexpected Git common-dir" 两种诊断仍可区分。ReadBudget 的字节计费与 deadline
照常穿透,观测点由每条开发线移到每个仓库。
慧衣橱工作区的调用次数由 399 降到 16,耗时由 5.61s 降到 0.30s;四个真实工作区
的 findings 列表(含顺序)与改动前逐条相同。
测试故障注入点 _raise_deadline_on_worktree 同步扩展为「路径含 versions/ 或为
git worktree 调用」,新旧两版代码均通过,被测不变量未变。
把版本号推进到 0.7.14,并同步所有与版本绑定的断言与资产: `pyproject.toml`、`uv.lock`、bridge skill 的 client version,以及 `test_cli`、`test_console_artifacts`、`test_release_gates` 中的版本断言。 CHANGELOG 记录本版唯一的对外改动:doctor 改用批量 Git 观测。 `uv lock` 在更新项目版本的同时,把 `importlib-metadata` 对 `zipp` 的依赖 标记收紧为 `python_full_version < '3.14'`。这是本机 uv 重解析出的上游 metadata 修正,没有任何包版本变化。 本地锁定验证:`uv lock --check`、`uv sync --locked --all-extras --dev`、 `ruff check src tests experiments`、`python -m build`、 `twine check --strict` 全部通过。
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Dandre126
added a commit
that referenced
this pull request
Sep 11, 2026
main 上的 #66 以 squash 方式合入,本分支与 main 再次同容不同史。合并前 已确认 git diff origin/main HEAD 只含本分支尚未发布的 4 个文件,main 不 含本分支缺少的内容;冲突解析取本分支侧,合并后树与合并前 HEAD 相同。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
本版唯一的对外改动
doctor()改用批量 Git 观测。原先对每个 (开发线, 仓库) 组合串行发约 8 条 git 命令,一个 5 仓库 × 13 开发线的工作区一次需要 399 次子进程调用、耗时 5.61s;首页菜单与开发线准入闸门各跑一轮。改为按仓库预取两份观测:
git worktree list --porcelain一次取回该仓库全部 worktree 的路径、HEAD 与分支,取代逐 worktree 的branch --show-current、rev-parse HEAD,以及成对的rev-parse --git-common-dir。出现在这份清单里本身就是共用 Git 公共目录的证据。git for-each-ref refs/heads refs/remotes/origin一次取回每个本地分支的上游与每个引用的对象 ID,取代逐开发线的show-ref、rev-parse origin/<branch>与rev-parse @{upstream}。worktree 不在 anchor 清单里时回退到原有的单次探测,
missing worktree与unexpected Git common-dir两种诊断仍可区分。ReadBudget的字节计费与观测 deadline 照常穿透,观测点由每条开发线移到每个仓库。验证
输出等价性:在 4 个真实多仓库工作区上,用改动前后的两棵源码树跑同一个
doctor(),findings 列表(含顺序)逐条相同。测试:
Ran 1123 tests。与同一 HEAD 上跑出的改动前基线逐条对比,失败集合完全相同,没有新增失败。基线上既有的两条环境敏感失败(test_inspect_timeout_reaps_hung_descendants、test_legacy_board_status_stays_on_protocol_id)与本改动无关。tests/test_control_plane_read_budget.py的故障注入点_raise_deadline_on_worktree同步扩展为「路径含versions/或 为git worktree调用」。原因是 doctor 现在通过 anchor 批量观测开发线,不再逐个读 worktree 路径,旧判据打不中。这条注入器在改动前后两版代码上都通过,是放宽而非削弱,被测不变量(超时后保留已完成的 FAIL、追加 deadline finding、不产生PASS line:*)未变。0.7.14 发布准备
按
docs/publishing.md同步了全部 7 处版本绑定:pyproject.toml、uv.lock、CHANGELOG.md、src/dyro/bridge/skill/SKILL.md的 bridge skill client version,以及test_cli、test_console_artifacts、test_release_gates中的版本断言。本地锁定验证全部通过:
uv lock在更新项目版本的同时,把importlib-metadata对zipp的依赖标记收紧为python_full_version < '3.14'。这是 uv 重解析出的上游 metadata 修正,无任何包版本变化。合入后需要在
main的对应 SHA 上打v0.7.14、创建 GitHub Release,并在pypiEnvironment 完成人工批准。