24e93a750f
Replaces self.client.delete_collection(name) with shutil.rmtree on the collection directory + recreate PersistentClient. This is more robust to file locks (WinError 32 on Windows) where the live_gui subprocess holds the file lock on the chroma collection. The original delete_collection call fails on locked files, leaving the collection in a broken state (dim mismatch) that causes subsequent RAG searches to hang. shutil.rmtree with ignore_errors=True handles this case more gracefully. Note: This fix is an improvement but may not fully resolve the test_rag_phase4_final_verify timeout in batched runs. The fundamental issue is that the live_gui subprocess (session-scoped fixture) holds file locks on the workspace's .slop_cache, and the test's pre-test cleanup cannot remove locked files from the same process. A complete fix would require either changing the fixture scope or implementing a more sophisticated lock-handling strategy in the RAG engine. Diagnosis documented in docs/reports/DIAGNOSIS_test_rag_phase4_final_verify.md.