1.8 KiB
1.8 KiB
Configuration Standards
Status: Mandatory Date: 2026-07-03
Source of Truth
- All runtime application configuration originates from bootstrap payload.
- ConfigService is the only component allowed to load configuration.
- No direct JSON loading outside ConfigService.
Provider Abstraction
- Configuration provider must be swappable.
- Mock and API providers must return identical schema.
- Consumer code remains unchanged when provider changes.
Bootstrap Contract Scope
Bootstrap includes at minimum:
- Tenant
- Branding
- Theme
- Company
- Feature flags
- Navigation
- Pages, sections, widgets
- Localization
- SEO
- Permissions and capability model
- Endpoint descriptors
Backend Compatibility
- Frontend calls GET /bootstrap.
- Backend resolves tenant from Host.
- Frontend does not send tenant id/project key.
Validation and Versioning
- Bootstrap payload must include schema version.
- Validate payload before applying to runtime.
- Invalid payload fails fast with controlled fallback.
Mock Rules
- Mock payloads must match future API responses exactly.
- No mock-only fields.
- No mock-only nesting conventions.
Sprint 11.5 Bootstrap Audit Addendum
- Every configurable website behavior must be representable in bootstrap contracts or widget metadata.
- Missing configuration must be documented before implementation work starts.
- Frontend teams must not implement backend contract changes in standardization sprints.
Current documented gaps:
- Widget role/permission enforcement requires richer auth session claims than currently available.
- Catalog popular-search defaults should move from facade constants into bootstrap
catalogconfig. - Optional override support for persistent-storage key prefixes is not yet represented in bootstrap schema.