Explore this system
Step through curated paths without changing the source diagram.
Beat
Next
ReadyChapter 01 / 01
Guided chapter
Diagram guideExplore this system
Inspecting compiled semantics
E ExportT ThemeS Style0 Reset+ Zoom in- Zoom outEsc Close
Find a node
⌕/
No matching nodes
Semantic passport
Verified source
Authored reach
Route probeChoose a start node
Pick two semantic nodes on the diagram
Choose the source, then the destination. Direction matters.
Semantic lensCompare system roles
Choose up to two semantic kinds. One reveals its real traffic; two compare only direct authored relationships.
Choose a kind to inspect its nodes and touching relationships.
Semantic radar
Building overview
Click nodeDrag to pan
Semantic radar needs more MAP space.
El happy path
• Push a una PR dispara Vercel (preview URL) y Railway staging en paralelo.
• Railway staging corre db:sync-preview: las 16 migraciones + auditoría de permisos + seed. Si la auditoría falla, el deploy aborta.
• Vercel y staging se conectan por la variable API_INTERNAL_URL del preview — Better Auth valida el Origin con *.vercel.app.
Por qué staging sincroniza su schema, no el de prod
• Staging lee AQUAZAKU_ENV=preview. El migrador consulta searchPathFor(env) — apunta a schema preview, no a public.
• Si el sync a preview falla, la producción sigue arriba: ningún path toca el schema public desde staging.
• Cada merge a main resetea el schema preview. Es descartable: si quedó mal, se tira a la basura.
El 403 de Better Auth es la señal canaria
• Si después de un deploy el sign-in devuelve 403, el wildcard *.vercel.app en trustedOrigins no está cubriendo el subdominio que emite Vercel.
• La fix es agregar el subdominio explícito o ajustar el patrón. La auditoría de CI no lo detecta — es runtime, y es la única verificación que prueba que el ciclo preview funciona end-to-end.