Add tracing/logging for every LLM call and vector query. Log tokens in/out, latency, and cost estimates. Persist in events table.
Acceptance Criteria:
• Token counts recorded per step.
• Latency measured per request.
• Costs computed (based on $/token) and saved.