Goal
Bring docs/ (Nextra at pilot.quantflow.studio) up to v2.102.2 in one bundled PR. Three feature gaps + 14 stale v2.56.0 pins. Fix version drift permanently via a shared <CurrentVersion/> component.
Scope
1. Shared version component (new)
- New
docs/lib/version.ts — single export: export const CURRENT_VERSION = "v2.102.2".
- New
docs/components/current-version.tsx — trivial component reading the constant.
- Edit
docs/mdx-components.tsx — register CurrentVersion so MDX can use <CurrentVersion/> without imports.
Replace 14 hardcoded v2.56.0 strings with <CurrentVersion/>:
docs/content/cli/commands.mdx (lines 589, 2611)
docs/content/getting-started/quickstart.mdx (line 41)
docs/content/getting-started/installation.mdx (line 48)
docs/content/deployment/docker-helm.mdx (lines 55, 142, 255, 264, 341)
docs/content/deployment/desktop-app.mdx (lines 186, 189)
docs/content/features/dashboard.mdx (lines 210, 219)
docs/content/concepts/model-routing.mdx (line 184)
2. "Opus plans, Sonnet executes" routing (GH-2432, PR #2437, v2.100.5)
Edit docs/content/concepts/model-routing.mdx — add new section "Planning vs Execution Model Split":
- Default: planning →
claude-opus-4-7, execution → claude-sonnet-4-6.
- Config key:
executor.planning.model.
- Rationale: ~70% per-task token reduction.
- Cross-link to configuration.mdx.
3. OpenCode attached mode + timeouts (GH-2415, GH-2410, GH-2416, v2.102.0/v2.102.1)
Edit docs/content/concepts/execution-backends.mdx — OpenCode section:
Edit docs/content/getting-started/configuration.mdx — OpenCode section (existing, ~line 174–303):
- Add
executor.opencode.request_timeout (default 10m, configurable).
- Document backend-aware self-review timeout:
10m for OpenCode, 2m for Claude Code / Qwen.
4. ExecuteOptions extensibility (v2.100.5)
Edit docs/content/getting-started/configuration.mdx:
- Document
executor.allowed_tools (maps to ExecuteOptions.AllowedTools).
- Document
executor.mcp_config_path (maps to ExecuteOptions.MCPConfigPath).
Out of scope (do NOT include in this PR)
- Retry persistence labels
pilot-retry-1/2/exhausted — separate small PR against integrations/github.mdx line 182.
- GoReleaser hook to auto-bump
docs/lib/version.ts on tag push.
Verification
cd docs && bun install && bun run dev — no Nextra warnings; <CurrentVersion/> renders v2.102.2 everywhere it appears.
grep -rn "v2\.[0-9]\+\.[0-9]\+" docs/content/ returns zero hits outside changelog/release-notes pages.
- Spot-check rendered pages for the three new feature sections (callouts, code blocks, TOC).
Code cross-checks before writing docs
Verify implementation matches what's documented (don't assume defaults):
internal/executor/runner.go — confirm executor.planning.model config key, default values.
internal/executor/opencode/ — confirm X-OpenCode-Directory header sites and request_timeout default.
internal/executor/ — confirm AllowedTools / MCPConfigPath field names on ExecuteOptions.
Notes for Pilot
- One bundled PR, not split per topic.
- Reuse Nextra v4
<Callout type="info"> for rationale boxes; do not introduce new components beyond CurrentVersion.
- Keep
_meta.js ordering untouched.
Goal
Bring
docs/(Nextra at pilot.quantflow.studio) up to v2.102.2 in one bundled PR. Three feature gaps + 14 stalev2.56.0pins. Fix version drift permanently via a shared<CurrentVersion/>component.Scope
1. Shared version component (new)
docs/lib/version.ts— single export:export const CURRENT_VERSION = "v2.102.2".docs/components/current-version.tsx— trivial component reading the constant.docs/mdx-components.tsx— registerCurrentVersionso MDX can use<CurrentVersion/>without imports.Replace 14 hardcoded
v2.56.0strings with<CurrentVersion/>:docs/content/cli/commands.mdx(lines 589, 2611)docs/content/getting-started/quickstart.mdx(line 41)docs/content/getting-started/installation.mdx(line 48)docs/content/deployment/docker-helm.mdx(lines 55, 142, 255, 264, 341)docs/content/deployment/desktop-app.mdx(lines 186, 189)docs/content/features/dashboard.mdx(lines 210, 219)docs/content/concepts/model-routing.mdx(line 184)2. "Opus plans, Sonnet executes" routing (GH-2432, PR #2437, v2.100.5)
Edit
docs/content/concepts/model-routing.mdx— add new section "Planning vs Execution Model Split":claude-opus-4-7, execution →claude-sonnet-4-6.executor.planning.model.3. OpenCode attached mode + timeouts (GH-2415, GH-2410, GH-2416, v2.102.0/v2.102.1)
Edit
docs/content/concepts/execution-backends.mdx— OpenCode section:X-OpenCode-Directoryheader sent onPOST /sessionandPOST /session/:id/message.Edit
docs/content/getting-started/configuration.mdx— OpenCode section (existing, ~line 174–303):executor.opencode.request_timeout(default10m, configurable).10mfor OpenCode,2mfor Claude Code / Qwen.4. ExecuteOptions extensibility (v2.100.5)
Edit
docs/content/getting-started/configuration.mdx:executor.allowed_tools(maps toExecuteOptions.AllowedTools).executor.mcp_config_path(maps toExecuteOptions.MCPConfigPath).Out of scope (do NOT include in this PR)
pilot-retry-1/2/exhausted— separate small PR againstintegrations/github.mdxline 182.docs/lib/version.tson tag push.Verification
cd docs && bun install && bun run dev— no Nextra warnings;<CurrentVersion/>rendersv2.102.2everywhere it appears.grep -rn "v2\.[0-9]\+\.[0-9]\+" docs/content/returns zero hits outside changelog/release-notes pages.Code cross-checks before writing docs
Verify implementation matches what's documented (don't assume defaults):
internal/executor/runner.go— confirmexecutor.planning.modelconfig key, default values.internal/executor/opencode/— confirmX-OpenCode-Directoryheader sites andrequest_timeoutdefault.internal/executor/— confirmAllowedTools/MCPConfigPathfield names onExecuteOptions.Notes for Pilot
<Callout type="info">for rationale boxes; do not introduce new components beyondCurrentVersion._meta.jsordering untouched.