Private
Public Access
0
0

conductor(track): record 13 test regressions from Phase 3 refactor (deferred to public_api_migration_20260606)

This commit is contained in:
2026-06-12 21:13:35 -04:00
parent 99e7b6e87f
commit f04aeaea65
@@ -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_<vendor>_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_<vendor>_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"