@seanyao/roll 2026.512.7 → 2026.513.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## v2026.513.1
4
+ - **Added**: loop worktree 隔离 Phase 2 — `_write_loop_runner_script` 现在让每轮 cron 在独立的 `loop/cycle-<ts>-<pid>` worktree 里跑 claude,结束后 ff-merge 回 main + 自动清理;失败保留 worktree + 写 ALERT。loop 不再吞 main 的 WIP,多轮之间也完全隔离。claude 仍保留 story selection 权(SKILL.md 不变)
5
+ - **Added**: loop worktree 隔离 Phase 1 — `bin/roll` 新增 7 个 `_worktree_*` helpers(path / create 幂等 / cleanup / fetch lenient / submodule init / merge_back ff-only / alert),覆盖 loop 在独立 worktree 跑 story 的完整生命周期;零行 runner.sh 改动,loop 自己也能跑;US-AUTO-037 (manual-only) 之后把这些 helpers 接入 `_write_loop_runner_script`
6
+ - **Added**: loop 依赖闸门 — BACKLOG 行末尾的 `` `depends-on:US-X,US-Y` `` 和 `` `manual-only:true` `` 标签从此具有强制力;loop 选 story 前先用 `_loop_check_depends_on` / `_loop_is_manual_only` 两个 helper 过一遍,未满足依赖或带 manual-only 标的 story 直接跳过并写 `skipped` runs.jsonl 记录,不再需要靠人盯标签
7
+ - **Fixed**: loop 并发保护补丁 — 2026-05-13 14:37 实测同 runner 下出现并发 claude 会话同时改 state.yaml / BACKLOG / git;inner script 现新增二级 LOCK(PID + start-ts 4h 双校验),守住 claude 调用现场,外层 LOCK 即使被旁路也兜底
8
+ - **Changed**: CI 拆 unit / integration 双 job 并行 — `tests/run.sh` 接受可选目录参数;`.github/workflows/ci.yml` 用 `strategy.matrix` 把 509 unit + 70 integration 用例分到两个 runner 并行跑(REFACTOR-009 Phase 1B);Phase 2 测试瘦身拆到 REFACTOR-010
9
+ - **Changed**: `roll`(无参)dashboard 重设计 — 自治优先六块布局:① Identity(项目名 + 版本 + agent + git 状态)② AI 自治主视觉(Loop / Dream / Peer 三层 + 四道防线,框线高亮)③ Pipeline 全景(Idea/Backlog/Build/Verify/Release 五段计数)④ Current Focus · DoD(in-progress story 的 [AC] [CI] 信号,其余 4 项标注待接入)⑤ Human × AI 介入区(ALERT/PROPOSAL/Release ready,空时显示"AI 自驱中")⑥ Schedules & Last Brief。把"AI 自动跑什么"放第一眼,不再埋在 `roll loop status` 子命令里
10
+ - **Changed**: CI 测试运行器 (`tests/run.sh`) 动态检测核数(`nproc`/`sysctl`)替换硬编码 `--jobs 4`,可用 `ROLL_TEST_JOBS` 覆盖;bats-core submodule 缺失时给出清晰报错
11
+ - **Changed**: GitHub Actions CI 跳过 docs-only PR(`paths-ignore: **.md, docs/**`),文档改动不再触发全套 bats
12
+ - **Fixed**: `roll peer` 在 REFINE/OBJECT 退出路径上的 "resolution: unbound variable" 风险 — cmd_peer 显式初始化 `local resolution=""`,并补齐 AGREE/REFINE/OBJECT/ESCALATE/UNKNOWN 五条退出路径的回归测试
13
+ - **Fixed**: `roll update` 后 `roll loop status` 误报 off — `_install_launchd_plists` reload 路径改用 `launchctl bootout` + `bootstrap`(不动 overrides db),消除 macOS Sonoma+ 上 no-`-w` unload/load 把 label `enabled` 标记吞掉的副作用;不再需要手动 `roll loop on` 恢复
14
+
15
+ ## v2026.512.8
16
+ - **Added**: `$roll-doc` — legacy 项目文档自动化技能:四阶段扫描(索引 + 缺口分析 + 草稿补全 + 报告),支持 `--dry-run` / `--force`,适用任何项目
17
+ - **Added**: `roll-.dream` Scan 6 — 文档新鲜度检测(滞后文档 / 未记录 ENV 变量 / 架构文档缺失),依赖 roll-doc,发现写入 REFACTOR 条目
18
+ - **Fixed**: loop CI gate 在 SSH config 改写 github.com 为 IP 的环境下失灵 — `gh` 自动识别失败被静默吞掉,loop 把 "gh 出错" 误判为 "gh 未装",在 CI 红的情况下继续把 story 标 ✅ Done;现从 git remote 推导 `owner/repo` 强制传 `-R`,gh 调用失败 = ALERT,loop 起跑前先验 HEAD CI 红绿,红则拒绝 build
19
+
3
20
  ## v2026.512.7
4
21
  - **Added**: `roll alert` — 查看、确认、清除 loop 告警,不用再去翻 loop status
5
22
  - **Added**: macOS 系统通知 — story 完成或告警写入时自动弹通知,静音模式下不打扰
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sean YAO
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -19,12 +19,13 @@
19
19
 
20
20
  ## What is Roll?
21
21
 
22
- Roll is an instruction and workflow framework for AI agentsit encodes proven engineering practices (TDD, TCR, SRE, INVEST) as skills any agent can follow, distributes unified conventions to every AI client on your machine, and optionally lets the agent work unattended via an autonomous evolution layer.
22
+ Roll is an autonomous delivery system for software teamsAI agents pick stories from your BACKLOG, execute them with encoded engineering discipline, and ship continuously while you stay focused on what to build next.
23
23
 
24
- **Three core values:**
25
- 1. **Any agent, same constraints** — Claude, Cursor, Kimi, DeepSeek, Codex all receive identical engineering guardrails
26
- 2. **Skill system** — 20 skills encode research design build → check → fix as reliable, repeatable workflows
27
- 3. **Autonomous evolution** — `roll loop on` runs BACKLOG items hourly; humans retain sole release authority
24
+ **Two core values:**
25
+ 1. **Autonomous delivery** — `roll loop on` runs BACKLOG items hourly; Dream (nightly code-health scan) surfaces maintenance tasks; humans retain sole release authority
26
+ 2. **Skill-driven execution** — 20+ skills encode TDD, TCR, and INVEST practices as reliable, repeatable workflows any agent can follow
27
+
28
+ _Works with Claude, Cursor, Codex, or your own agent._
28
29
 
29
30
  ---
30
31