# 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](architecture/adr/ADR-016.md) |
| Manifest | [phase-manifest.yaml](ai-framework/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_initial` for foundation tables
- `GET /health`, `/capabilities`, `/metrics`
- Workspaces, locale profiles, external providers, render-engine registrations, configurations, settings, audit
- Permissions `experience.*`; events `experience.*`
- Compose / `.env.example` / `init-dbs.sql` wiring
- 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

- [x] Unit / architecture / dependency / permissions
- [x] Integration / API + tenant isolation
- [x] 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

- [x] Scaffold + migration + health/capabilities/metrics
- [x] Tenant isolation + architecture + docs tests green
- [x] No page/theme/template engines beyond foundation shells
- [x] Docs / manifests / handover updated

## Related Documents

- [Experience Roadmap](experience-roadmap.md)
- [Handover](phase-handover/phase-11-0.md)
- [ADR-016](architecture/adr/ADR-016.md)
- [XP-Reg Handover](phase-handover/phase-xp-reg.md)
