390ba6a588
* fix(fast-mode): use setting_sources instead of env var for CLI fast mode The Claude Code CLI reads fastMode from user settings (~/.claude/settings.json), not from environment variables. The previous CLAUDE_CODE_FAST_MODE env var approach was non-functional. This fix writes fastMode=true to user settings before spawning the CLI and enables the "user" setting source so the CLI reads it. Key changes: - Fast mode now writes to ~/.claude/settings.json with atomic file writes - Extracted shared fast mode helpers into core/fast_mode.py (DRY) - Moved fast mode toggle from global settings to per-task configuration - Added opus-4.5 model option and adaptive thinking badges - Sanitize legacy thinking levels (ultrathink→high, none→low) at all layers - Shared LEGACY_THINKING_MAP, PHASE_KEYS, sanitizeThinkingLevel in frontend - Moved diagnostic test script to scripts/ to prevent pytest collection - SDK requirement bumped to >=0.1.33 for Opus 4.6 adaptive thinking Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: persist fastMode toggle state in task edit and creation dialogs When users toggled fast mode OFF, the change didn't persist because the code used a conditional that only set fastMode when true. This meant the old fastMode: true value was preserved during metadata merge. Now fastMode is always set explicitly, matching the pattern used by requireReviewBeforeCoding. Fixed in both: - TaskEditDialog.tsx line 251 - TaskCreationWizard.tsx line 459 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: address PR review findings for fast mode implementation - Fix fastMode toggle not persisting when disabled in TaskEditDialog - Replace manual atomic write with write_json_atomic from core/file_utils - Rename _ensure_fast_mode_in_user_settings to public (no underscore) - Replace hardcoded validLevels with VALID_THINKING_LEVELS constant Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix github issues --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>