3.4 KiB
3.4 KiB
Phase 3: Notify Module Conversion
Sprint: 4 Duration: 1 sprint Status: TODO Dependencies: Phase 0 (Foundations)
Objectives
- Create
StellaOps.Notify.Storage.Postgresproject - Implement Notify schema in PostgreSQL
- Implement 15 repository interfaces
- Handle delivery tracking and escalation state
Deliverables
| Deliverable | Acceptance Criteria |
|---|---|
| Notify schema | All tables created with indexes |
| Repository implementations | All 15 interfaces implemented |
| Integration tests | 100% coverage of CRUD operations |
| Verification report | Notification delivery verified |
Schema Reference
See SPECIFICATION.md Section 5.5 for complete Notify schema.
Tables:
notify.channelsnotify.rulesnotify.templatesnotify.deliveriesnotify.digestsnotify.quiet_hoursnotify.maintenance_windowsnotify.escalation_policiesnotify.escalation_statesnotify.on_call_schedulesnotify.inboxnotify.incidentsnotify.audit
Task Breakdown
T3.1: Create Notify.Storage.Postgres Project
Status: TODO Estimate: 0.5 days
Subtasks:
- Create project structure
- Add NuGet references
- Create
NotifyDataSourceclass - Create
ServiceCollectionExtensions.cs
T3.2: Implement Schema Migrations
Status: TODO Estimate: 1 day
Subtasks:
- Create schema migration
- Include all tables and indexes
- Test migration idempotency
T3.3: Implement Channel Repository
Status: TODO Estimate: 0.5 days
Subtasks:
- Implement CRUD operations
- Handle channel types (email, slack, teams, etc.)
- Write integration tests
T3.4: Implement Rule Repository
Status: TODO Estimate: 0.5 days
Subtasks:
- Implement CRUD operations
- Handle filter JSONB
- Write integration tests
T3.5: Implement Template Repository
Status: TODO Estimate: 0.5 days
Subtasks:
- Implement CRUD operations
- Handle localization
- Write integration tests
T3.6: Implement Delivery Repository
Status: TODO Estimate: 1 day
Subtasks:
- Implement CRUD operations
- Handle status transitions
- Implement retry logic
- Write integration tests
T3.7: Implement Remaining Repositories
Status: TODO Estimate: 2 days
Subtasks:
- Implement Digest repository
- Implement QuietHours repository
- Implement MaintenanceWindow repository
- Implement EscalationPolicy repository
- Implement EscalationState repository
- Implement OnCallSchedule repository
- Implement Inbox repository
- Implement Incident repository
- Implement Audit repository
- Write integration tests for all
T3.8: Add Configuration Switch
Status: TODO Estimate: 0.5 days
T3.9: Run Verification Tests
Status: TODO Estimate: 1 day
Subtasks:
- Test notification delivery flow
- Test escalation handling
- Test digest aggregation
- Generate verification report
T3.10: Switch to PostgreSQL-Only
Status: TODO Estimate: 0.5 days
Exit Criteria
- All 15 repository interfaces implemented
- All integration tests pass
- Notification delivery working end-to-end
- Notify running on PostgreSQL in production
Phase Version: 1.0.0 Last Updated: 2025-11-28