from duck_core.experience.recorder import ExperienceRecorder, ExperienceRecord from duck_core.model_client import ModelClient class Reflection: def __init__(self, model_client: ModelClient, recorder: ExperienceRecorder): self.model_client = model_client self.recorder = recorder async def reflect(self, task_id: str, transcript: str) -> ExperienceRecord: response = await self.model_client.chat( "critic", [ { "role": "user", "content": ( "Reflect on this DuckLM task. Cover outcome, waste, JSON/tool issues, " f"and reusable lesson.\n\n{transcript}" ), } ], ) return await self.recorder.record( task_id=task_id, summary=response.content[:500], result="unknown", reusable_lesson=response.content, confidence=0.5, )