Summary
Deprecate and remove script-based catalog bootstrap (scripts/init-demo-catalog.sh) and replace all setup guidance with API-driven repository creation.
The new bootstrap flow must be namespace-aware and deterministic:
- If no namespaces exist, create repository in
default
- If user belongs to exactly one namespace, create repository there when namespace is omitted
- If user belongs to multiple namespaces and namespace is omitted, fail with an explicit error
In Scope
- Remove script-based repository bootstrap from user/developer workflows
- Mark
scripts/init-demo-catalog.sh as deprecated, then remove it once API parity is complete
- Replace documentation examples that use the init script with API-first steps
- Define and implement namespace resolution logic for repository creation when namespace is not provided
- Return actionable API errors for ambiguous namespace selection
- Add tests for namespace-selection behavior and bootstrap success/failure modes
Out of Scope
- UI-driven repository creation experience
- Authorization model redesign
- Non-repository initialization scripts (license checks, git hooks, etc.)
Acceptance Criteria
Implementation Notes
This change removes an avoidable source of environment drift between local files and service data mounts, and aligns onboarding with production behavior. Script-based bootstrap can silently create repos in paths not used by running services, causing confusing empty-repo outcomes. API-first creation enforces one authoritative control plane and enables consistent namespace policy behavior.
The namespace fallback rules are sensible and user-friendly:
default for zero namespaces preserves quick-start ergonomics
- single-namespace inference avoids unnecessary verbosity
- multi-namespace ambiguity must fail to prevent accidental writes to the wrong tenant
Dependencies
Tracking
- Area:
infra
- Priority:
p2 – high
- Target Milestone / Release: TBD
Summary
Deprecate and remove script-based catalog bootstrap (
scripts/init-demo-catalog.sh) and replace all setup guidance with API-driven repository creation.The new bootstrap flow must be namespace-aware and deterministic:
defaultIn Scope
scripts/init-demo-catalog.shas deprecated, then remove it once API parity is completeOut of Scope
Acceptance Criteria
scripts/init-demo-catalog.shdefaultdocs/developer-guide.mdanddocs/user-guide.mdno longer instruct users to run init script for bootstrapImplementation Notes
This change removes an avoidable source of environment drift between local files and service data mounts, and aligns onboarding with production behavior. Script-based bootstrap can silently create repos in paths not used by running services, causing confusing empty-repo outcomes. API-first creation enforces one authoritative control plane and enables consistent namespace policy behavior.
The namespace fallback rules are sensible and user-friendly:
defaultfor zero namespaces preserves quick-start ergonomicsDependencies
Tracking
infrap2 – high