Bugfix: Why do universe document _id and collection name prefixes mi...
Documentation for Sessions
🐛 Bugfix: Why do universe document _id and collection name prefixes mi...
Date: 2026-03-16
Time: 16:55:06 UTC
Session: gspace1-225.5
Agent: angular
Confidence: 95%
Status: ✅ Documented
📋 Decision Context
Question:
Why do universe document _id and collection name prefixes mismatch (wly1ktx vs w1y1ktx)?
Task: Not specified
🎯 Decision Made
Chosen:
Pass universeId as REQUIRED parameter in ALL generation requests. StudioVittoBridgeService.generateModule() and generatePlatform() now require universeId. CrudGeneratorService uses project.universeId instead of spaceId fallback.
Options Considered:
- Deduplicate Math.random ID generation into a single utility — partial fix, doesn't prevent omission
- Add backend validation that universeId matches existing doc — defense in depth but doesn't fix root
- Make universeId REQUIRED in generation API contracts (chosen) — prevents the mismatch at source
- Use deterministic IDs (hash-based) — would prevent randomness but doesn't fix the missing parameter
💭 Reasoning
Root cause chain: (A) StudioVittoBridgeService.generateModule() did NOT pass universeId to backend. (B) CrudGeneratorService line 39 used spaceId AS universeId: 'const universeId = spaceId'. (C) Universe IDs generated by Math.random().toString(36).substring(2,9) — two calls at different times produce different suffixes. (D) Without universeId in the request, BackendSetupPhase either skipped collection creation or used a regenerated ID. Result: universe doc _id='w1y1ktx' but collections created under 'wly1ktx'. Fix ensures single source of truth: universe _id from project context flows through every generation request unchanged.
📁 Files Involved
libs/libs-structural/vitto-studio/src/lib/services/studio-vitto-bridge.service.tslibs/libs-structural/vitto-studio/src/lib/services/crud-generator.service.tslibs/libs-structural/vitto-studio/src/lib/components/studio-shell/studio-shell.component.ts
🔗 Related
- Decision ID:
dev_1773680105956_og7git7 - Session: 225
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation