@seanyao/roll 2026.512.2 → 2026.512.5

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 +4 -1
  2. package/bin/roll +15 -6
  3. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,9 @@
1
1
  # Changelog
2
2
 
3
- ## Unreleased
3
+ ## v2026.512.5
4
+ - **Fixed**: loop 遇到 API 错误时自动重试,不再直接中断
5
+
6
+ ## v2026.512.3
4
7
  - **Added**: BACKLOG 支持 block / defer / unblock 状态管理 — 标记卡住的任务不再占队列
5
8
  - **Fixed**: 自动弹窗现在能识别 Ghostty 和 iTerm2,不再强制弹出 Terminal.app
6
9
  - **Fixed**: loop 检测到上一轮还在跑时自动跳过,不重复启动
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.512.2"
7
+ VERSION="2026.512.5"
8
8
  ROLL_HOME="${ROLL_HOME:-${HOME}/.roll}"
9
9
  ROLL_CONFIG="${ROLL_HOME}/config.yaml"
10
10
  ROLL_GLOBAL="${ROLL_HOME}/conventions/global"
@@ -1961,13 +1961,22 @@ _write_loop_runner_script() {
1961
1961
  local cmd_verbose="${cmd/claude -p/claude -p --verbose --output-format stream-json}"
1962
1962
  cat > "$inner_path" << INNER
1963
1963
  #!/bin/bash -l
1964
+ set -o pipefail
1964
1965
  export PATH="/opt/homebrew/bin:\$PATH"
1965
1966
  FMT="${fmt_script}"
1966
- if [ -f "\$FMT" ]; then
1967
- ( cd "${project_path}" && ${cmd_verbose} ) | python3 "\$FMT"
1968
- else
1969
- cd "${project_path}" && ${cmd_verbose}
1970
- fi
1967
+ for _attempt in 1 2 3; do
1968
+ if [ -f "\$FMT" ]; then
1969
+ ( cd "${project_path}" && ${cmd_verbose} ) | python3 "\$FMT"
1970
+ else
1971
+ ( cd "${project_path}" && ${cmd_verbose} )
1972
+ fi
1973
+ _exit=\$?
1974
+ [ "\$_exit" -eq 0 ] && break
1975
+ if [ "\$_attempt" -lt 3 ]; then
1976
+ echo "[loop] claude exited \$_exit (attempt \$_attempt/3) — retrying in 30s..."
1977
+ sleep 30
1978
+ fi
1979
+ done
1971
1980
  INNER
1972
1981
  chmod +x "$inner_path"
1973
1982
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seanyao/roll",
3
- "version": "2026.512.2",
3
+ "version": "2026.512.5",
4
4
  "description": "Roll — Roll out features with AI agents",
5
5
  "scripts": {
6
6
  "test": "find tests/unit tests/integration -name '*.bats' | sort | xargs ./tests/helpers/bats-core/bin/bats"