f7b11f7f1c
~25 tasks across 5 phases, each with explicit Red-Green-Refactor TDD steps: - Phase 1 (1.1-1.9): Foundation. Post-tracks baseline verification, typing_extensions dep, src/result_types.py (10 unit tests), conductor/code_styleguides/error_handling.md canonical reference, product-guidelines.md + workflow.md updates. - Phase 2 (2.1-2.7): mcp_client.py refactor. _resolve_and_check returns Result[Path]; all 9 tool functions return Result[str]; 30+ 'assert p is not None' chain removed; tool dispatch updated; existing tests migrated to .data/.errors pattern. - Phase 3 (3.1-3.8): ai_client.py refactor (HIGHEST RISK). _classify_<vendor>_error() returns ErrorInfo (not raise ProviderError); _send_<vendor>() renamed to _send_<vendor>_result() returning Result[str] (8 vendors); ProviderError class REMOVED; new public send_result() API; send() marked @deprecated (rewired to call send_result() and unwrap). - Phase 4 (4.1-4.5): rag_engine.py refactor. _init_vector_store, _validate_collection_dim return Result; NilRAGState used; broad except Exception becomes ErrorInfo entries. - Phase 5 (5.1-5.7): Deprecation wiring (filterwarnings in conftest.py to silence send() warning in existing tests), docs updates (guide_ai_client + guide_mcp_client), follow-up track public_api_migration_20260606 placeholder in tracks.md, manual smoke test, archive the track. Coordination with the 3 pending tracks (startup_speedup, test_batching_refactor, qwen_llama_grok_integration) addressed throughout. Phase 1 Task 1.1 verifies the baseline before any refactor begins. Post-tracks state considerations from spec §10 fully integrated into the task breakdown. 1-space indentation per project style guide. No placeholders. All test code is concrete. Self-review at end confirms full spec coverage (every section of spec.md mapped to a task).