@seanyao/roll 2026.523.1 → 2026.524.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 +42 -0
- package/bin/roll +818 -78
- package/lib/__pycache__/loop_unstick.cpython-314.pyc +0 -0
- package/lib/__pycache__/model_prices.cpython-314.pyc +0 -0
- package/lib/__pycache__/prices_fetcher.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll-home.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll-loop-status.cpython-314.pyc +0 -0
- package/lib/__pycache__/roll_render.cpython-314.pyc +0 -0
- package/lib/changelog_audit.py +155 -0
- package/lib/i18n/agent.sh +0 -0
- package/lib/i18n/alert.sh +0 -0
- package/lib/i18n/backlog.sh +0 -0
- package/lib/i18n/brief.sh +0 -0
- package/lib/i18n/changelog.sh +0 -0
- package/lib/i18n/ci.sh +0 -0
- package/lib/i18n/debug.sh +0 -0
- package/lib/i18n/doctor.sh +31 -0
- package/lib/i18n/dream.sh +0 -0
- package/lib/i18n/init.sh +17 -0
- package/lib/i18n/lang.sh +0 -0
- package/lib/i18n/loop.sh +0 -0
- package/lib/i18n/migrate.sh +0 -0
- package/lib/i18n/offboard.sh +15 -0
- package/lib/i18n/onboard.sh +0 -0
- package/lib/i18n/peer.sh +0 -0
- package/lib/i18n/propose.sh +0 -0
- package/lib/i18n/release.sh +0 -0
- package/lib/i18n/research.sh +0 -0
- package/lib/i18n/review_pr.sh +0 -0
- package/lib/i18n/sentinel.sh +0 -0
- package/lib/i18n/setup.sh +0 -0
- package/lib/i18n/shared.sh +83 -0
- package/lib/i18n/skills/roll-brief.sh +20 -0
- package/lib/i18n/skills/roll-build.sh +97 -0
- package/lib/i18n/skills/roll-design.sh +18 -0
- package/lib/i18n/skills/roll-fix.sh +14 -0
- package/lib/i18n/skills/roll-loop.sh +28 -0
- package/lib/i18n/skills/roll-onboard.sh +16 -0
- package/lib/i18n/slides.sh +0 -0
- package/lib/i18n/status.sh +0 -0
- package/lib/i18n/update.sh +9 -0
- package/lib/i18n.sh +138 -0
- package/lib/loop-fmt.py +49 -0
- package/lib/loop_unstick.py +180 -0
- package/lib/model_prices.py +164 -43
- package/lib/prices/snapshot-2026-05-22.json +22 -0
- package/lib/prices/snapshot-2026-05-23-deepseek.json +15 -0
- package/lib/prices/snapshot-2026-05-23-kimi.json +14 -0
- package/lib/prices_fetcher.py +285 -0
- package/lib/roll-home.py +17 -1
- package/lib/roll-loop-status.py +46 -19
- package/lib/roll_render.py +11 -3
- package/package.json +1 -1
- package/skills/roll-.dream/SKILL.md +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v2026.524.1
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **`roll slides new` 不再像卡住** — 分阶段显示进度、当前步骤和耗时 `[deck]`
|
|
8
|
+
- **网站语言随浏览器自动切换** — 中文用户看到中文 `[i18n]`
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **成本不再虚高** — 支持多模型真实价格 `[dashboard]`
|
|
13
|
+
- **loop 挂了会换备用** — 不再直接放弃 `[loop]`
|
|
14
|
+
- **loop 本地工作区不再堆积** — 合并后自动清理 `[loop]`
|
|
15
|
+
- **标进行中的故事不再永久卡住** — 超时恢复待办 `[loop]`
|
|
16
|
+
- **主页 agent 标签不再骗人** — 显示真名 `[dashboard]`
|
|
17
|
+
|
|
18
|
+
## v2026.523.2
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **每轮 cycle 实时打出 7 阶段进入退出与耗时** — `startup` / `preflight` / `worktree_setup` / `claude_invoke` / `publish_push` / `publish_wait_merge` / `cleanup`,长静默阶段 30–60s 一次心跳,再也不用盯着空屏猜 loop 卡在哪 `[loop]`
|
|
23
|
+
- **cycle 结束打一份按耗时降序的阶段面板** — 同时把每阶段秒数固化到 `runs.jsonl` 的 `phases` 字段,跨轮对比"今天哪一步最慢"有完整数据 `[loop]`
|
|
24
|
+
- **`roll loop runs` 每行末尾追加 `slowest=<阶段> <占比>%`,新子命令 `roll loop runs --detail <cycle_id>` 打开完整阶段面板** — 不必翻 ndjson 就能定位单轮瓶颈 `[dashboard]`
|
|
25
|
+
- **`tests/run.sh --affected [base-ref]`** — TCR micro-step 只跑被本次改动覆盖的测试文件,反馈秒级;改动 `tests/helpers/*` 等保守降级到全套 `[testing]`
|
|
26
|
+
- **`tests/run.sh --tier=fast|slow|all`** — 本地 TCR 默认 `fast`,CI 跑 `--tier=all`;`ROLL_TEST_TIME_CAP=1` 时 `fast` 全跑 60s 硬上限,性能漂移立刻打红 `[testing]`
|
|
27
|
+
- **测试质量评分卷(6 类反模式 rubric)** — `roll-.dream` Scan 7 按 rubric 输出 `REFACTOR-XXX [test-quality:❶|❷|...]`,单轮上限 5 条,存量 ❶ 类反模式可结构化治理 `[dream]`
|
|
28
|
+
- **`roll lang [zh|en|--list]`** — i18n 地基命令:查看 / 切换 / 列出可用语言,按本机 locale 自动选默认;`ROLL_LANG` 环境变量临时覆盖 `[i18n]`
|
|
29
|
+
- **`roll prices show / refresh`** — 价格表挪进带版本号的 snapshot,能一键拉官方文档对比;调价不再要改源码、提 PR,每个 version 的价格都查得到 `[pricing]`
|
|
30
|
+
- **cycle 结束时按当时价格固化成本** — 以后调价或升级都不会回头改写历史轮次的数字;老事件继续可读,渲染时打 `[legacy]` 标记 `[loop]`
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- **dashboard 把已合并 PR 错显示成"开放"** — `roll loop status` 兜底走 git log 找 squash merge subject,原正则只认 `loop/cycle-LABEL` 旧分支名,对新的 `loop cycle LABEL (#N)` 默认 subject 匹配不上;现在两种都认 `[dashboard]`
|
|
35
|
+
- **`model_prices.bats` 改用 fixture 价格表注入** — 之前对生产 PRICES 算术断言把调价误伤成测试红,重写后只断结构不变量(cache_read < input、out ≥ in 等)`[testing]`
|
|
36
|
+
- **已合入临时分支堆在 origin 不被清理** — `_loop_cleanup_stale_cycle_branches` 漏过 agent / abort 两条路径,现在 cycle 入口先扫一遍再走主流程 `[loop]`
|
|
37
|
+
- **临时目录复现 bug 时留下幽灵 launchd 服务** — 自动检测临时路径并把所有 `launchctl` 调用走 sandbox 注册表,主用户 launchd domain 不再被污染 `[launchd]`
|
|
38
|
+
- **dashboard 把 story 列错显示成上一轮的 ID** — `_STORY_ID_PAT` 老正则每段只认纯字母,`US-I18N-001` 这种字母+数字混合 segment 匹配不上 → 新 `pick_todo` 被静默丢掉,仍展示前一轮的旧 story 名;正则更新为 `[A-Z][A-Z0-9]*(?:-[A-Z][A-Z0-9]*)*-\d+` 后 I18N / K8S / D2 / S3 等命名都能识别 `[dashboard]`
|
|
39
|
+
|
|
40
|
+
### Docs
|
|
41
|
+
|
|
42
|
+
- **新增 `guide/{en,zh}/loop.md` "Cycle phases" 小节** — 七阶段表 + 触发时机 + 典型耗时 + 收尾面板样例;FAQ 增 C6 "某阶段慢怎么定位"
|
|
43
|
+
- **新增 `guide/{en,zh}/testing.md` "TCR Test Strategy" 小节** — `--affected` 与 `--tier` 两个杠杆的语义、匹配规则、CI/本地默认组合;新增 "测试质量评分卷" 小节列六类反模式与修复方向
|
|
44
|
+
|
|
3
45
|
## v2026.523.1
|
|
4
46
|
|
|
5
47
|
### Added
|