improve logfire observability with structured spans and attributes
- add top-level 'bufo_search' span to group all search operations
- rename spans to use service.operation pattern (voyage.embed_text, turbopuffer.query)
- add comprehensive attributes to each span and log:
* query text visible in all operations
* top_k parameter tracking
* embedding dimensions
* vector search distance metrics (min/max)
* result quality metrics (count, top result, scores)
- remove noisy turbopuffer response debug log
- all child spans now properly nested under parent search span
this creates a clear hierarchy in logfire:
bufo_search (parent)
├─ voyage.embed_text
└─ turbopuffer.query
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>