@seanyao/roll 2026.517.1 → 2026.517.2

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/bin/roll +20 -1
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,8 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## v2026.517.2
4
+ - **Fixed**: `roll dream`、`roll brief`、`roll loop` 的定时任务不再被 Claude 升级后的弹窗拦住,悄悄失效
5
+
3
6
  ## v2026.517.1
4
7
 
5
8
  - **New**: loop 自动修复 story 引入的 CI 红 — 不再每次 CI 红都停下等人,修不好才写 ALERT `[loop]`
9
+ - **New**: Roll 官网上线 — 装、用、原理一站讲清楚
10
+ - **Fixed**: mac 休眠不再打断 loop cycle — 全程保持唤醒 `[loop]`
11
+ - **Fixed**: agent 假死时 loop 自动接管,不再无限挂起 `[loop]`
12
+ - **Fixed**: PR / 合并失败时 — loop 仍能把代码备份到独立分支不丢失 `[loop]`
13
+ - **Fixed**: loop 启动时自动恢复上一轮中断的工作,意外中断的代码不再失踪 `[loop]`
14
+ - **Fixed**: `roll loop now` 现在卡住状态也会先自愈再启动 `[loop]`
15
+ - **Fixed**: 自治 loop 不再被权限弹窗卡住 `[loop]`
16
+ - **Fixed**: `roll peer` 多轮 review 不再中途断线 `[peer]`
17
+ - **Fixed**: `roll loop runs` 现在跨子目录都能显示历史 `[loop]`
18
+ - **Fixed**: loop 空跑也会清理 worktree,不再随时间堆积 `[loop]`
6
19
 
7
20
  ## v2026.515.1
8
21
 
package/bin/roll CHANGED
@@ -4,7 +4,7 @@ set -euo pipefail
4
4
  # Roll — AI Agent Convention Manager
5
5
  # Single source of truth for how all AI coding agents behave.
6
6
 
7
- VERSION="2026.517.1"
7
+ VERSION="2026.517.2"
8
8
  ROLL_HOME="${ROLL_HOME:-${HOME}/.roll}"
9
9
  ROLL_CONFIG="${ROLL_HOME}/config.yaml"
10
10
  ROLL_GLOBAL="${ROLL_HOME}/conventions/global"
@@ -1898,6 +1898,20 @@ _agent_cmd_str() {
1898
1898
  printf '%s' "$out"
1899
1899
  }
1900
1900
 
1901
+ # Splice --dangerously-skip-permissions into _AGENT_ARGV for claude. Used by
1902
+ # trusted, human-triggered, or autonomous flows that should not be blocked by
1903
+ # Claude Code's pre-write "approve diff" UX (which silently never gets
1904
+ # approved in `claude -p` pipe mode). No-op for non-claude agents and for
1905
+ # already-bypassed argvs.
1906
+ _agent_bypass_claude_perms() {
1907
+ [[ "${_AGENT_ARGV[0]}" == "claude" ]] || return 0
1908
+ local arg
1909
+ for arg in "${_AGENT_ARGV[@]}"; do
1910
+ [[ "$arg" == "--dangerously-skip-permissions" ]] && return 0
1911
+ done
1912
+ _AGENT_ARGV=("${_AGENT_ARGV[@]:0:2}" --dangerously-skip-permissions "${_AGENT_ARGV[@]:2}")
1913
+ }
1914
+
1901
1915
  _agent_run_skill() {
1902
1916
  local skill="$1"
1903
1917
  local agent; agent=$(_project_agent)
@@ -2587,6 +2601,11 @@ _agent_skill_cmd() {
2587
2601
  err "Unknown agent '${agent}'. Run: roll agent use <claude|kimi|deepseek|pi|codex|opencode>"
2588
2602
  return 1
2589
2603
  }
2604
+ # Cron-installed skills (dream / brief / loop) run autonomously and need to
2605
+ # Edit files (docs/dream/, docs/briefs/, BACKLOG, etc.). Claude Code 2.1.x's
2606
+ # pre-write approval UX silently blocks `claude -p` from applying edits in
2607
+ # non-interactive pipe mode — bypass it for the cron context.
2608
+ _agent_bypass_claude_perms
2590
2609
  # In cron context, use absolute claude path so a fresh shell can find it.
2591
2610
  [[ "$agent" == "claude" ]] && _AGENT_ARGV[0]="$(command -v claude 2>/dev/null || echo claude)"
2592
2611
  # Drop the prompt sentinel (always last), re-emit head args + quoted $(strip).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seanyao/roll",
3
- "version": "2026.517.1",
3
+ "version": "2026.517.2",
4
4
  "description": "Roll — Roll out features with AI agents",
5
5
  "scripts": {
6
6
  "test": "bash tests/run.sh"