diff --git a/docs/src/content/docs/features/model-selection.md b/docs/src/content/docs/features/model-selection.md index 33bd81c70..3a26a51fa 100644 --- a/docs/src/content/docs/features/model-selection.md +++ b/docs/src/content/docs/features/model-selection.md @@ -36,10 +36,10 @@ Model selection uses a layered system. First match wins: | Task Output | Model | Tier | |-------------|-------|------| -| Writing code (implementation, refactoring, tests, bug fixes) | `claude-sonnet-4.5` | Standard | -| Writing prompts or agent designs | `claude-sonnet-4.5` | Standard | +| Writing code (implementation, refactoring, tests, bug fixes) | `claude-sonnet-4.6` | Standard | +| Writing prompts or agent designs | `claude-sonnet-4.6` | Standard | | Non-code work (docs, planning, triage, changelogs) | `claude-haiku-4.5` | Fast | -| Visual/design work requiring image analysis | `claude-opus-4.5` | Premium | +| Visual/design work requiring image analysis | `claude-opus-4.6` | Premium | 4. **Default** — If nothing matched, `claude-haiku-4.5`. Cost wins when in doubt. @@ -47,30 +47,30 @@ Model selection uses a layered system. First match wins: | Role | Default Model | Why | |------|--------------|-----| -| Core Dev / Backend / Frontend | `claude-sonnet-4.5` | Writes code — quality first | -| Tester / QA | `claude-sonnet-4.5` | Writes test code | +| Core Dev / Backend / Frontend | `claude-sonnet-4.6` | Writes code — quality first | +| Tester / QA | `claude-sonnet-4.6` | Writes test code | | Lead / Architect | auto (per-task) | Mixed: code review vs. planning | | Prompt Engineer | auto (per-task) | Prompt design is like code | | DevRel / Writer | `claude-haiku-4.5` | Docs — not code | | Scribe / Logger | `claude-haiku-4.5` | Mechanical file ops | | Git / Release | `claude-haiku-4.5` | Changelogs, tags, version bumps | -| Designer / Visual | `claude-opus-4.5` | Vision capability required | +| Designer / Visual | `claude-opus-4.6` | Vision capability required | -## 16-Model Catalog +## 18-Model Catalog -Squad supports 16 models across three tiers: +Squad supports 18 models across three tiers: - **Premium:** claude-opus-4.6, claude-opus-4.6-fast, claude-opus-4.5 -- **Standard:** claude-sonnet-4.5, gpt-5.2-codex, claude-sonnet-4, gpt-5.2, gpt-5.1-codex, gpt-5.1, gpt-5, gemini-3-pro-preview -- **Fast/Cheap:** claude-haiku-4.5, gpt-5.1-codex-mini, gpt-4.1, gpt-5-mini, gpt-5.1-codex-mini +- **Standard:** claude-sonnet-4.6, gpt-5.4, gpt-5.3-codex, gpt-5.2-codex, claude-sonnet-4, gpt-5.2, gpt-5.1-codex, gpt-5.1, gpt-5, gemini-3-pro-preview +- **Fast/Cheap:** claude-haiku-4.5, gpt-5.1-codex-mini, gpt-4.1, gpt-5-mini ## Fallback Chains If a model is unavailable (plan restriction, rate limit, deprecation), Squad silently retries with the next in chain: ``` -Premium: claude-opus-4.6 → claude-opus-4.6-fast → claude-opus-4.5 → claude-sonnet-4.5 -Standard: claude-sonnet-4.5 → gpt-5.2-codex → claude-sonnet-4 → gpt-5.2 +Premium: claude-opus-4.6 → claude-opus-4.6-fast → claude-opus-4.5 → claude-sonnet-4.6 +Standard: claude-sonnet-4.6 → gpt-5.3-codex → gpt-5.4 → claude-sonnet-4 → gpt-5.2 Fast: claude-haiku-4.5 → gpt-5.1-codex-mini → gpt-4.1 → gpt-5-mini ``` diff --git a/docs/src/content/docs/features/skills.md b/docs/src/content/docs/features/skills.md index 1ed26eb4b..55ca1923b 100644 --- a/docs/src/content/docs/features/skills.md +++ b/docs/src/content/docs/features/skills.md @@ -40,6 +40,10 @@ Each skill is a directory containing a `SKILL.md` file. Skills are **team-wide k Bundled when you initialize Squad. Prefixed with `squad-` (e.g., `squad-conventions`). These encode baseline patterns for working with Squad. +### Session Recovery + +The `session-recovery` skill teaches agents to find and resume interrupted Copilot CLI sessions. When a session is interrupted (terminal crash, network drop, machine restart), in-progress work may be left incomplete. This skill uses `session_store` SQL queries to detect abandoned sessions, inspect checkpoint progress, and resume work. See [`.squad/skills/session-recovery/SKILL.md`](https://github.com/bradygaster/squad/blob/dev/.squad/skills/session-recovery/SKILL.md) for query patterns and examples. + ### Earned skills Written by agents from real work on your project. When an agent discovers a reusable pattern — a deployment strategy, a testing technique, an API integration approach — it writes a skill file. diff --git a/docs/src/content/docs/features/team-setup.md b/docs/src/content/docs/features/team-setup.md index f4e4a8e6e..eb1ec7fe3 100644 --- a/docs/src/content/docs/features/team-setup.md +++ b/docs/src/content/docs/features/team-setup.md @@ -26,6 +26,10 @@ Squad analyzes your project and proposes a team roster with 3-7 members tailored When you first run Squad in a repository, it doesn't impose a team — it proposes one. The init flow analyzes your project, suggests roles and members, waits for your confirmation, then creates the `.squad/` directory structure and installs the crew. +### Character Casting + +By default, Squad uses the **CastingEngine** to assign agent names from fictional universes (The Usual Suspects, Ocean's Eleven, etc.). The LLM proposes roles and team composition; the engine allocates curated character names, personalities, and backstories from the selected universe. Use `squad init --roles` to opt into the base role catalog (Lead, Backend, Frontend, Tester) instead of universe casting. + ## How Init Works 1. **Discovery** — Squad scans your repository: language distribution, file structure, test frameworks, dependencies, existing workflows. diff --git a/docs/src/content/docs/get-started/installation.md b/docs/src/content/docs/get-started/installation.md index 807ec8b03..d05bf97aa 100644 --- a/docs/src/content/docs/get-started/installation.md +++ b/docs/src/content/docs/get-started/installation.md @@ -124,6 +124,20 @@ This creates your personal squad directory — a personal team root that any pro | macOS | `~/Library/Application Support/squad/` | | Windows | `%APPDATA%\squad\` | +### SDK mode + +Generate a typed `squad.config.ts` with `useRole()` calls instead of markdown-only setup: + +```bash +squad init --sdk +``` + +Combine with `--roles` to include the base role catalog (Lead, Backend, Frontend, Tester, etc.) in the generated config. Without `--roles`, init uses fictional universe casting by default. + +```bash +squad init --sdk --roles +``` + --- ## First-Time Setup diff --git a/docs/src/content/docs/reference/cli.md b/docs/src/content/docs/reference/cli.md index 021107c11..73c6529da 100644 --- a/docs/src/content/docs/reference/cli.md +++ b/docs/src/content/docs/reference/cli.md @@ -29,6 +29,8 @@ squad init | `squad` | Enter interactive shell (no args) | No | | `squad init` | Initialize Squad in the current repo (idempotent — safe to run multiple times) | No | | `squad init --global` | Create a personal squad in your platform-specific directory | No | +| `squad init --sdk` | Generate typed `squad.config.ts` with `useRole()` calls | No | +| `squad init --roles` | Include base role catalog (Lead, Backend, etc.) instead of universe casting | No | | `squad init --mode remote ` | Initialize linked to a remote team root (dual-root mode) | No | | `squad start [--tunnel] [--port N] [--command cmd]` | Start Copilot with remote phone access via PTY and WebSocket | No | | `squad status` | Show which squad is active and why | Yes | diff --git a/docs/src/content/docs/scenarios/aspire-dashboard.md b/docs/src/content/docs/scenarios/aspire-dashboard.md index fa4cd5eb6..c7879e897 100644 --- a/docs/src/content/docs/scenarios/aspire-dashboard.md +++ b/docs/src/content/docs/scenarios/aspire-dashboard.md @@ -157,6 +157,17 @@ You'll see gauges, counters, and histograms: - `squad.response.ttft` — time to first token (ms) - `squad.response.duration` — total response duration (ms) +### Rework Rate Metrics (5th DORA) + +PR rework rate instruments, exported alongside the core metrics above: + +| Instrument | Type | Unit | Description | +|-----------|------|------|-------------| +| `squad.rework.rate` | Gauge | % | Current rework rate percentage | +| `squad.rework.cycles` | Histogram | — | Review cycles per PR | +| `squad.rework.rejection_rate` | Gauge | % | Percentage of PRs with changes requested | +| `squad.rework.time_ms` | Histogram | ms | Time spent in rework | + ### **Resources** Aspire groups all telemetry by service. You'll see: diff --git a/docs/src/content/docs/whatsnew.md b/docs/src/content/docs/whatsnew.md index 11712d39d..52155a152 100644 --- a/docs/src/content/docs/whatsnew.md +++ b/docs/src/content/docs/whatsnew.md @@ -11,6 +11,13 @@ Full release history for Squad — from beta through the v1 TypeScript replatfor - **Version alignment** — CLI (0.8.1) and SDK (0.8.0) snapped to 0.8.2 across all packages - **Published to npm** — `@bradygaster/squad-sdk@0.8.2` and `@bradygaster/squad-cli@0.8.2` +- **Init flow improvements** — Ralph now included in the initial agent set during `squad init`; routing templates no longer reference `@copilot` by default (#337, #338, #339) +- **`--sdk` switch** — `squad init --sdk` generates typed `squad.config.ts` with `useRole()` calls (#424) +- **`--roles` opt-in** — `squad init --roles` uses the base role catalog instead of fictional universe casting (#412) +- **CastingEngine** — CLI init now uses `CastingEngine` to map recognized universes to curated character names and backstories (#417) +- **Session Recovery skill** — New skill for finding and resuming interrupted sessions via `session_store` queries (#442) +- **Model defaults updated** — Standard code → Sonnet 4.6, premium visual → Opus 4.6, code specialist → GPT-5.3-codex, GPT-5.4 added to catalog (#429) +- **Rework rate OTEL metrics** — Four new instruments (`squad.rework.rate`, `squad.rework.cycles`, `squad.rework.rejection_rate`, `squad.rework.time_ms`) for the 5th DORA metric (#415) - **Remote squad mode** (ported from @spboyer's [PR #131](https://github.com/bradygaster/squad/pull/131)): - `resolveSquadPaths()` dual-root resolver for project-local vs team identity directories (#311) - [`squad doctor` command](reference/cli.md) — 9-check setup validation with emoji output (#312)