| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-09-06 | 25.1 kB | |
| v0.3.1 source code.tar.gz | 2026-09-06 | 647.5 kB | |
| v0.3.1 source code.zip | 2026-09-06 | 722.2 kB | |
| Totals: 3 Items | 1.4 MB | 0 | |
v0.3.1
Changelog
Features
- Enhancement: Release task scope 从 milestone 自动推导(替代手动列出) (Issue [#253]; PR [#337])
- Enhancement: Release task 应最后处理——兜底扫描,不与其他 delivery 抢槽位 (Issue [#255]; PR [#346])
- Runner 自我健康巡检:主动发现连续失败、反复崩溃与自愈死循环,不再依赖人工翻日志 (Issue [#266]; PR [#333])
- Enhancement:milestone 做完后自动前进到下一个版本,消除发布后的人工配置断点 (Issue [#273])
- 机制:per-run agent dir 支持插件(packages)过滤,用户级 MCP 插件不得进入无人值守会话 (Issue [#312])
- orbi.build quickstart omits prerequisites (uv, Pi + provider, gh auth login) and external single-repo mode (Issue [#342]; PR [#374])
- Release task:发布 v0.3.1 并完成远端交付对账 (Issue [#379])
- no_ready_issue 时自动给 release ticket 补 ai-ready —— 开发队列空即触发发布,消除人工打标断点 (Issue [#385]; PR [#388])
Reliability and recovery
- Bug:release 门禁遇到 CI in_progress 直接失败,导致每次发布必然先 ai-blocked 一次 (Issue [#268]; PR [#328])
- resume 未覆盖 run 失败/回收后的重领:issue 反复以新 run_id 从头重跑(#302 已连续 5 个 run_id) (Issue [#325]; PR [#375])
- implement 失败现场被销毁:pi exit 1(空 stderr)→ ai-blocked 后 worktree/session 即删,无法取证(#352 案例:coverage 8m12s 后静默退出) (Issue [#355]; PR [#362])
- Release 门禁 1 碰到未完成交付应可恢复等待,而非烧成终态 ai-blocked —— 让 release ticket 可提前就位(对称 release_waiting_ci) (Issue [#381]; PR [#386])
- CI tests fail on release commit: 3 tests hardcode /usr/bin/python3 but CI resolves python via shutil.which (blocks v0.3.1 release) (Issue [#396]; PR [#400])
- merge_gate 对 mergeable=UNKNOWN 直接 fail:in-session push 后必撞 GitHub 异步计算窗口,5 轮耗尽转 ai-blocked (Issue [#398]; PR [#417])
Deployment and operations
- 启动门禁把 repo_dir 当 orbi 可编辑安装源:让『单仓库 X(≠orbi)』作为交付仓库需解耦 CLI 自更新与 checkout (Issue [#330]; PR [#334])
- orbi setup crashes with a raw traceback when reporting the disabled surplus timer instance (systemctl is-enabled exit 1) (Issue [#339]; PR [#347])
- Non-JSON preamble on gh stdout produces an opaque 'cannot parse gh repo view output' setup failure (Issue [#340]; PR [#369])
- Optional model-proxy health-check failure is logged as ERROR command_failed in setup output (Issue [#341]; PR [#368])
- Missing/empty provider API key crashes runner, setup AND doctor with a raw traceback; doctor should report it as a finding instead (Issue [#343]; PR [#364])
- orbi setup does not scaffold or report model-provider config: fresh setup ends 'ok' with no pointer to orbi.toml / pi-providers.json / .orbi/env (Issue [#344]; PR [#373])
- orbi setup validates the provider key against the process env only, ignoring .orbi/env — the documented step 4→5 flow fails verbatim (Issue [#348]; PR [#351])
- Dirty deploy home blocks the ExecStartPre fast-forward with a raw git error: no structured journal line, no troubleshooting entry, self-update hard-blocked by any local edit (Issue [#352]; PR [#363])
- CI: actions/checkout@v4 and actions/setup-python@v5 trigger Node.js 20 deprecation warnings (forced to Node 24) (Issue [#353]; PR [#371])
- pr_state polls the PR against the deploy home's repo (no --repo, implicit cwd): external single-repo mode deterministically crashes wait_for_delivery after PR creation (Issue [#356]; PR [#359])
- 把 uv tool install / cp example.toml 收进 orbi setup,精简网站安装命令 (Issue [#372]; PR [#378])
- install-units 静默覆盖既有部署的 systemd unit(同机重装无任何警告) (Issue [#382]; PR [#394])
- Release gate failure re-raises after blocking issue, crashing orbi@1.service (exit 1) — inconsistent with delivery error path (Issue [#397]; PR [#418])
Observability
- progress PATCH/POST 把整份 body 打进 journal(~30s 一条巨行)→ 用 log_command 收敛为精简行 (Issue [#326]; PR [#390])
Documentation
- release 状态机补一步:发布后同步文档站 Release notes(现停留在 v0.1.2) (Issue [#275]; PR [#323])
- document: 在线模型下 Pi 启动偶发卡死 15 分钟(根因:pi-mcp-adapter 的 keyring D-Bus 初始化在 systemd 上下文挂起) (Issue [#311]; PR [#332])
- 优化 v0.2.0 release notes:按主题整理为可读 changelog(docs + GitHub Release) (Issue [#324]; PR [#392])
- 补齐『外部单仓库模式』文档:#330/#334 引入的 deploy_home 解耦需要覆盖安装/setup/配置/运维 (Issue [#335]; PR [#336])
- Docs: 英文化 README 作为默认版本,中文版迁移至 README.zh-CN.md 并互链 (Issue [#354]; PR [#370])
- Docs: remove the stale self-delivery PR counts (106/99) from README (Issue [#412]; PR [#419])
Bug fixes
- CI:GitHub Actions 失败时自动创建去重的 bug Issue (Issue [#106]; PR [#329])
- Bug:release 成功后把 Release URL 当 PR URL 解析,ValueError 导致 Runner 崩溃退出 (Issue [#269]; PR [#271])
- Bug:active_milestone 失效时 Runner 静默空转,应 fail fast 并列出候选 (Issue [#270])
- milestone 做完后自动前进,失效时 fail fast —— 触发点统一为 no_ready_issue (Issue [#274]; PR [#376])
- Bug:.gitignore 漏了 coverage.json,覆盖率门禁产物卡住交付(第四次同类问题) (Issue [#301]; PR [#310])
- 根治 dirty-worktree 门禁:orbi 自有契约产物源头迁出交付树(不再逐个补 .gitignore) (Issue [#302]; PR [#327])
- Bug:pi_providers 的 apiKey $VAR 引用未展开,第三方 provider 静默挂起无法使用 (Issue [#303]; PR [#304])
- Runner 停在 open 但不可领取的 milestone 上时静默空转(#274 未覆盖的第二种失效) (Issue [#320])
- Health watchdog files Runner crash-loop alerts as ai-ready tasks in the delivery repo instead of routing orbi bugs to the orbi repo (Issue [#345]; PR [#357])
- Doubled issue announcements: scene comment and publisher milestone both post at 'PR opened' and 'started' (same payload, 1s apart) (Issue [#366]; PR [#367])
- ci_failure_triage.py create_issue 不带 milestone:自动创建的 CI failure ticket 全部没有当前 milestone (Issue [#399]; PR [#403])
- CI failure: tests on PR [#400] (pull_request) (Issue [#401])
- Runner 交付合并不检查 GitHub CI 状态:PR head CI FAILURE 仍被 merge,main 被打红(PR [#400] 实证) (Issue [#404]; PR [#407])
- CI failure: tests on PR [#403] (pull_request) (Issue [#405])
- [#399] 实现偏差:PR [#403] 在 workflow 硬编码 ORBI_ACTIVE_MILESTONE,且缺 runner 每 tick 同步 variable —— 闭环不成立 (Issue [#406]; PR [#416])
- CI failure: tests on PR [#407] (pull_request) (Issue [#408])
- merge gate:等待 CI checks 完成后轮询 mergeable(UNKNOWN 竞态的完整修复,扩展 [#398]) (Issue [#409]; PR [#410])
-
Delivery CI 门禁无法区分 main 既有红与 PR 引入失败:无辜 PR 烧 5 轮 review-fix 后转 ai-fix-needed(#409/PR [#410] 实证) (Issue [#413]; PR [#414])
-
tag:
v0.3.1 - release commit:
98fb55c7843bdf7938d9a0fd9ee645431c05d154 - release task: Issue [#379]
Scope (verified item by item)
- PR [#5] merged (mergeCommit=af0c662b9c9accd38fbee66493fc35bbcf60d0c5)
- PR [#6] merged (mergeCommit=43c56a927bf4030f60128a4df46792b89616a056)
- PR [#7] merged (mergeCommit=15bde38857380000b0acffe048da42f0f02c6623)
- PR [#8] merged (mergeCommit=9ea063a7003c14caece892b6810837b7ad0091d9)
- PR [#9] merged (mergeCommit=c933551cd9083efd2f8a37b82529eb600e66b714)
- PR [#10] merged (mergeCommit=fb8ead25cdd960b38c546d8f134672f0a14cb19f)
- PR [#17] merged (mergeCommit=c887d1392f4fe47f9084c0fd75e1fb677cc8d14d)
- PR [#26] merged (mergeCommit=8f304a52538e97e7a5595e7baf6c6bc82d181ac7)
- PR [#28] merged (mergeCommit=a08b617fdbdc76f48cbbb476f3c87731be73d822)
- PR [#29] merged (mergeCommit=f26f987deffbfa094eee84aa03de9715ea24526c)
- PR [#35] merged (mergeCommit=9530c7c4815932089f6108010a455d657834e8ea)
- PR [#36] merged (mergeCommit=a0eb92aff07dc83640f1808d3e483aac96ba756b)
- PR [#37] merged (mergeCommit=aff4113068a5601cea87830f5422f55ad95e3e41)
- PR [#38] merged (mergeCommit=44a71440cbda53bc8fd78c8e6f1f41711a628d4a)
- PR [#42] merged (mergeCommit=f42c35ebe2f5206ff0c1398f60c86cc16061b2c3)
- PR [#43] merged (mergeCommit=b7fab34679608ff3a871db0ab880b469a9c44aff)
- PR [#44] merged (mergeCommit=106756bf80c8b3f900bce1211397518f1345c620)
- PR [#46] merged (mergeCommit=63577240b80567f952ac028c0781fb3663a60c89)
- PR [#47] merged (mergeCommit=a93bf6093c10ef0b4ea6cde622a8c19756fcc31c)
- PR [#59] merged (mergeCommit=fe10b72aca1aa39f51f5c08ca22b65b7c4190602)
- PR [#61] merged (mergeCommit=49cb2540e68f376a5405b89b46aff731049bb02e)
- PR [#62] merged (mergeCommit=74ff0bc4529a5ac983ca4c55250ce8f98ff22bf6)
- PR [#63] merged (mergeCommit=ca17b2d693f776eb4a5999bd9b79f3a58b11a374)
- PR [#68] merged (mergeCommit=799b04b161464c0139ad03ebcc76330819b4865d)
- PR [#69] merged (mergeCommit=133786e391a3eec9c23f73c5172f6dedd6faea4c)
- PR [#84] merged (mergeCommit=fd5b6e82324a15f752c761e2e46c2caac55b5642)
- PR [#85] merged (mergeCommit=d76045a734de717a1b8edfdd1e26a3f021919fd1)
- PR [#86] merged (mergeCommit=468fdd4e1251f1b497136ac232d97551d04bdf30)
- PR [#87] merged (mergeCommit=724892763f90eaa166ee20f26157335b51111222)
- PR [#88] merged (mergeCommit=b9a7e1fe9021629bb14f2b36ea1302d818a5981c)
- PR [#92] merged (mergeCommit=f6c065e8ec7ec53d7e9fb99e6475c1bc16c2dabf)
- PR [#96] merged (mergeCommit=13e42929452b2043b15d470e03b03a49070119d7)
- PR [#99] merged (mergeCommit=b2268239bd38b38cd12ee7e6428ee97a9168c5bb)
- PR [#102] merged (mergeCommit=7f75c65e59058be41b272060ce8b16b37e56daed)
- Issue [#106] closed
- PR [#107] merged (mergeCommit=e2cc6dca5b66e5a6b16df38fc9819a2c13a78fa7)
- PR [#109] merged (mergeCommit=678c72f91ffc18f8bf79c09a6ccbec28c1f57d0f)
- PR [#110] merged (mergeCommit=6e793e54b5cf830f84ce3311e468a62f1210ebf5)
- PR [#111] merged (mergeCommit=06780d492087ec0ddabfb47f20daa1a2ea53578a)
- PR [#112] merged (mergeCommit=e3f9fb63f94104c3572a93b99769aa6f55905126)
- PR [#113] merged (mergeCommit=a58e2d5c7de9d5dce220be211d527b79fe0b576b)
- PR [#115] merged (mergeCommit=c1d9feb8dbd32bddbab778ecbf2b4026cf387443)
- PR [#120] merged (mergeCommit=f7fb0bfca84e178b0a45b0469399d943827ea78f)
- PR [#121] merged (mergeCommit=0f3038ef8c292c03d6d57e33fe172fe04516a7a0)
- PR [#122] merged (mergeCommit=e321bbb7908edc61c5e39762d2748cd635676deb)
- PR [#123] merged (mergeCommit=df5749e8f7aa945fa8b40171abcdbdbc3b090aba)
- PR [#124] merged (mergeCommit=87ec2c4a904caa834fce697def06d7d2bcd9579b)
- PR [#125] merged (mergeCommit=ec9231be109c00c9261369453f8cb75334b51c45)
- PR [#127] merged (mergeCommit=abe48f1e64aa6fa2e76633023df5b52141b35082)
- PR [#129] merged (mergeCommit=15dbb5d5f1f689a16c411eba975d3215b20e0f27)
- PR [#130] merged (mergeCommit=bc5aed78821a8fbcafde296cd5189709cf5b1412)
- PR [#132] merged (mergeCommit=5a204b48a8e7473cab19f805736920d930a4866f)
- PR [#141] merged (mergeCommit=d09ae86d4e85b00ab6e151f94e64354414a61c04)
- PR [#144] merged (mergeCommit=f07ca908e1be4721b701b1a909a509517436ba44)
- PR [#145] merged (mergeCommit=b67ef07058eecd36d6be9b3c685f7575d0a772ad)
- PR [#147] merged (mergeCommit=691ca632255eaf109971d2378bbf03d7c3335369)
- PR [#148] merged (mergeCommit=e784bb805afbf05db2b13088cfb62b68f687f0a9)
- PR [#150] merged (mergeCommit=e0cf48d6755a2c27b53780c58254c464391e6eba)
- PR [#151] merged (mergeCommit=45a4c93e64f1fa88f2846b294749da30aefcb879)
- PR [#153] merged (mergeCommit=ec47b4608d0b05f12eaea970ee2854cf02c9cb3f)
- PR [#164] merged (mergeCommit=8cf5d43ed25d3c68aa6957b066268ade9b553279)
- PR [#165] merged (mergeCommit=001f280d6838de318d8b1548a810af61f7848925)
- PR [#166] merged (mergeCommit=d5244fce5f65a25adb67dddfbe202fbf272e611a)
- PR [#167] merged (mergeCommit=6f3e1d507dffdad95f4638b46bfc89d8cf256e37)
- PR [#170] merged (mergeCommit=75ce22fa0fbc7734c6ed74e032bdb415b7ed8093)
- PR [#174] merged (mergeCommit=920a4b3c0927c2ae202a0f79b6941bc5b0bc5079)
- PR [#177] merged (mergeCommit=5a5929f7a03923f1f60c18bbfa86eeeff154ce63)
- PR [#182] merged (mergeCommit=6420338b6cda19e201d2d073326c40faf0717508)
- PR [#184] merged (mergeCommit=aa0fff1e2ebd84d6f1594c5b19ccca6216053002)
- PR [#185] merged (mergeCommit=7ea30492899c0057ebd8e18163b06ddaaaea8011)
- PR [#187] merged (mergeCommit=70ee9dcfc0a1df5f1999957317e456bb3161f974)
- PR [#188] merged (mergeCommit=239e7e161aa19da5cda2a0855f2013a17d019ddb)
- PR [#190] merged (mergeCommit=5dd7b7c3197f00f1aa0384a95b56392fc6767f27)
- PR [#193] merged (mergeCommit=4b3212b9643961ec7c3a9f168f3137582d634bb4)
- PR [#195] merged (mergeCommit=6f25005c3dd6630793c7ead8a8c5375c11639ecd)
- PR [#196] merged (mergeCommit=09e02b3e4441067084714e62699094c3d9791676)
- PR [#199] merged (mergeCommit=f87716238786f5e50089d0054ad8a27c675a0530)
- PR [#200] merged (mergeCommit=9fce945402f9aa66b9eb5ec14fa6c29e48d2baf9)
- PR [#203] merged (mergeCommit=f5dd821dc2cf022923629481bc04a619dfd43126)
- PR [#206] merged (mergeCommit=83acfe29084077308c84fb5aae6fcd19718ba0eb)
- PR [#207] merged (mergeCommit=b720e9584ffe5c487939e541b2c99f3dc6ee5f4a)
- PR [#208] merged (mergeCommit=4c4314b543bd54affbb8755bf9d6318e3012fe76)
- PR [#210] merged (mergeCommit=42109f6ca116c204c39c1c3c0cfd13c809eacd76)
- PR [#211] merged (mergeCommit=717b5552004a746f4761c55b6df6f3d01c5fa68b)
- PR [#212] merged (mergeCommit=dcec690d9f809873dff6e6e7116341e1b9bb62fc)
- PR [#213] merged (mergeCommit=2277aed8de6a9cf884dee4b878a4cdaf211e17f9)
- PR [#220] merged (mergeCommit=9d241ef719ba83cd68ac5161d25e69c39d100406)
- PR [#221] merged (mergeCommit=5f76582f7c261b92b3e53e2ca12f15de25717f1e)
- PR [#222] merged (mergeCommit=a604e416ae4fad1e2dcdba035b2490c069d83cfa)
- PR [#223] merged (mergeCommit=0c45f57d96c6f55add1346602df930743f67195f)
- PR [#224] merged (mergeCommit=71c832489eae00157b16576068857507f135c329)
- PR [#229] merged (mergeCommit=e4f2178d1d80f17c07685e9d7ac2cf4a20c93470)
- PR [#230] merged (mergeCommit=156cb374f9a94315579fd112b3e06798dcfe0ba4)
- PR [#236] merged (mergeCommit=7853b059761d36335889fd9199c99fad70a3dd60)
- PR [#237] merged (mergeCommit=7694f4afe2af04d89b35e66b195e7d2f669ac498)
- PR [#238] merged (mergeCommit=35cbef1b7308d6a746801c42eb9fce68f095984e)
- PR [#240] merged (mergeCommit=397a8c2671f6c8446a8dc56f246e79ac5f3ceafe)
- PR [#242] merged (mergeCommit=32b4a0f491c07bb91b124e0bb8184173d1ec4549)
- PR [#243] merged (mergeCommit=04edf77e1d7d72a54f723a0f6a6c3b496655eec0)
- PR [#244] merged (mergeCommit=5935c81988ecf088522d5d7d8fe21971629dcde1)
- PR [#245] merged (mergeCommit=bd6013e62bd392227afeaec97666458de1ae5e49)
- PR [#247] merged (mergeCommit=7315c99e4f69d961cecd1c853ab671db49c801f0)
- PR [#250] merged (mergeCommit=2cd32005fcc433f782397333d1e6a03ae45c3bc1)
- PR [#251] merged (mergeCommit=37e33dc0733b6e02eef7c48f79ddfe3a009c9484)
- PR [#252] merged (mergeCommit=09dd7f69a6f26c61f9446d8b57405ebbb8cc191d)
- Issue [#253] closed
- Issue [#255] closed
- PR [#260] merged (mergeCommit=37144efc26f21701cc324c56b3b230d6882ec472)
- PR [#261] merged (mergeCommit=bbe95b966dd6b233f9073450d09e895603a0f0c6)
- PR [#265] merged (mergeCommit=3c6368bf19ef7048a2ccb18fbc60b59e75c49a14)
- Issue [#266] closed
- PR [#267] merged (mergeCommit=2c11a3f61b918f1faa3b81760d871cb0741733d7)
- Issue [#268] closed
- Issue [#269] closed
- Issue [#270] closed
- PR [#271] merged (mergeCommit=2adac1425c7ecd0f1f2e3db7507b91867ddc505c)
- Issue [#273] closed
- Issue [#274] closed
- Issue [#275] closed
- Issue [#301] closed
- Issue [#302] closed
- Issue [#303] closed
- PR [#304] merged (mergeCommit=dafdb038f839c01ac4bdc7d312223bc54f3159d7)
- PR [#310] merged (mergeCommit=2faf7419c0ed40a6ec18c1d5213e14d4e5cdc8fa)
- Issue [#311] closed
- Issue [#312] closed
- Issue [#320] closed
- PR [#323] merged (mergeCommit=e70df74e65d3841074443ff137a3f0e1047c6947)
- Issue [#324] closed
- Issue [#325] closed
- Issue [#326] closed
- PR [#327] merged (mergeCommit=d184dd3bb0e8aa35acb65125a8da967730d6b7eb)
- PR [#328] merged (mergeCommit=c96e88067ca7d834b0972920b45d65858cfc9ccf)
- PR [#329] merged (mergeCommit=0bc1fb437d562fd564a495b959bc69a21a4a5702)
- Issue [#330] closed
- PR [#332] merged (mergeCommit=bfb10fb2acd00c77c8c360cdd6d3e6d9771025db)
- PR [#333] merged (mergeCommit=5f54067f2c198979b08dd72f8869a1c821fa10e1)
- PR [#334] merged (mergeCommit=7c12e30a60b66c1b74c1486a6f2701605c980e59)
- Issue [#335] closed
- PR [#336] merged (mergeCommit=1c94211f09158aa7a7a64fa2492fd607936976a9)
- PR [#337] merged (mergeCommit=927ec83269550cf2f95e33591cea718bef74292c)
- Issue [#339] closed
- Issue [#340] closed
- Issue [#341] closed
- Issue [#342] closed
- Issue [#343] closed
- Issue [#344] closed
- Issue [#345] closed
- PR [#346] merged (mergeCommit=26978eee27a249d55c71888c2ff2274b894bf5c6)
- PR [#347] merged (mergeCommit=a9f58c5a864d3500adfdda9528268e0c8ec669ec)
- Issue [#348] closed
- PR [#351] merged (mergeCommit=483752683c869da55cf4c45e003e098b1d4f90d0)
- Issue [#352] closed
- Issue [#353] closed
- Issue [#354] closed
- Issue [#355] closed
- Issue [#356] closed
- PR [#357] merged (mergeCommit=8d5c381234ffabbc557f3bbbea3f9d1520c419b3)
- PR [#359] merged (mergeCommit=cec5cb7e7bac1bcabb37ecbc49e36862a12db166)
- PR [#362] merged (mergeCommit=7eddb91466ae55da591f16d607b6adb18f28af61)
- PR [#363] merged (mergeCommit=961642e8a0ca00ad69bec13a71060161e6833885)
- PR [#364] merged (mergeCommit=b8ce2658298f5c5ed50c645e56ce87d242841ea0)
- Issue [#366] closed
- PR [#367] merged (mergeCommit=18a49c7a65af5f971597cc864b15b4c42a949d05)
- PR [#368] merged (mergeCommit=b3579fe90a3c6af894e1badc21742f056d7fe1c8)
- PR [#369] merged (mergeCommit=2f4b90498da8452da81bef036c48894d2baa384d)
- PR [#370] merged (mergeCommit=2784cf3405141ed8188899af68367945cdc54999)
- PR [#371] merged (mergeCommit=fa50af42c0bb90d214ce44e842e4d22d7ac36e2b)
- Issue [#372] closed
- PR [#373] merged (mergeCommit=e427f5d78fabe0307d962eb98dbde6066e9fd2b3)
- PR [#374] merged (mergeCommit=e82a79b0e9401c21eb0f3e5ccc1ebda1a8797291)
- PR [#375] merged (mergeCommit=c0dc3edd8e48a77b622cca77120bfa29b2566fd3)
- PR [#376] merged (mergeCommit=c63afb4fdd3088dc5499ce67fc875c7f2fe7759c)
- PR [#378] merged (mergeCommit=6010dd3570793d3b16e172cc6bdfa231658a7566)
- Issue [#381] closed
- Issue [#382] closed
- Issue [#385] closed
- PR [#386] merged (mergeCommit=d2e8b04d11cf034a05a31d350ef5d137a923a293)
- PR [#388] merged (mergeCommit=1f6ec8bba64f922f8f8a9964f0d9aadeeb5beccc)
- PR [#390] merged (mergeCommit=3dd0d598f0cfcc79d7fe7bd497c635bb17aa282e)
- PR [#392] merged (mergeCommit=830f4b15476b88463b09d730f9f13d2ed6e71b72)
- PR [#394] merged (mergeCommit=386ebba54ea48ac1b6f1d45d4b382a38d52a5f56)
- Issue [#396] closed
- Issue [#397] closed
- Issue [#398] closed
- Issue [#399] closed
- PR [#400] merged (mergeCommit=7a016a6c5c67424517aab5c1137cd07b27728ff2)
- Issue [#401] closed
- PR [#403] merged (mergeCommit=806e66e6a524fc38125701c38e5e850f0be17364)
- Issue [#404] closed
- Issue [#405] closed
- Issue [#406] closed
- PR [#407] merged (mergeCommit=2e223debfbbac4da2d8591bdce1bf196d772a07f)
- Issue [#408] closed
- Issue [#409] closed
- PR [#410] merged (mergeCommit=72b366a6f80cd6abcaf8a034f64ecea3e530eabc)
- Issue [#412] closed
- Issue [#413] closed
- PR [#414] merged (mergeCommit=08e2aa1325d8681d882c6a60218db30e428e63a6)
- PR [#416] merged (mergeCommit=c9dd916c5ee5a73d55ed8d2d3865e5d59b0947f7)
- PR [#417] merged (mergeCommit=20566ea23ab75f3cde475ac3a0366120e39d7fcf)
- PR [#418] merged (mergeCommit=bb40ddca2ffecae7433b24a2e89433585e412ae7)
- PR [#419] merged (mergeCommit=98fb55c7843bdf7938d9a0fd9ee645431c05d154)
- NOT released (still open in milestone v0.3.1): open Issue [#420] 根目录 3 个 CI/gate 脚本(ci_failure_triage.py / coverage_gate.py / diff_coverage_gate.py)移入 tools/ 并同步更新所有引用
- NOT released (still open in milestone v0.3.1): open Issue [#379] Release task:发布 v0.3.1 并完成远端交付对账
Pre-release gates
- no open Issue carries ai-in-progress / ai-pr-opened / ai-fix-needed
- CI on the release commit: 3 check(s) all success/neutral/skipped (waited 180s for pending checks)
- no open PR targets main
Tests
- declared test command and tiered coverage gate (line/branch >= 95%, Issue [#234]) passed in a clean worktree at [98fb55] (timeout 1800s)
run_id=50c4c4d5