diff --git a/conductor/tracks/code_path_audit_phase_3_provider_state_20260624/plan.md b/conductor/tracks/code_path_audit_phase_3_provider_state_20260624/plan.md index af33e0cf..29ddf91f 100644 --- a/conductor/tracks/code_path_audit_phase_3_provider_state_20260624/plan.md +++ b/conductor/tracks/code_path_audit_phase_3_provider_state_20260624/plan.md @@ -38,7 +38,7 @@ - HOW: `manual-slop_edit_file` per site - SAFETY: Run `tests/test_deepseek_provider` (7 tests) + `tests/test_ai_client_tool_loop*` + `tests/test_provider_state_migration.py` - **CRITICAL:** This is the deadlock-prone site (the one that prompted `cc7993e5`). The RLock fix in `provider_state` MUST remain in place. The `with history.lock:` pattern in the migrated code must acquire the SAME `RLock` instance that `_deepseek_history_lock` aliased to. -- [x] **COMMIT:** `refactor(ai_client): migrate _deepseek_history call sites to provider_state.get_history("deepseek")` (Tier 3, atomic) +- [x] **COMMIT:** `refactor(ai_client): migrate _deepseek_history call sites to provider_state.get_history("deepseek")` [79d0a56] (Tier 3, atomic) - [x] **GIT NOTE:** 7 sites migrated. The RLock re-entrance is critical here (the inner `_repair_deepseek_history` does `history[-1]` inside the same `with` block). Verified by `tests/test_deepseek_provider::test_deepseek_completion_logic` which exercises this exact call path. ## Phase 3: Migrate grok (1 task, 1 commit)