@seanyao/roll 2026.511.2 → 2026.511.4
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 +7 -0
- package/bin/roll +15 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v2026.511.4
|
|
4
|
+
- **Fixed**: roll init 自动重建 launchd runner scripts — 升级 roll 后直接跑 `roll init` 即可迁移到独立 runner,无需手动执行 roll setup 或 roll loop on
|
|
5
|
+
|
|
6
|
+
## v2026.511.3
|
|
7
|
+
- **Fixed**: loop/dream/brief 多项目运行隔离 — 共享 run.sh 导致所有项目的 loop 在同一目录执行,改为每个项目独立 runner 脚本(run-{slug}.sh),彻底隔离多项目并发执行环境
|
|
8
|
+
- **Fixed**: roll release 自发版拦截 — 在 roll 自身项目执行 `roll release` 时自动拦截并提示改用 scripts/release.sh,防止误操作绕过 2FA
|
|
9
|
+
|
|
3
10
|
## v2026.511.2
|
|
4
11
|
- **Added**: roll loop monitor 三服务状态 — 监控台新增 loop/dream/brief 三个 launchd 服务的运行状态、调度时间和实时 log tail,一屏掌握全局执行情况
|
|
5
12
|
- **Fixed**: dashboard 多处展示问题 — 修复 pending_count 算术错误、brief 内联显示 release readiness、移除底部冗余命令列表
|
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.511.
|
|
7
|
+
VERSION="2026.511.4"
|
|
8
8
|
ROLL_HOME="${ROLL_HOME:-${HOME}/.roll}"
|
|
9
9
|
ROLL_CONFIG="${ROLL_HOME}/config.yaml"
|
|
10
10
|
ROLL_GLOBAL="${ROLL_HOME}/conventions/global"
|
|
@@ -758,6 +758,8 @@ cmd_init() {
|
|
|
758
758
|
_sync_conventions
|
|
759
759
|
echo ""
|
|
760
760
|
|
|
761
|
+
_install_launchd_plists "$project_dir"
|
|
762
|
+
|
|
761
763
|
if [[ "$has_agents" == "true" ]]; then
|
|
762
764
|
ok "Done. 完成。"
|
|
763
765
|
else
|
|
@@ -1837,7 +1839,8 @@ _install_launchd_plists() {
|
|
|
1837
1839
|
local hour="${hours[$i]}"
|
|
1838
1840
|
local label; label=$(_launchd_label "$svc" "$project_path")
|
|
1839
1841
|
local plist; plist=$(_launchd_plist_path "$svc" "$project_path")
|
|
1840
|
-
local
|
|
1842
|
+
local slug; slug=$(_project_slug "$project_path")
|
|
1843
|
+
local runner="${shared}/${svc}/run-${slug}.sh"
|
|
1841
1844
|
local log="${shared}/${svc}/cron.log"
|
|
1842
1845
|
local cmd; cmd=$(_agent_skill_cmd "${sd}/${skill}/SKILL.md" 2>/dev/null || echo "roll loop now")
|
|
1843
1846
|
|
|
@@ -1958,6 +1961,10 @@ _loop_off() {
|
|
|
1958
1961
|
if ! $any_loaded; then
|
|
1959
1962
|
warn "Loop not enabled for this project 当前项目 loop 未启用"; return 0
|
|
1960
1963
|
fi
|
|
1964
|
+
local slug; slug=$(_project_slug "$project_path")
|
|
1965
|
+
for svc in loop dream brief; do
|
|
1966
|
+
rm -f "${_SHARED_ROOT}/${svc}/run-${slug}.sh"
|
|
1967
|
+
done
|
|
1961
1968
|
ok "Loop disabled 已停用"
|
|
1962
1969
|
return 0
|
|
1963
1970
|
fi
|
|
@@ -2221,6 +2228,12 @@ cmd_brief() {
|
|
|
2221
2228
|
}
|
|
2222
2229
|
|
|
2223
2230
|
cmd_release() {
|
|
2231
|
+
local pkg; pkg=$(node -p "require('./package.json').name" 2>/dev/null || true)
|
|
2232
|
+
if [[ "$pkg" == "@seanyao/roll" ]]; then
|
|
2233
|
+
err "roll 自身发版请用 scripts/release.sh(npm publish 需要人工 2FA)"
|
|
2234
|
+
echo " Run: scripts/release.sh"
|
|
2235
|
+
exit 1
|
|
2236
|
+
fi
|
|
2224
2237
|
_agent_run_skill "roll-release"
|
|
2225
2238
|
}
|
|
2226
2239
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seanyao/roll",
|
|
3
|
-
"version": "2026.511.
|
|
3
|
+
"version": "2026.511.4",
|
|
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"
|