From f04aeaea65fd09ff4ce09e6ed325a1e137d54265 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Fri, 12 Jun 2026 21:13:35 -0400 Subject: [PATCH] conductor(track): record 13 test regressions from Phase 3 refactor (deferred to public_api_migration_20260606) --- .../state.toml | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/conductor/tracks/data_oriented_error_handling_20260606/state.toml b/conductor/tracks/data_oriented_error_handling_20260606/state.toml index a67f259e..b569a659 100644 --- a/conductor/tracks/data_oriented_error_handling_20260606/state.toml +++ b/conductor/tracks/data_oriented_error_handling_20260606/state.toml @@ -212,3 +212,48 @@ last_verified = "2026-06-12" no_plan_changes = true # the 4 memory dims + 12 nagent TDD protocols are orthogonal to error handling no_spec_changes_to_design = true # only See Also cross-references added commit_sha = "" # filled after commit + +[regressions_20260612] +# Test regressions from the Phase 3 full refactor. Discovered during the +# `scripts/run_tests_batched.py` run on 2026-06-12 after the Phase 5 checkpoint. +# 13 failures total, all in tier-1-unit-core + tier-3-live_gui. +# +# Per the user's decision 2026-06-12 ("tests have regressions, we'll worry +# about them later just add a note to the track"), these are NOT fixed in +# this track. They are the intended work of the `public_api_migration_20260606` +# follow-up track (registered in conductor/tracks.md). +total_regressions = 13 +tier_affected = "tier-1-unit-core (12), tier-3-live_gui (1)" +root_cause_class = "Phase 3 full refactor: 9 _send_*() renames + ProviderError class removal. All failures are pre-existing test code that called the old API surface; the new code surface is the Result-based send_result() / _send__result() / ErrorInfo API. NOT regressions in the new code itself." +fix_scope = "These 13 failures will be resolved by the public_api_migration_20260606 follow-up track, which will: (a) update the 12 test files to call the new public API send_result() and patch the new _send__result() functions; (b) update the 3 src/app_controller.py except clauses to use the Result-based error pattern (check r.ok instead of catching ProviderError). Neither is in scope for the current track." + +# Group 1: AttributeError on renamed _send_*() functions (12 tests, tier-1-unit-core) +# Root cause: Task 3.4 renamed 9 _send_VENDOR to _send_VENDOR_result. +# The 12 failing tests in test_llama_provider.py, test_llama_ollama_native.py, +# test_grok_provider.py, test_minimax_provider.py still reference the old names. +[regressions_20260612.group_1_renamed_send_references] +count = 12 +error = "AttributeError: module 'src.ai_client' has no attribute _send_VENDOR" +fix_path = "Update test mocks to patch _send_VENDOR_result instead of _send_VENDOR; OR refactor tests to go through send_result() (the new public API). Belongs in public_api_migration_20260606." + +# Group 2: AttributeError on removed ProviderError (1 test, tier-3-live_gui) +# Root cause: Task 3.7 removed the ProviderError class from src/ai_client.py. +# The failing test patches src.ai_client.send to raise Exception, and the +# production code in src/app_controller.py:3707 catches ai_client.ProviderError +# which no longer exists. +[regressions_20260612.group_2_provider_error_caught] +count = 1 +error = "AttributeError: module 'src.ai_client' has no attribute ProviderError" +fix_path = "Update the 3 src/app_controller.py except clauses to use a Result-based error pattern (check r.ok from send_result() instead of catching ProviderError). Belongs in public_api_migration_20260606." + +[regressions_20260612.affected_test_files] +test_llama_provider_py = "3 tests: test_send_llama_ollama_backend, test_send_llama_openrouter_backend, test_send_llama_custom_url" +test_llama_ollama_native_py = "4 tests: test_send_llama_native_calls_ollama_chat_when_localhost, test_send_llama_native_preserves_thinking_field, test_send_llama_routes_to_native_when_localhost, test_send_llama_keeps_openai_path_for_non_local" +test_grok_provider_py = "3 tests: test_send_grok_uses_xai_endpoint, test_grok_web_search_adds_search_parameters_to_extra_body, test_grok_x_search_adds_x_source_to_extra_body" +test_minimax_provider_py = "2 tests: test_minimax_reasoning_extractor_used_when_caps_reasoning_true, test_minimax_reasoning_extractor_omitted_when_caps_reasoning_false" +test_live_gui_integration_v2_py = "1 test: test_user_request_error_handling" + +[regressions_20260612.affected_production_code] +app_controller_py_line_3707 = "except ai_client.ProviderError as e: - dead code now that ProviderError is removed; should be replaced with r.ok check on send_result()" +app_controller_py_line_313 = "same pattern, same fix" +app_controller_py_line_321 = "same pattern, same fix"