remember() now writes the brain_memories row with indexed_at=null and dispatches EmbedMemory::dispatch($memory->id) for async Qdrant + ES indexing, instead of calling qdrantUpsert() synchronously. Response shape matches the row state — caller gets the memory immediately, the Job flips indexed_at once the Qdrant write succeeds. Superseded rows still soft-delete synchronously (part of the remember contract, not the indexing path). php/tests/Feature/Services/BrainServiceRememberTest.php uses Queue::fake() to assert EmbedMemory is dispatched and BrainService::qdrantUpsert() is NOT called directly (subclass probe). Co-authored-by: Codex <noreply@openai.com> Closes tasks.lthn.sh/view.php?id=55 |
||
|---|---|---|
| .. | ||
| BrainServiceElasticTest.php | ||
| BrainServiceRememberTest.php | ||