Download Latest Version v0.5.57 source code.zip (1.8 MB) Google Add to Preferred Sources
Home / v0.4.1
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-09-09 12.4 kB
v0.4.1 source code.tar.gz 2026-09-09 811.8 kB
v0.4.1 source code.zip 2026-09-09 921.5 kB
Totals: 3 Items   1.7 MB 0

v0.4.1

Changelog

Features

  • 发布 scope 推导与 milestone 查询:gh api --paginate 多页输出按单页解析,Milestone 的 issue 超过一页时发布永久失败 (Issue [#584])
  • stream_pi swallow 探针的持续空闲窗口跨轮携带:事件落在两次 poll 之间时不重置,把刚完成一轮健康请求的活会话误杀 (Issue [#590]; PR [#597])
  • 外部贡献 PR 接入交付循环:CONTRIBUTING/PR 模板要求先建 Issue + workflow 接线到 ai-pr-opened(不新增状态) (Issue [#632]; PR [#644])

Reliability and recovery

  • pi_recovery: timeout_duration fabricates a timeout wrapper from command data (commit message text) and waits on a nonexistent deadline (Issue [#570]; PR [#575])
  • pi_recovery: slots_idle returns True (swallow evidence) on schema drift — a missing or non-bool is_processing can get a generating session killed (Issue [#571]; PR [#576])
  • pi_recovery: TERM/KILL deliver to a bare pid with no start-time recheck — a pid reused in the discovery-to-signal gap is an innocent process (Issue [#572]; PR [#577])
  • pi_recovery: process_state guard "not fields[0]" can IndexError on a "(comm)"-terminated stat line — the sibling parsers' None contract is broken for that shape (Issue [#573]; PR [#578])
  • runner_health: record_run_attempt is called only in the generic except — recoverable failures (#227/#325) and successes never reach health.json, and failure streaks never break (Issue [#574]; PR [#579])
  • release 发布成功后的收尾失败会把已发布结果改写成 ai-blocked:ai-merged 与 ai-blocked 双终态并存,违背"不可逆结果不得改写"的自有契约 (Issue [#586])
  • CI failure: tests on branch fix/release-tag-retry-lock (pull_request) (Issue [#600]; PR [#611])

Deployment and operations

  • Bug:direct-Pi website service 因 beta base ref freshness 检查失败而无法启动 (Issue [#543]; PR [#546])
  • 引擎交付 checkout 支持 https+gh-token 传输(App installation token 路线的前置;现为 setup 强制 migrate 到 SSH) (Issue [#580]; PR [#612])
  • P0 Bug:setup 的 label 权限预检把 installation token 误判为无权限(viewerPermission 对 ghs_ 恒空,实际 API 能力足够) (Issue [#613]; PR [#626])
  • installation token 凭据下 runner 评论以 App bot 身份发布,trusted-author 场景校验拒绝续场(需人工重建场景评论) (Issue [#637]; PR [#640])
  • P0:gh api installation 在 installation token 下返回 404,trusted-author 判定崩溃,所有托管交付在评审阶段必然 ai-blocked (Issue [#648]; PR [#653])

Documentation

  • docs: 修正 Codex 段 gpt-5.6-luna 上下文窗口 1M → 272K(1M 属于 gpt-5.6-sol,非 luna) (Issue [#558]; PR [#643])
  • bug: cloudflare-workers-ai 模板的 provider id 被 Pi 拒绝,真实请求必败——需换自定义 id 并同步文档 (Issue [#559]; PR [#642])
  • docs: 刷新 OpenRouter :free 目录(z-ai/glm-5.2:free 已下架,16 个可用)并补 2026-09-08 真实 429/200 实测证据 (Issue [#560]; PR [#654])
  • docs: Groq 节补充实测发现——groq/compound 可被组织级门禁关闭(HTTP 403),文档只写了 429 (Issue [#561]; PR [#649])
  • bug: xAI 模板锁定 ID grok-4.20-0309 已不在官方文档——现只有 -reasoning/-non-reasoning 变体 (Issue [#562]; PR [#641])
  • sync_release_docs 假成功:上次 commit 成功但 push 瞬时失败后,续跑把"无可暂存内容"误判为"已同步",release notes 永远没上远端 (Issue [#587])
  • CI failure: tests on branch fix/docs-sync-verify-remote (pull_request) (Issue [#598]; PR [#607])
  • Constitution:新增 CONSTITUTION.md 固定架构不变量与公开表面,AGENTS.md 加一行指向 (Issue [#604]; PR [#647])
  • 文档:在 operations.mdx 声明公开表面(CLI、config、label 状态机、journal、分支与 worktree 命名),并修正三处过时的分支命名描述 (Issue [#609]; PR [#646])
  • sync_release_docs 的补推恢复分支在 resume 路径上不可达(create_release_worktree 先 hard-reset),且误触发时给出不实的 "recovered" 证据 (Issue [#623]; PR [#639])
  • Bug:release docs-sync 假设仓库携带 Mintlify docs(docs/docs.json 缺失即必挂)——orbi-cloud v0.5.0 发布实证,外部/无文档仓库需要跳过语义 (Issue [#636]; PR [#638])

Bug fixes

  • Bug:release prep commit 在测试验收前直推 main——终态失败后 main 残留未发布版本 bump——改为本地测试通过后再推送,失败路径零新增代码 (Issue [#564]; PR [#633])
  • bug: 移除 scripts/test 本地测试链——release 测试验收交给 GitHub Actions(KISS:能交给平台的就交出去) (Issue [#569]; PR [#581])
  • Epic 完结判定应以 native sub-issues 关系为唯一子票声明:#305(12/12 全关)滞留 open,v0.4.0 milestone 无法关闭 (Issue [#582]; PR [#630])
  • 发布 tag 重试死锁:fetch exit 128 混淆"远端无 tag"与网络故障,push 失败残留的本地 tag 让重试永远 fatal: tag already exists (Issue [#585])
  • 评审环两个有界性缺口:干净评审 + CI 红的轮次不计预算(5 轮上限永不生效),wait 循环体没有 sleep(热循环重跑评审、poll_interval 是死参数) (Issue [#588])
  • 评审门可被注入越过:REVIEW_VERDICT 解析接受正文中任意前缀匹配行且"后者覆盖前者",verdict 与被评审 head 无绑定 (Issue [#591]; PR [#628])
  • CI failure: tests on branch fix/paginate-slurp-remaining-sites (pull_request) (Issue [#599]; PR [#606])
  • Bug:交付 claim 路径裸调 create_worktree(稳定分支已存在必 255,#566 只修了 release 路径)+ 外部贡献者 PR 与交付循环零整合(接管扫描不可见、被内部静默重做后误关) (Issue [#608]; PR [#621])
  • P0 Bug:空闲 tick 的 milestone 推进无保护——milestone 改名即每 tick 非零退出,健康检查判为崩溃循环并自动开 ai-ready bug Issue(自激) (Issue [#614]; PR [#625])
  • Bug:merge_gate 的 is-ancestor 缺 returncode 守卫,git 128 被报成"PR 落后于 base"进入 ai-fix-needed 循环;顺带删除死代码 check_delivery_ci (Issue [#615]; PR [#629])
  • P0 Bug:runner_health 是唯一漏传 unit_name 的消费方——改名部署(cloud 托管沙箱方向)崩溃告警恒不触发,系统静默死亡 (Issue [#616]; PR [#624])
  • repeated-failure 检测两处失灵:浮动时长让同坑失败指纹漂移、streak 永远到不了阈值;alerted 键只增不清让打断后的新 streak 终身静默 (Issue [#618])
  • P0 安全:REVIEW_VERDICT 全文扫描且后者覆盖前者,评审门可被输出中任意位置的伪造 verdict 绕过(#591 的执行票) (Issue [#622])
  • 覆盖门禁的 pragma 扫描包含 .worktrees/ 历史副本,部署机上全量测试必红且报错指向无关文件 (Issue [#634]; PR [#635])
  • release 门禁 check-runs 403 无法诊断:失败信息只有裸命令与退出码,看不出是缺 Checks:read 权限 (Issue [#650]; PR [#652])
  • release 在 Release 已发布后因缺 Milestone 抛错:Issue 已关闭却报失败,终态与事实不符 (Issue [#651])

  • tag: v0.4.1

  • release commit: aec697a77d0ca8811b182424dac2b75af96698e7
  • release task: Issue [#563]

Scope (verified item by item)

  • Issue [#543] closed
  • Issue [#558] closed
  • Issue [#559] closed
  • Issue [#560] closed
  • Issue [#561] closed
  • Issue [#562] closed
  • Issue [#564] closed
  • Issue [#569] closed
  • Issue [#570] closed
  • Issue [#571] closed
  • Issue [#572] closed
  • Issue [#573] closed
  • Issue [#574] closed
  • Issue [#580] closed
  • Issue [#582] closed
  • Issue [#584] closed
  • Issue [#585] closed
  • Issue [#586] closed
  • Issue [#587] closed
  • Issue [#588] closed
  • Issue [#590] closed
  • Issue [#591] closed
  • Issue [#598] closed
  • Issue [#599] closed
  • Issue [#600] closed
  • Issue [#604] closed
  • Issue [#608] closed
  • Issue [#609] closed
  • Issue [#613] closed
  • Issue [#614] closed
  • Issue [#615] closed
  • Issue [#616] closed
  • Issue [#618] closed
  • Issue [#622] closed
  • Issue [#623] closed
  • Issue [#632] closed
  • Issue [#634] closed
  • Issue [#636] closed
  • Issue [#637] closed
  • Issue [#648] closed
  • Issue [#650] closed
  • Issue [#651] closed
  • NOT released (still open in milestone v0.4.1): open Issue [#563] Release task:发布 v0.4.1(provider 文档准确性版本)并完成远端交付对账

Pre-release gates

  • no open Issue carries ai-in-progress / ai-pr-opened / ai-fix-needed
  • CI on the release commit: 4 check(s) all success/neutral/skipped (waited 240s for pending checks)

Tests

  • release tests gated by GitHub Actions CI on the release commit [aec697] (the [#268] CI-wait gate; no local test execution)

run_id=5e6aa5b1

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