This commit resolves several critical issues that prevented the plugin from
working correctly with Qdrant and adds essential metadata to indexed chunks.
**Settings & Configuration:**
- Fix settings initialization using deep merge instead of shallow Object.assign
- Prevents nested settings from being lost during load
- Ensures all default values are properly preserved
- Add orchestrator reinitialization when settings are saved
- Ensures QdrantClient and embedding providers use updated settings
- Fixes issue where plugin used localhost instead of saved HTTPS URL
**UUID Generation:**
- Fix generateDeterministicUUID() creating invalid UUIDs
- Was generating 35-character UUIDs instead of proper 36-character format
- Now correctly creates valid UUID v4 format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
- Properly generates segment 5 (12 hex chars) from combined hash data
- Fixes segment 4 to start with 8/9/a/b per UUID spec
- Resolves Qdrant API rejections: "value X is not a valid point ID"
**Chunk Metadata:**
- Add chunk_text field to ChunkMetadata type
- Stores the actual text content of each chunk in Qdrant payload
- Essential for displaying search results and content preview
- Add model name to chunk metadata
- Populates model field with embedding provider name (e.g., "nomic-embed-text")
- Enables tracking which model generated each embedding
- Supports future multi-model collections
**Debug Logging:**
- Add logging for settings loading and URL tracking
- Add logging for QdrantClient initialization
- Add logging for orchestrator creation with settings
**Documentation:**
- Add CLAUDE.md with comprehensive architecture documentation
- Build commands and development workflow
- Core components and data processing pipeline
- Important implementation details and debugging guide
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>