Add the experience service with sites through analytics/AI hooks, migrations through 0011, and phase docs/manifests marking the track complete. Co-authored-by: Cursor <cursoragent@cursor.com>
3.1 KiB
3.1 KiB
Phase: Experience Platform Foundation (11.0)
| Field | Value |
|---|---|
| Identifier | experience-11.0 |
| Status | Complete |
| Owner | Platform |
| Module(s) | Experience foundation shells |
| Service(s) | experience (Torbat Pages) |
| Depends On | experience-reg |
| ADR(s) | ADR-016 |
| Manifest | phase-manifest.yaml |
Objective
Scaffold the independent Experience Platform service (experience_db, port 8008) with health/capabilities/metrics, tenant-aware foundation aggregates, permissions, publish-only events, audit/config shells, and provider contracts — without page/theme/template engines.
Scope
In Scope
- FastAPI service under
backend/services/experience - Alembic
0001_initialfor foundation tables GET /health,/capabilities,/metrics- Workspaces, locale profiles, external providers, render-engine registrations, configurations, settings, audit
- Permissions
experience.*; eventsexperience.* - Compose /
.env.example/init-dbs.sqlwiring - Architecture, tenant isolation, security, migration, docs tests
Models
| Entity | Soft delete | Audit | Tenant |
|---|---|---|---|
| ExperienceWorkspace | Yes | Yes | Yes |
| ExperienceLocaleProfile | Yes | Yes | Yes |
| ExperienceRole / Permission | Yes | Yes | Yes |
| ExternalProviderConfig | Yes | Yes | Yes |
| RenderEngineRegistration | Yes | Yes | Yes |
| ExperienceConfiguration | Yes | Yes | Yes |
| ExperienceSetting | Yes | Yes | Yes |
| ExperienceAuditLog | No | Append-only | Yes |
Permissions
experience.view|manage, experience.workspaces.*, experience.locale_profiles.*, experience.external_providers.*, experience.render_engines.*, experience.configurations.*, experience.settings.*, experience.audit.view, plus planned sites|pages|components|themes|templates|forms trees.
Events
experience.workspace.*, experience.locale_profile.*, experience.external_provider.*, experience.render_engine.*, experience.configuration.*, experience.setting.upserted
APIs
| Method | Path |
|---|---|
| GET | /health, /capabilities, /metrics |
| CRUD shells | /api/v1/workspaces, /locale-profiles, /external-providers, /render-engines, /configurations, /settings, /audit |
Tests
- Unit / architecture / dependency / permissions
- Integration / API + tenant isolation
- Migration / security / documentation
Out of Scope
- Sites / pages / page builder / themes / templates / CMS / forms engines
- Bundle licensing deep engine (shell readiness only via capabilities)
- Frontend builder UI
- Cross-DB access
Completion Criteria
- Scaffold + migration + health/capabilities/metrics
- Tenant isolation + architecture + docs tests green
- No page/theme/template engines beyond foundation shells
- Docs / manifests / handover updated