TorbatYar/docs/phase-handover/phase-11-1.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

89 lines
2.8 KiB
Markdown

# Phase Handover — Experience 11.1 Sites & Page Resources
## Metadata
| Field | Value |
| --- | --- |
| Phase ID | `experience-11.1` |
| Title | Sites & Page Resources |
| Status | Complete |
| Service(s) | `experience` (`experience_db`) |
| Version | `0.11.1.0` |
| Date | 2026-07-25 |
| ADR(s) | [ADR-016](../architecture/adr/ADR-016.md) |
## Reusable Components
| Component | Location | Reuse notes |
| --- | --- | --- |
| Sites module | `app/models/sites.py`, `services/sites.py` | Page types + publish lifecycle |
| Domain bindings | `ExperienceSiteDomain` | Host refs only; no DNS ownership |
## Public APIs
| Method | Path | Permission |
| --- | --- | --- |
| CRUD + publish/archive | `/api/v1/sites` | `experience.sites.*` |
| CRUD + publish/archive | `/api/v1/pages` | `experience.pages.*` |
| CRUD | `/api/v1/site-domains` | `experience.domains.*` |
## Events
| Event type | Notes |
| --- | --- |
| `experience.site.created/updated/published/unpublished/archived` | Site lifecycle |
| `experience.page.created/updated/published/unpublished/archived` | Page lifecycle |
| `experience.site_domain.bound/updated` | Domain binding |
## Extension Points
| Extension point | How to extend | Forbidden uses |
| --- | --- | --- |
| `content_shell` / `seo_shell` | Later builder/SEO phases fill structure | Treat as full page builder in 11.1 |
| `external_refs` | Vertical entity refs (menu/product/…) | Shared DB with Hospitality/Marketplace |
| Domain verification | Mark `is_verified` when edge confirms | Own Nginx/DNS in Experience |
## Known Limitations
- No sections/rows/columns/widgets (11.2)
- No themes/templates
- Domain verification token is local shell only
- Public render UI remains frontend
## Migration Notes
| Item | Detail |
| --- | --- |
| Alembic revision(s) | `0002_phase_111_sites_pages` |
| Upgrade steps | `alembic upgrade head` |
| Downgrade support | Drops `experience_sites`, `experience_pages`, `experience_site_domains` |
| Breaking changes | None (additive) |
## Dependencies
| Dependency | Type |
| --- | --- |
| experience-11.0 workspaces | Required parent |
| ADR-016 | Boundaries |
## Next Phase Entry
| Field | Value |
| --- | --- |
| Recommended next phase | `experience-11.2` Component Library & Versioning |
| Entry checklist | Read this handover + phase doc; implement versioned components only — no theme engine yet |
## Completion Sign-Off
- [x] Quality gates passed
- [x] Tests green
- [x] Documentation updated
- [x] Progress / next-steps / registries updated
- [x] Self audit completed
## Related Documents
- [Experience Phase 11.1](../experience-phase-11-1.md)
- [Experience Roadmap](../experience-roadmap.md)
- [ADR-016](../architecture/adr/ADR-016.md)