@seanyao/roll 3.621.1 → 3.624.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 (28) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/README.md +4 -1
  3. package/dist/roll.mjs +18773 -15313
  4. package/lib/__pycache__/changelog_audit.cpython-314.pyc +0 -0
  5. package/lib/__pycache__/changelog_generate.cpython-314.pyc +0 -0
  6. package/lib/__pycache__/github_sync.cpython-314.pyc +0 -0
  7. package/lib/__pycache__/loop-fmt.cpython-314.pyc +0 -0
  8. package/lib/__pycache__/loop_result_eval.cpython-314.pyc +0 -0
  9. package/lib/__pycache__/loop_unstick.cpython-314.pyc +0 -0
  10. package/lib/__pycache__/model_prices.cpython-314.pyc +0 -0
  11. package/lib/__pycache__/prices_fetcher.cpython-314.pyc +0 -0
  12. package/lib/__pycache__/roll-home.cpython-314.pyc +0 -0
  13. package/lib/__pycache__/roll-loop-status.cpython-314.pyc +0 -0
  14. package/lib/__pycache__/roll_git.cpython-314.pyc +0 -0
  15. package/lib/__pycache__/roll_render.cpython-314.pyc +0 -0
  16. package/lib/__pycache__/slides-render.cpython-314.pyc +0 -0
  17. package/lib/agent_usage/__pycache__/__init__.cpython-314.pyc +0 -0
  18. package/lib/agent_usage/__pycache__/gemini.cpython-314.pyc +0 -0
  19. package/lib/agent_usage/__pycache__/kimi.cpython-314.pyc +0 -0
  20. package/lib/agent_usage/__pycache__/openai.cpython-314.pyc +0 -0
  21. package/lib/agent_usage/__pycache__/pi.cpython-314.pyc +0 -0
  22. package/lib/agent_usage/__pycache__/pi_emit.cpython-314.pyc +0 -0
  23. package/lib/agent_usage/__pycache__/qwen.cpython-314.pyc +0 -0
  24. package/package.json +1 -1
  25. package/skills/roll-doctor/SKILL.md +0 -2
  26. package/skills/roll-loop/references/full-contract.md +1 -1
  27. package/skills/roll-onboard/SKILL.md +4 -4
  28. package/skills/roll-peer/references/full-contract.md +14 -24
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seanyao/roll",
3
- "version": "3.621.1",
3
+ "version": "3.624.2",
4
4
  "description": "Roll — Roll out features with AI agents",
5
5
  "packageManager": "pnpm@11.1.3",
