squadrant 0.14.2 → 0.15.0

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "squadrant",
3
3
  "packageManager": "pnpm@10.30.3",
4
- "version": "0.14.2",
4
+ "version": "0.15.0",
5
5
  "description": "Multi-project orchestration for your coding agents (Claude, Codex, opencode, Gemini)",
6
6
  "type": "module",
7
7
  "bin": {
@@ -191,7 +191,7 @@ To change the effort dial: `squadrant effort <max|balance|low>` or use the `squa
191
191
  - **For complex multi-step tasks** (3+ steps, multiple files), tell the crew to use GSD inside the task prompt: *"This is a complex task. Use `/gsd:plan-phase` and `/gsd:execute-phase` for wave-based execution with fresh context per step."*
192
192
  - **For simple tasks**, don't mention GSD — the crew will handle it directly.
193
193
 
194
- > Non-Claude agents (codex / gemini) currently still launch in print-mode (one-shot) rather than as interactive sessions; `send` won't reach them yet. Prefer Claude crews when you want multi-turn dialogue.
194
+ > codex crews are fully interactive (parity with claude/opencode) — `send` reaches them for follow-up turns (verified live 2026-07-02). gemini currently still launches in print-mode (one-shot) rather than as an interactive session; `send` won't reach it yet.
195
195
 
196
196
  ## Task Coordination
197
197
 
@@ -349,19 +349,22 @@ If your config has `group` / `groupRole`:
349
349
 
350
350
  ## Cross-Project Delegation
351
351
 
352
- When a task genuinely belongs to a sibling project in the same group, use **`squadrant group dispatch <to-project> '<task>'`** instead of hand-writing a message. This records a tracked task on the sibling's project and auto-wakes its captain via the mailbox.
352
+ Two commands reach **any registered project** not just siblings in your group. Group membership is extra guarantees on top, not a requirement to reach a project at all.
353
+
354
+ - **`squadrant ping <project> "<msg>"`** — fire-and-forget. Delivers a message straight into the target's captain pane. No tracked task, no report-back. Use for a heads-up, FYI, or a question you don't need answered structurally.
355
+ - **`squadrant dispatch <project> "<task>"`** — tracked. Records a task on the target project, notifies its captain, and reports the outcome back to your mailbox when it settles. (`squadrant group dispatch` is a **deprecated alias** for this — same underlying machinery, keep using `squadrant dispatch` going forward.)
353
356
 
354
357
  ### Rules
355
358
 
356
- 1. **Same-group only.** `group dispatch` rejects any target whose `group` field differs from yours. Cross-group dispatch is out of scope — use claude-mem / wiki queries for awareness.
357
- 2. **`acceptDelegations`.** If the sibling's project config has `acceptDelegations: false`, the command rejects with a clear error. The default is `true`.
358
- 3. **Boot-if-down.** If the sibling's captain workspace is not running, `group dispatch` boots it (`squadrant launch <project>`) and waits for warmup with a bounded poll (30s hard timeout). If warmup fails, the dispatch is rejected (task not recorded).
359
+ 1. **Unregistered project clear error.** Both commands validate the project exists in config before doing anything.
360
+ 2. **`acceptDelegations`.** If the target's project config has `acceptDelegations: false`, `dispatch` rejects with a clear error — this applies regardless of group. The default is `true`.
361
+ 3. **Boot-if-down is a same-group guarantee.** If the target is in your group and its captain isn't running, `dispatch` boots it (`squadrant launch <project>`) and waits for warmup with a bounded poll (120s hard timeout). **Cross-group, dispatch does NOT auto-boot** a down captain — it fails fast with an error suggesting `ping` or starting it manually with `squadrant launch <project>`, then retry. Once a target captain is up, cross-group and same-group dispatch behave the same.
359
362
 
360
363
  ### Dispatch-and-yield (do NOT poll)
361
364
 
362
- Once the task is recorded to the daemon, `group dispatch` **returns immediately**. The sibling's captain auto-accepts (because `acceptDelegations` is true) and spawns a crew. When the task settles — done, blocked, or failed — the daemon fans the outcome back to **your** mailbox automatically. The daemon wakes you up. **You never poll the sibling.**
365
+ Once the task is recorded to the daemon, `dispatch` **returns immediately**. The target's captain auto-accepts (because `acceptDelegations` is true) and spawns a crew. When the task settles — done, blocked, or failed — the daemon fans the outcome back to **your** mailbox automatically. The daemon wakes you up. **You never poll the target.**
363
366
 
364
- HARD RULE: Do NOT add a polling loop after `group dispatch`. The report-back is event-driven; trust it.
367
+ HARD RULE: Do NOT add a polling loop after `dispatch`. The report-back is event-driven; trust it.
365
368
 
366
369
  ### Report-back format
367
370