diff options
| author | Adam Malczewski <[email protected]> | 2026-06-12 19:26:31 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-12 19:26:31 +0900 |
| commit | 35197ed933044d322d0a653c4e88a5f3e475fe76 (patch) | |
| tree | f768be26a61b28551a0671f2519c3da4ff682a1f /tasks.md | |
| parent | dbf77ba78ff840e0ed5f6294030523fe3ab121fa (diff) | |
| download | dispatch-35197ed933044d322d0a653c4e88a5f3e475fe76.tar.gz dispatch-35197ed933044d322d0a653c4e88a5f3e475fe76.zip | |
feat(contracts): reasoning effort — ReasoningEffort ladder (low..max), ProviderStreamOptions/ChatRequest fields, per-conversation GET/PUT types
wire 0.6.1->0.7.0, transport-contract 0.10.0->0.11.0. Additive only; typecheck+biome clean.
Diffstat (limited to 'tasks.md')
| -rw-r--r-- | tasks.md | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -353,6 +353,24 @@ derives `hasOlder` from `chunks[0].seq > 1`. DB) — recipe fixed in §8 + above. (3) Violated the bracket trick once (`pkill -f 'cr5-data'` self-matched → killed parent shell, timeout-with-no-output); the existing §8 rule stands. +## Reasoning effort (current milestone) +User-gated calls: canonical term **reasoning effort** (GLOSSARY); ladder `low|medium|high|xhigh|max` +(Anthropic-driven, includes xhigh/max); scope = **(c)** persisted per-conversation + per-turn +`ChatRequest.reasoningEffort` override; resolution default **`high`**; provider picks sensible +budget_tokens; `../claude` orchestrated DIRECTLY (mode A); CLI `--effort` now. +- [x] **Wave 0 (orchestrator, contracts):** `ReasoningEffort` in `@dispatch/wire` (`0.6.1→0.7.0`); + `ProviderStreamOptions.reasoningEffort` (kernel contract; runtime untouched — providerOpts is + forwarded verbatim); `ChatRequest.reasoningEffort` + `ReasoningEffortResponse`/ + `SetReasoningEffortRequest` GET/PUT types (`@dispatch/transport-contract` `0.10.0→0.11.0`); + glossary entry. typecheck + biome clean. +- [ ] **Wave 1 (parallel):** `conversation-store` get/set persisted effort (mirror cwd); + `provider-anthropic` (../claude) level→thinking.budget_tokens mapping; `cli` `--effort` flag. +- [ ] **Wave 2:** `session-orchestrator` — resolution chain (turn override → stored → `high`), + thread into providerOpts via `StartTurnInput.reasoningEffort`. +- [ ] **Wave 3:** `transport-http` (validate `reasoningEffort`, thread to startTurn, GET/PUT + `/conversations/:id/reasoning-effort`) + `transport-ws` (thread on `chat.send`). +- [ ] Live-verify vs claude; FE courier handoff. + ## Open items - **Context window LIMIT (deferred, sibling of context size):** expose the selected model's max context-window token limit so the FE can render `contextSize / limit` (e.g. `1286 / 200000`). |
