Convention: Git API naming: orgSlug/repoSlug vs spaceSlug/universeSlug —...
Documentation for Sessions
📏 Convention: Git API naming: orgSlug/repoSlug vs spaceSlug/universeSlug —...
Date: 2026-03-23
Time: 18:21:16 UTC
Session: gspace1-258.8
Agent: angular
Confidence: 95%
Status: ✅ Documented
📋 Decision Context
Question:
Git API naming: orgSlug/repoSlug vs spaceSlug/universeSlug — which terminology for the git operations layer?
Task: Not specified
🎯 Decision Made
Chosen:
Full rename to spaceSlug/universeSlug across all layers: URL paths (/git/repos/:space/:universe), backend params, frontend types, API service methods. Zero references to orgSlug/repoSlug remain.
Options Considered:
- Keep URL paths as /git/repos/:org/:repo but rename internal variables only (less risk, still confusing)
- Full rename including URLs (breaking change, requires redeployment of all backends)
- Add aliases/adapters that accept both old and new naming (backwards compatible but adds complexity)
💭 Reasoning
orgSlug/repoSlug came from GitLab's group/project pattern when the git provider was first built (S188). As the platform moved to Hetzner self-hosted git, the GitLab terminology became confusing — 'org' means Space, 'repo' means Universe in GoGrab domain language. Inconsistent terminology causes bugs (S254: tenant data leak where wrong universe data displayed because matching logic used orgSlug instead of checking both space+universe). Renaming end-to-end eliminates the translation layer and makes the code self-documenting.
📁 Files Involved
APIs/sandbox-orchestrator/src/app/git/git.controller.tsAPIs/sandbox-orchestrator/src/app/git/git.service.tsAPIs/backend-api/src/app/git-provider/remote-git-provider.service.tsAPIs/backend-vitto-api/src/app/studio/universe-git.service.tslibs/libs-structural/git-operations/src/lib/models/git-operations.types.tslibs/libs-structural/git-operations/src/lib/services/git-operations-api.service.tslibs/libs-structural/git-operations/src/lib/services/git-operations-state.service.tslibs/libs-foundational/core-angular/src/lib/interfaces/git-provider.interface.ts
🔗 Related
- Decision ID:
dev_1774290076220_gebhijp - Session: 258
- Workspace: gspace1
Auto-generated by MCP Smart Consolidation