Register all active platform services and base features in core DB so admin can manage them, add delivery/hospitality/sports-center backend phases, update apps catalog and production deploy tooling. Co-authored-by: Cursor <cursoragent@cursor.com>
4.2 KiB
4.2 KiB
Phase Handover — 10.0 Delivery Platform Foundation
Metadata
| Field | Value |
|---|---|
| Phase ID | delivery-10.0 |
| Title | Delivery Platform Foundation |
| Status | Complete |
| Service(s) | delivery |
| Version | 0.10.0.0 |
| Date | 2026-07-25 |
| ADR(s) | ADR-015 |
Reusable Components
| Component | Location | Reuse notes |
|---|---|---|
| TenantBaseRepository | app/repositories/base.py |
All later Delivery repos |
| InMemoryEventPublisher | app/events/publisher.py |
Replace with outbox later |
| Provider Protocols | app/providers/contracts.py |
RoutingEngine / Fleet adapters |
| Permission enforcement | app/api/permissions.py |
Loyalty-style require_permissions |
Public APIs
| Method | Path | Auth / Permission | Notes |
|---|---|---|---|
| GET | /health |
Public | Liveness |
| GET | /capabilities |
Public | Feature discovery |
| GET | /metrics |
Public | Metrics discovery shell |
| * | /api/v1/organizations |
JWT + delivery.organizations.* |
CRUD + soft delete |
| * | /api/v1/hubs |
JWT + delivery.hubs.* |
CRUD + soft delete |
| * | /api/v1/external-providers |
JWT + delivery.external_providers.* |
Registration shells |
| * | /api/v1/routing-engines |
JWT + delivery.routing_engines.* |
Future engines ready |
| * | /api/v1/configurations |
JWT + delivery.configurations.* |
Policy shells |
| PUT/GET | /api/v1/settings |
JWT + delivery.settings.* |
Upsert/list |
| GET | /api/v1/audit |
JWT + delivery.audit.view |
Entity timeline |
Events
| Event type | Domain / Integration | Payload summary | Version |
|---|---|---|---|
delivery.organization.created |
Delivery | code, name | 0.10.0.0 |
delivery.organization.updated |
Delivery | code | 0.10.0.0 |
delivery.hub.created / updated |
Delivery | code, organization_id | 0.10.0.0 |
delivery.external_provider.registered / updated |
Delivery | code, adapter_key | 0.10.0.0 |
delivery.routing_engine.registered / updated |
Delivery | code, adapter_key | 0.10.0.0 |
delivery.configuration.created / updated |
Delivery | code | 0.10.0.0 |
delivery.setting.upserted |
Delivery | key | 0.10.0.0 |
Extension Points
| Extension point | How to extend | Forbidden uses |
|---|---|---|
| RoutingEngineProvider | Adapter implementing Protocol | Verticals calling routers directly |
| FleetProvider | Adapter implementing Protocol | Credentials outside Delivery |
| ExternalProviderConfig | Register adapter_key + credentials_ref | Embedding vendor SDKs in services layer |
| Capability flags | Expand /capabilities per phase |
Claiming engines before implemented |
Known Limitations
- No driver / fleet / dispatch / routing / tracking engines
- Event publisher is in-memory (no durable outbox drain yet)
- Metrics are discovery shells, not live counters
- Driver App / Dispatcher Panel UI deferred to frontend
- Compose health depends on postgres being available
Migration Notes
| Item | Detail |
|---|---|
| Alembic revision(s) | 0001_initial |
| Upgrade steps | python scripts/ensure_db.py && alembic upgrade head |
| Downgrade support | metadata.drop_all |
| Data backfill | None |
| Breaking changes | None (new service) |
Dependencies
| Dependency | Type | Required for |
|---|---|---|
| ADR-015 / DP-Reg handover | Docs | Boundaries |
| Core Platform | Service | Entitlement (runtime) |
| shared-lib | Library | JWT, events, exceptions |
| Postgres | Infra | delivery_db |
Next Phase Entry
| Field | Value |
|---|---|
| Recommended next phase | delivery-10.1 Driver Management |
| Blockers for next phase | None |
| Entry checklist | Read this handover + delivery-phase-10-0.md + ADR-015; implement drivers only — no dispatch yet |
Completion Sign-Off
- Quality gates passed
- Tests green
- Documentation updated
- Progress / next-steps / registries updated
- No unfinished claimed deliverables
- Self audit completed