TorbatYar/docs/phase-handover/phase-11-0.md
Mortezakoohjani 203671a7bf feat(experience): ship Experience Platform phases 11.0-11.10
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>
2026-07-27 11:43:10 +03:30

105 lines
3.8 KiB
Markdown

# Phase Handover — Experience 11.0 Foundation
## Metadata
| Field | Value |
| --- | --- |
| Phase ID | `experience-11.0` |
| Title | Experience Platform Foundation |
| Status | Complete |
| Service(s) | `experience` |
| Version | `0.11.0.0` |
| Date | 2026-07-25 |
| ADR(s) | [ADR-016](../architecture/adr/ADR-016.md) |
## Reusable Components
| Component | Location | Reuse notes |
| --- | --- | --- |
| Foundation scaffold | `backend/services/experience` | Pattern from Delivery/Hospitality |
| Provider contracts | `app/providers/contracts.py` | Protocols only |
| In-memory event publisher | `app/events/publisher.py` | Testable publish-only |
## Public APIs
| Method | Path | Auth / Permission | Notes |
| --- | --- | --- | --- |
| GET | `/health` | Public | Liveness |
| GET | `/capabilities` | Public | Feature discovery |
| GET | `/metrics` | Public | Discovery shell |
| * | `/api/v1/workspaces` | `experience.workspaces.*` | Root workspace |
| * | `/api/v1/locale-profiles` | `experience.locale_profiles.*` | RTL/LTR locale shells |
| * | `/api/v1/external-providers` | `experience.external_providers.*` | Theme/CDN/etc adapters |
| * | `/api/v1/render-engines` | `experience.render_engines.*` | Future SSG/render adapters |
| * | `/api/v1/configurations` | `experience.configurations.*` | Config shells |
| * | `/api/v1/settings` | `experience.settings.*` | KV settings |
| GET | `/api/v1/audit` | `experience.audit.view` | Audit trail |
## Events
| Event type | Domain | Version |
| --- | --- | --- |
| `experience.workspace.created/updated` | Workspace | 1 |
| `experience.locale_profile.created/updated` | Locale | 1 |
| `experience.external_provider.registered/updated` | Providers | 1 |
| `experience.render_engine.registered/updated` | Render | 1 |
| `experience.configuration.created/updated` | Config | 1 |
| `experience.setting.upserted` | Settings | 1 |
## Extension Points
| Extension point | How to extend | Forbidden uses |
| --- | --- | --- |
| Render engines | Register adapter_key | Implement full SSG in this phase |
| External providers | ProviderKind + credentials_ref | Store secrets in plain config |
| Consumer integrations | Later 11.9 connectors | Shared DB with Hospitality/Marketplace |
## Known Limitations
- No sites/pages/components/themes/templates/forms yet (11.1+)
- No bundle licensing engine yet (11.8)
- Event bus is in-memory publish-only (no outbox table yet)
- Public site / builder UI remains frontend
## Migration Notes
| Item | Detail |
| --- | --- |
| Alembic revision(s) | `0001_initial` |
| Upgrade steps | `alembic upgrade head` after `experience_db` exists |
| Downgrade support | `drop_all` via revision downgrade |
| Data backfill | N/A |
| Breaking changes | None (new service) |
## Dependencies
| Dependency | Type | Required for |
| --- | --- | --- |
| ADR-016 / XP-Reg | Docs | Boundaries |
| Core Platform | Service | Entitlement / JWT |
| shared-lib | Library | Envelope / exceptions |
## Next Phase Entry
| Field | Value |
| --- | --- |
| Recommended next phase | `experience-11.1` Sites & Page Resources |
| Blockers | None |
| Entry checklist | Read this handover + [experience-phase-11-0.md](../experience-phase-11-0.md) + [experience-roadmap.md](../experience-roadmap.md); implement sites/pages only — no theme/template engines |
## Completion Sign-Off
- [x] Quality gates passed
- [x] Tests green
- [x] Documentation updated
- [x] Progress / next-steps / registries updated
- [x] No unfinished claimed deliverables
- [x] Self audit completed
## Related Documents
- [Experience Phase 11.0](../experience-phase-11-0.md)
- [Experience Roadmap](../experience-roadmap.md)
- [ADR-016](../architecture/adr/ADR-016.md)
- [Service README](../../backend/services/experience/README.md)