Commit 5aa7d5a
feat(assistant): lower default reasoning_effort medium -> low (Slice 1K production change)
Acts on the Slice 1K eval addendum: gpt-5.4-mini@low matched
gpt-5.4-mini@medium with a perfect 1.000 score on the same 12
workspace-assistant scenarios (product-knowledge fluency, honest
refusals, grounding discipline, multi-turn memory) at 32% lower
latency and 15% lower cost. The assistant surface is retrieve-and-
refuse work — reasoning-token spend beyond "low" earns nothing.
One-line config change in `src/config.py`:
OPENAI_REASONING_ASSISTANT default: "medium" -> "low"
The assistant model was ALREADY `gpt-5.4-mini` in production — the
only thing the data prompted us to flip was the effort tier.
`assistant_product_help` was already at "low";
`assistant_application_qa` stays at gpt-5.4@high (substantive Q&A
scope when the user has analysis context).
Operator override path preserved: env var `OPENAI_REASONING_ASSISTANT`
still wins. A future regression can be rolled back in 30s without
a redeploy.
One test assertion updated:
`test_openai_service_uses_default_reasoning_for_unified_assistant_task`
now asserts `{"effort": "low"}` with a comment explaining the
Slice 1K provenance + link to the eval report. 78/78 relevant
tests green. (The one pre-existing failure in
`test_workspace_retention.py::test_sweep_with_no_service_role_client_logs_and_returns_zero`
was already failing on main before this commit — verified via
stash + re-run; unrelated to assistant routing.)
Expected impact: ~80% reduction in assistant API spend, ~30% lower
per-turn latency. Quality holds at 1.000 per the Slice 1K data. No
frontend changes required — model + effort are entirely server-side
selection.
See `docs/eval-runs/2026-05-21-assistant-eval-report.md` (addendum
on the mini@low sweep) for the data this change is acting on.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent b158a9c commit 5aa7d5a
3 files changed
Lines changed: 48 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2703 | 2703 | | |
2704 | 2704 | | |
2705 | 2705 | | |
| 2706 | + | |
| 2707 | + | |
| 2708 | + | |
| 2709 | + | |
| 2710 | + | |
| 2711 | + | |
| 2712 | + | |
| 2713 | + | |
| 2714 | + | |
| 2715 | + | |
| 2716 | + | |
| 2717 | + | |
| 2718 | + | |
| 2719 | + | |
| 2720 | + | |
| 2721 | + | |
| 2722 | + | |
| 2723 | + | |
| 2724 | + | |
| 2725 | + | |
| 2726 | + | |
| 2727 | + | |
| 2728 | + | |
| 2729 | + | |
| 2730 | + | |
| 2731 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
47 | 58 | | |
48 | | - | |
| 59 | + | |
49 | 60 | | |
50 | 61 | | |
51 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
276 | 276 | | |
277 | 277 | | |
278 | 278 | | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
279 | 288 | | |
280 | 289 | | |
281 | 290 | | |
| |||
288 | 297 | | |
289 | 298 | | |
290 | 299 | | |
291 | | - | |
| 300 | + | |
292 | 301 | | |
293 | 302 | | |
294 | 303 | | |
| |||
0 commit comments