test(ai_loop): add FR1/FR2/FR3 tests for ai_loop_regressions_20260614 (TDD red)

3 bug groups, all reproducing documented regressions:
- test_fr1_*: error response becomes a discussion entry (Bug #2)
- test_fr2_*: no ProviderError references in src/app_controller.py (Bug #1)
- test_fr3_*: MiniMax thinking mono rendering in returned text (Bug #3)

4 critical tests fail for the documented reasons; 3 sanity checks pass.
This commit is contained in:
ed
2026-06-15 09:18:07 -04:00
parent 52c01c6cbc
commit 44dc90bca8
2 changed files with 302 additions and 0 deletions
@@ -0,0 +1,50 @@
# Track state for ai_loop_regressions_20260614
# Updated by Tier 2 Tech Lead as tasks complete
[meta]
track_id = "ai_loop_regressions_20260614"
name = "AI Loop Regressions (MiniMax, Gemini, Gemini CLI, DeepSeek)"
status = "active"
current_phase = 0
last_updated = "2026-06-15"
[blocked_by]
# None - independent track
[blocks]
public_api_migration_20260606 = "planned"
[phases]
phase_1 = { status = "pending", checkpointsha = "", name = "Root-Cause Verification (TDD Red)" }
phase_2 = { status = "pending", checkpointsha = "", name = "Fix FR1 (Bug #2): error response becomes a discussion entry" }
phase_3 = { status = "pending", checkpointsha = "", name = "Fix FR2 (Bug #1): replace dead except ProviderError clauses" }
phase_4 = { status = "pending", checkpointsha = "", name = "Fix FR3 (Bug #3): MiniMax thinking mono rendering" }
phase_5 = { status = "pending", checkpointsha = "", name = "Regression Sweep + Documentation" }
[tasks]
t1_1 = { status = "pending", commit_sha = "", description = "Create test file with FR1 test scaffold" }
t1_2 = { status = "pending", commit_sha = "", description = "Add FR2 test scaffold" }
t1_3 = { status = "pending", commit_sha = "", description = "Add FR3 test scaffold" }
t1_4 = { status = "pending", commit_sha = "", description = "Verify all tests fail for the right reason" }
t2_1 = { status = "pending", commit_sha = "", description = "Update _handle_request_event to use send_result() and route errors" }
t2_2 = { status = "pending", commit_sha = "", description = "Add live_gui regression test for the error path" }
t2_3 = { status = "pending", commit_sha = "", description = "Verify no regression in other providers" }
t3_1 = { status = "pending", commit_sha = "", description = "Replace the 3 dead except ProviderError sites" }
t3_2 = { status = "pending", commit_sha = "", description = "Add docstring reference to styleguide" }
t3_3 = { status = "pending", commit_sha = "", description = "Verify all FR2 tests pass" }
t4_1 = { status = "pending", commit_sha = "", description = "Implement thinking-wrap in run_with_tool_loop" }
t4_2 = { status = "pending", commit_sha = "", description = "Verify other providers unaffected" }
t4_3 = { status = "pending", commit_sha = "", description = "Add live_gui regression test for MiniMax thinking-mono rendering" }
t5_1 = { status = "pending", commit_sha = "", description = "Run full test suite" }
t5_2 = { status = "pending", commit_sha = "", description = "Add follow-up notes to docs/guide_ai_client.md" }
t5_3 = { status = "pending", commit_sha = "", description = "Update metadata.json to mark track complete" }
t5_4 = { status = "pending", commit_sha = "", description = "Announce track complete" }
[verification]
all_tests_pass = false
no_provider_error_references = false
full_suite_green = false
live_gui_minimax_thinking = false
live_gui_error_entry = false
live_gui_gemini_unaffected = false
docs_updated = false