The proper architecture is: 1. Nodes are created with coords_3d = NONE 2. User manually triggers /api/calculate-graph 3. UMAP calculates 3D coordinates from embeddings 4. Coordinates are updated in batch Changed coords_3d TYPE from array<number> to option<array<number>> to allow NONE values. This fixes production error: "Found NONE for field coords_3d but expected array<number>" Schema has been deployed to production. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>