Download Latest Version v0.5.57 source code.zip (1.8 MB) Google Add to Preferred Sources
Home / v0.3.1
Name Modified Size InfoDownloads / 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

Source: README.md, updated 2026-09-06