@seanyao/roll 2026.523.2 → 2026.524.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.
- package/CHANGELOG.md +28 -0
- package/bin/roll +546 -97
- package/lib/__pycache__/loop-fmt.cpython-314.pyc +0 -0
- package/lib/__pycache__/loop_unstick.cpython-314.pyc +0 -0
- package/lib/__pycache__/model_prices.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 +25 -0
- package/lib/loop-fmt.py +77 -11
- package/lib/loop_unstick.py +180 -0
- package/lib/model_prices.py +93 -12
- package/lib/prices/snapshot-2026-05-22.json +2 -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/roll-home.py +17 -1
- package/lib/roll-loop-status.py +9 -0
- package/lib/roll_render.py +10 -2
- package/package.json +1 -1
- package/skills/roll-.dream/SKILL.md +4 -4
- package/skills/roll-loop/SKILL.md +15 -1
|
@@ -75,13 +75,25 @@ denied operations and the cycle will idle-exit.
|
|
|
75
75
|
loop:
|
|
76
76
|
primary_agent: claude # claude | deepseek | kimi
|
|
77
77
|
fallback_agent: deepseek # used when primary fails
|
|
78
|
-
max_items_per_run:
|
|
78
|
+
max_items_per_run: 1 # one story per cycle — atomic delivery, predictable cycle time
|
|
79
79
|
brief_on_feature_complete: true
|
|
80
80
|
retry_backoff: [2, 4, 8, 16] # seconds, exponential
|
|
81
81
|
```
|
|
82
82
|
|
|
83
83
|
## Workflow
|
|
84
84
|
|
|
85
|
+
> **One story per cycle (强约束)**: 每个 cycle 只 pick 一个 Todo、跑完 Step 4
|
|
86
|
+
> 立刻退出,不再回 Step 2 找下一个。理由:
|
|
87
|
+
> - cycle 时间可预测(不会因贪心一连串 PR 撞 45 分钟 hard timeout)
|
|
88
|
+
> - PR / events / dashboard 每行一个故事,归因清晰
|
|
89
|
+
> - 一个故事一个 PR 一次 review,blast radius 最小
|
|
90
|
+
>
|
|
91
|
+
> 唯一例外是依赖修复(CI self-heal 等)已经内嵌在当前故事的 Step 4 里——
|
|
92
|
+
> 那部分不算"新挑故事"。
|
|
93
|
+
>
|
|
94
|
+
> 实现层:max_items_per_run 默认 1,executor skill 跑完 Step 5 必须 exit。
|
|
95
|
+
> 不要在同一个 cycle 内多次 emit `pick_todo` 事件。
|
|
96
|
+
|
|
85
97
|
### Step 1 — Orphan 🔨 Recovery
|
|
86
98
|
|
|
87
99
|
Process-level crash recovery (LOCK, heartbeat, retry budget) is handled by
|
|
@@ -311,6 +323,8 @@ After each item completes:
|
|
|
311
323
|
3. Update state file: `status: idle`
|
|
312
324
|
4. Check if a Feature is now fully complete (all its Stories ✅)
|
|
313
325
|
5. If yes and `brief_on_feature_complete: true` → invoke `Skill("roll-brief")`
|
|
326
|
+
6. **EXIT the cycle.** 不要回 Step 2 找下一个故事,不要再 emit `pick_todo`。
|
|
327
|
+
一个 cycle 只交付一个故事;剩下的 Todo 等下一个 launchd tick 起新 cycle 处理。
|
|
314
328
|
|
|
315
329
|
### Step 5 — Write Run Summary
|
|
316
330
|
|