Skip to content

Commit 2f094ea

Browse files
committed
docs: pin channel install implementation plan
1 parent 73b7d03 commit 2f094ea

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

docs/2026-04-24-channel-installation-data-model.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,34 @@ During the migration window, the deployment backend can keep serving the old
733733
session exchange response shape by reading from the new storage and projecting
734734
the legacy response.
735735

736+
## Implementation Plan
737+
738+
This design is ready to implement as a v1.
739+
740+
The build should happen in this order:
741+
742+
1. Add deployment-backend storage and migrations for the logical entities.
743+
Spritz core should not create these tables.
744+
2. Add deployment-backend management APIs for installations, connections,
745+
routes, and provider channel lookup.
746+
3. Add a compatibility projection for the current channel session exchange so
747+
existing gateways can keep working during migration.
748+
4. Update provider gateways and runtime config generation to read channel
749+
route policy from the new API shape.
750+
5. Add Spritz settings pages over the generic management APIs.
751+
6. Migrate existing `installation_config.channelPolicies[]` data into
752+
`channel_route` records.
753+
754+
The remaining choices are implementation details, not design blockers:
755+
756+
- exact endpoint or resolver names for the management APIs
757+
- whether existing rows migrate in place or through a compatibility projection
758+
- the database-specific mechanism for enforcing one active default connection
759+
per installation
760+
- whether `namespace` remains necessary once runtime references are resolved
761+
consistently
762+
- the exact provider-channel-list pagination and search behavior
763+
736764
## Validation
737765

738766
Minimum validation for this model:

0 commit comments

Comments
 (0)