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>
89 lines
2.8 KiB
Markdown
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)
|