Repository navigation
Run Shelf 1.4.0
Run Shelf 1.4.0
本版本源于一次对调度器、Runner、日志链路和 CLI 契约的全面正确性审查:修复多个会
导致任务漏跑、状态失真和 UI 冻结的缺陷,为 AI agent 补齐发现与集成入口,并完成开
源前的文档准备。
调度与运行可靠性:
- 修复调度器按任务记账导致的泄漏:与手动运行并发时任务可能被永久跳过,现按 run id 记账。
- 调度与手动运行竞争同一任务时不再误记 failed、误发失败通知,统一记为 skipped。
- 运行元数据的跨进程回收改在 claim 锁内二次确认,成功记录不再可能被覆写成 stale。
- 超时改用单调时钟计量,睡眠唤醒后不再误杀正常运行的脚本。
- 睡眠或关机跨越多个调度点时,错过的运行逐一记录 stale,不再无声消失。
- 夏令时春季跳变日落在跳变时段的任务当天照常运行一次,不再静默跳过。
- 保留清理不再删除 meta 损坏的运行目录,日志得以保留排查。
App 修复:
- 修复新建任务 sheet 因缺少环境对象而崩溃的问题。
- 手动运行移出 Swift 并发协作线程池,多个长任务并发运行不再冻结日志和刷新。
- 切换任务或运行记录时不再短暂显示上一个任务的日志内容。
- 恢复日志滚动位置不再触发全文档布局,也不再因刷新竞态错位。
CLI 契约(破坏性变更):
- 未知参数一律返回 usage 错误,拼错
--dry-run不会再造成真实写入。 - 前台运行失败改为返回
ok: false、error.code: "run_failed"(退出码仍为 8),完整运行记录保留在result.run。 - 更新已有任务(含
--dry-run)强制要求--expected-revision,防止静默覆盖并发修改。 - envelope 增加
schemaVersion;新增version、schema task-spec --example、agent-setup命令;退出码语义统一。
Agent 集成:
- 新增
runshelf agent-setup:一条命令把集成说明幂等写入~/.claude/CLAUDE.md或AGENTS.md,内容与help agent同源。 - 设置页新增「命令行与 AI Agent」:安装 CLI、复制集成说明、写入配置文件。
- 任务记录创建来源,CLI/agent 创建的任务在侧边栏和 Inspector 显示「CLI」标记。
文档与开源准备:
- README 加入截图与演示动图,新增英文版 README,补齐 CHANGELOG,增加 issue/PR 模板。
校验:
- scripts/check.sh 全部通过(含全部测试、universal Debug 构建、schema 同步检查)。
- CLI 契约在隔离数据目录下按 help agent 声明的完整流程端到端验证。
- 发布产物使用 Developer ID 签名,提交 Apple 公证并 staple 后发布。