Critical fixes for core functionality:
1. Fixed grapheme-aware text splitting (app/api/nodes/route.ts)
- Changed character-based substring to grapheme-ratio calculation
- Now properly handles emojis and multi-byte characters
- Prevents posts from exceeding 300 grapheme Bluesky limit
- Added comprehensive logging for debugging
2. Automatic UMAP coordinate calculation (app/api/nodes/route.ts)
- Triggers /api/calculate-graph automatically after node creation
- Only when user has 3+ nodes with embeddings (UMAP minimum)
- Non-blocking background process
- Eliminates need for manual "Calculate Graph" button
- Galaxy visualization ready on first visit
3. Simplified galaxy route (app/api/galaxy/route.ts)
- Removed auto-trigger logic (now handled on insertion)
- Simply returns existing coordinates
- More efficient, no redundant calculations
4. Added idempotency (app/api/calculate-graph/route.ts)
- Safe to call multiple times
- Returns early if all nodes already have coordinates
- Better logging for debugging
Implementation plans documented in /plans directory.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>