6
6
  "scripts": {
@@ -78,8 +78,6 @@ ls -la ~/.claude/skills/roll-*
78
78
  # Antigravity (agy — reuses ~/.gemini/, if exists)
79
79
  ls -la ~/.gemini/skills/roll-* 2>/dev/null
80
80
 
81
- # Trae (if exists)
82
- ls -la ~/.trae/skills/roll-* 2>/dev/null
83
81
  ```
84
82
 
85
83
  Check:
@@ -66,7 +66,7 @@ denied operations and the cycle will idle-exit.
66
66
  ```yaml
67
67
  # ~/.roll/config.yaml
68
68
  loop:
69
- primary_agent: claude # claude | deepseek | kimi | pi | ...
69
+ primary_agent: claude # claude | kimi | pi | codex | ...
70
70
  max_items_per_run: 1 # one story per cycle — atomic delivery, predictable cycle time
71
71
  brief_on_feature_complete: true
72
72
  retry_backoff: [2, 4, 8, 16] # seconds, exponential
@@ -141,7 +141,7 @@ Present these in chat. **Aim for total time ≤ 3 minutes.** Group 1 confirms yo
141
141
  **Group 3 — Privacy & next steps**
142
142
 
143
143
  7. Add `.roll/` to `.gitignore`? (yes = keep project management private; no = commit it like Roll itself does)
144
- 8. Sync Roll conventions to which AI tools? Multi-select from detected agents (claude / cursor / codex / kimi / deepseek / pi / opencode / agy / trae)
144
+ 8. Sync Roll conventions to which AI tools? Multi-select from detected agents (claude / kimi / codex / pi / agy / reasonix)
145
145
  9. Enable `roll loop` autonomous execution after init?
146
146
 
147
147
  ### Step 4 — Write plan file
@@ -169,13 +169,13 @@ include_existing:
169
169
  privacy:
170
170
  gitignore_dot_roll: true # user's Q7
171
171
 
172
- sync_targets: [claude, cursor] # user's Q8
172
+ sync_targets: [claude, pi] # user's Q8
173
173
  enable_loop: false # user's Q9
174
174
  agent_routes_template: default # user's Q10 — agent routing preset
175
175
  # one of: default / minimal / heavy / skip
176
- # default = pi/deepseek/claude + history (US-AGENT-002)
176
+ # default = pi/claude + history (US-AGENT-002)
177
177
  # minimal = single agent (pi), no history
178
- # heavy = pi/deepseek/claude/kimi + larger window
178
+ # heavy = pi/claude/kimi + larger window
179
179
  # skip = don't seed .roll/agent-routes.yaml
180
180
 
181
181
  # ── US-ONBOARD-016: Phase 2 analysis sections (optional, but emit all three) ──
@@ -191,11 +191,11 @@ Rules:
191
191
  ```yaml
192
192
  peer:
193
193
  capability_map:
194
- architecture: [claude, deepseek, kimi, pi]
195
- security: [claude, deepseek, pi, kimi]
196
- test: [codex, kimi, deepseek, claude]
197
- refactor: [deepseek, kimi, claude, pi]
198
- default: [deepseek, kimi, claude, pi]
194
+ architecture: [claude, kimi, pi, reasonix]
195
+ security: [claude, pi, kimi, reasonix]
196
+ test: [codex, kimi, claude, pi]
197
+ refactor: [kimi, claude, pi, reasonix]
198
+ default: [kimi, claude, pi, codex]
199
199
  ```
200
200
 
201
201
  ### Adaptive Adjustment
@@ -211,29 +211,20 @@ If `streak` for a peer pair reaches the configured threshold (default: 3 consecu
211
211
 
212
212
  The bridge script detects installed peers via `command -v <tool>`. Only installed tools are considered. The current running tool is excluded (`exclude_self: true`).
213
213
 
214
- For `deepseek`, also check if serve mode is available as a more reliable alternative:
215
- ```bash
216
- command -v deepseek && { deepseek serve --help 2>/dev/null; true; } | grep -q "\-\-http" && echo "serve_mode"
217
- ```
218
- If serve mode is available, prefer HTTP transport over direct CLI invocation.
219
-
220
214
  ### Peer Invocation Reference
221
215
 
222
216
  | Peer | Non-interactive command | Reliability | Notes |
223
217
  |------|------------------------|-------------|-------|
224
218
  | `claude` | `claude -p "<prompt>"` | ✅ Verified | Native, stable |
225
- | `deepseek` | `deepseek "<prompt>"` | ✅ Verified | No TTY dependency |
226
- | `deepseek` (serve) | `curl localhost:<port>/v1/...` | ✅ High | Start with `deepseek serve --http`; preferred over direct CLI |
227
219
  | `kimi` | `kimi --quiet -p "<prompt>"` | ✅ Verified | `--quiet` is alias for `--print --output-format text --final-message-only`; prompt via `-p` |
228
220
  | `pi` | `pi -p "<prompt>"` | ✅ Verified | Clean non-interactive output |
229
- | `opencode` | `opencode run "<prompt>"` | ✅ Verified | Works non-interactively |
230
221
  | `codex` | `codex exec "<prompt>"` | ⚠️ Auth required | Token must be valid; re-login with `codex login` if expired |
231
222
 
232
- **CLI vs. API Key**: `claude`, `deepseek`, `kimi`, `codex` CLIs authenticate via existing subscription accounts — no separate API key required. This is the primary advantage of CLI transport over the MCP/HTTP approach.
223
+ **CLI vs. API Key**: `claude`, `kimi`, `codex` CLIs authenticate via existing subscription accounts — no separate API key required. This is the primary advantage of CLI transport over the MCP/HTTP approach.
233
224
 
234
225
  ## Inline Display Mode (Manual Triggers)
235
226
 
236
- When peer review is manually triggered by a human (via `/peer`, "叫上 peer", etc.), the executing agent **must display each round inline in the current conversation**. This applies regardless of which agent is executing — Claude, DeepSeek, Kimi, PI, or any other.
227
+ When peer review is manually triggered by a human (via `/peer`, "叫上 peer", etc.), the executing agent **must display each round inline in the current conversation**. This applies regardless of which agent is executing — Claude, Kimi, PI, Codex, or any other.
237
228
 
238
229
  **Per-round display format:**
239
230
 
@@ -303,11 +294,11 @@ peer:
303
294
  call_timeout: 180 # seconds per round; configure based on your API latency
304
295
  fallback: file_mailbox # direct_cli | file_mailbox | auto
305
296
  capability_map:
306
- architecture: [claude, deepseek, kimi, pi]
307
- security: [claude, deepseek, pi, kimi]
308
- test: [codex, kimi, deepseek, claude]
309
- refactor: [deepseek, kimi, claude, pi]
310
- default: [deepseek, kimi, claude, pi]
297
+ architecture: [claude, kimi, pi, reasonix]
298
+ security: [claude, pi, kimi, reasonix]
299
+ test: [codex, kimi, claude, pi]
300
+ refactor: [kimi, claude, pi, reasonix]
301
+ default: [kimi, claude, pi, codex]
311
302
  adaptive:
312
303
  streak_threshold: 3
313
304
  min_samples: 3
@@ -316,8 +307,7 @@ peer:
316
307
  ## Limitations
317
308
 
318
309
  1. **Reverse link reliability**: Direct CLI calls are preferred. Reliability varies by tool — see Peer Invocation Reference table. If a peer fails consistently, the adaptive streak tracker marks it `abandoned` and falls back to the next candidate. File mailbox (`<project>/.roll/peer/mailbox/`) is the last-resort fallback.
319
- - `deepseek serve --http` is the most reliable option when available — prefer it over direct `deepseek` CLI invocation.
320
310
  - `codex exec` has known TTY/Ink issues in non-interactive environments; treat as low-priority fallback.
321
- 2. **Cost**: Every peer review consumes tokens on both sides. Only trigger for tasks where the cost of a wrong decision exceeds the cost of peer review. DeepSeek is the most cost-effective peer for general use.
311
+ 2. **Cost**: Every peer review consumes tokens on both sides. Only trigger for tasks where the cost of a wrong decision exceeds the cost of peer review.
322
312
  3. **Context window**: Large project handoff cards may consume significant context. Keep file pointers concise.
323
- 4. **Tool differences**: Claude, DeepSeek, Kimi, Codex, and Pi interpret skills and AGENTS.md differently. The peer may apply the protocol slightly differently. This is expected and acceptable — the protocol is designed to tolerate variation.
313
+ 4. **Tool differences**: Claude, Kimi, Codex, and Pi interpret skills and AGENTS.md differently. The peer may apply the protocol slightly differently. This is expected and acceptable — the protocol is designed to tolerate variation.