@seanyao/roll 2026.509.1 → 2026.509.3

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/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.509.1"
7
+ VERSION="2026.509.3"
8
8
  ROLL_HOME="${ROLL_HOME:-${HOME}/.roll}"
9
9
  ROLL_CONFIG="${ROLL_HOME}/config.yaml"
10
10
  ROLL_GLOBAL="${ROLL_HOME}/conventions/global"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seanyao/roll",
3
- "version": "2026.509.1",
3
+ "version": "2026.509.3",
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"
@@ -140,11 +140,11 @@ Rules:
140
140
  ```yaml
141
141
  peer:
142
142
  capability_map:
143
- architecture: [claude, kimi, pi]
144
- security: [claude, pi, kimi]
145
- test: [codex, kimi, claude]
146
- refactor: [kimi, claude, pi]
147
- default: [kimi, claude, pi]
143
+ architecture: [claude, deepseek, kimi, pi]
144
+ security: [claude, deepseek, pi, kimi]
145
+ test: [codex, kimi, deepseek, claude]
146
+ refactor: [deepseek, kimi, claude, pi]
147
+ default: [deepseek, kimi, claude, pi]
148
148
  ```
149
149
 
150
150
  ### Adaptive Adjustment
@@ -160,6 +160,25 @@ If `streak` for a peer pair reaches the configured threshold (default: 3 consecu
160
160
 
161
161
  The bridge script detects installed peers via `command -v <tool>`. Only installed tools are considered. The current running tool is excluded (`exclude_self: true`).
162
162
 
163
+ For `deepseek`, also check if serve mode is available as a more reliable alternative:
164
+ ```bash
165
+ command -v deepseek && { deepseek serve --help 2>/dev/null; true; } | grep -q "\-\-http" && echo "serve_mode"
166
+ ```
167
+ If serve mode is available, prefer HTTP transport over direct CLI invocation.
168
+
169
+ ### Peer Invocation Reference
170
+
171
+ | Peer | Non-interactive command | Reliability | Notes |
172
+ |------|------------------------|-------------|-------|
173
+ | `claude` | `claude -p "<prompt>"` | ✅ High | Native, stable |
174
+ | `deepseek` | `deepseek "<prompt>"` | ✅ Good | No TTY dependency |
175
+ | `deepseek` (serve) | `curl localhost:<port>/v1/...` | ✅ High | Start with `deepseek serve --http`; preferred over direct CLI |
176
+ | `kimi` | `kimi --quiet "<prompt>"` | ⚠️ Unverified | Verify non-interactive support before use |
177
+ | `codex` | `codex exec --json --output-last-message "<prompt>"` | ⚠️ Unstable | Known CI failures due to Ink/TTY (issues [#1080](https://github.com/openai/codex/issues/1080), [#1340](https://github.com/openai/codex/issues/1340)); use only as fallback |
178
+ | `pi` | `pi -p "<prompt>"` | ⚠️ Unverified | Verify non-interactive support before use |
179
+
180
+ **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.
181
+
163
182
  ## Workflow Integration
164
183
 
165
184
  ### `roll-build` Plan Mode
@@ -202,10 +221,11 @@ peer:
202
221
  call_timeout: 180 # seconds per round; configure based on your API latency
203
222
  fallback: file_mailbox # direct_cli | file_mailbox | auto
204
223
  capability_map:
205
- architecture: [claude, kimi, pi]
206
- security: [claude, pi, kimi]
207
- test: [codex, kimi, claude]
208
- default: [kimi, claude, pi]
224
+ architecture: [claude, deepseek, kimi, pi]
225
+ security: [claude, deepseek, pi, kimi]
226
+ test: [codex, kimi, deepseek, claude]
227
+ refactor: [deepseek, kimi, claude, pi]
228
+ default: [deepseek, kimi, claude, pi]
209
229
  adaptive:
210
230
  streak_threshold: 3
211
231
  min_samples: 3
@@ -213,7 +233,9 @@ peer:
213
233
 
214
234
  ## Limitations
215
235
 
216
- 1. **Reverse link reliability**: Direct CLI calls (`claude -p`, `kimi --quiet`, `pi -p`) are preferred. If API gateways block non-interactive endpoints, fallback to file mailbox (`~/.shared/roll/peer/mailbox/`).
217
- 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.
236
+ 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 (`~/.shared/roll/peer/mailbox/`) is the last-resort fallback.
237
+ - `deepseek serve --http` is the most reliable option when available prefer it over direct `deepseek` CLI invocation.
238
+ - `codex exec` has known TTY/Ink issues in non-interactive environments; treat as low-priority fallback.
239
+ 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.
218
240
  3. **Context window**: Large project handoff cards may consume significant context. Keep file pointers concise.
219
- 4. **Tool differences**: Kimi, Claude, and Pi handle skills and AGENTS.md differently. The peer may interpret the same protocol slightly differently. This is expected and acceptable.
241
+ 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.