Files
git.stella-ops.org/docs/db/tasks/PHASE_3_NOTIFY.md
StellaOps Bot 2548abc56f
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
up
2025-11-29 01:35:49 +02:00

3.4 KiB

Phase 3: Notify Module Conversion

Sprint: 4 Duration: 1 sprint Status: TODO Dependencies: Phase 0 (Foundations)


Objectives

  1. Create StellaOps.Notify.Storage.Postgres project
  2. Implement Notify schema in PostgreSQL
  3. Implement 15 repository interfaces
  4. 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.channels
  • notify.rules
  • notify.templates
  • notify.deliveries
  • notify.digests
  • notify.quiet_hours
  • notify.maintenance_windows
  • notify.escalation_policies
  • notify.escalation_states
  • notify.on_call_schedules
  • notify.inbox
  • notify.incidents
  • notify.audit

Task Breakdown

T3.1: Create Notify.Storage.Postgres Project

Status: TODO Estimate: 0.5 days

Subtasks:

  • Create project structure
  • Add NuGet references
  • Create NotifyDataSource class
  • 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