[Phase 1] SLA Management UI and Configuration #10

Closed
opened 2026-03-10 03:42:04 +00:00 by Mark · 2 comments
Owner

Overview

Basic SLA tracking exists in the backend, but there's no UI for configuring SLA policies or viewing SLA compliance. This is needed for proper SLA management.

Current State

  • ✅ Backend: SLA tracking fields exist on tickets (sla_response_due, sla_resolve_due)
  • ✅ Basic SLA breach tracking
  • ❌ No SLA policy configuration UI
  • ❌ No SLA rules engine
  • ❌ No SLA breach notifications

Required Implementation

1. SLA Policy Configuration

Create configurable SLA policies:

  • Response time targets by priority (low, medium, high, urgent)
  • Resolution time targets by priority
  • Business hours configuration (working days, hours)
  • Holiday calendar

2. SLA Rules Engine

  • Automatic SLA calculation on ticket creation
  • Priority-based SLA assignment
  • Customer-specific SLA tiers
  • Override capabilities

3. SLA Breach Notifications

  • Email alerts for upcoming SLA breaches
  • Email alerts for breached SLAs
  • Dashboard indicators for at-risk tickets

4. SLA Reporting

  • SLA compliance rate metrics
  • Average response time
  • Average resolution time
  • Breach reasons analysis

5. SLA UI

  • SLA policy configuration page (admin)
  • SLA status indicators on tickets
  • SLA report page

Acceptance Criteria

  • SLA policy configuration API and UI
  • Business hours configuration
  • SLA rules engine implemented
  • SLA breach notifications
  • SLA compliance dashboard
  • SLA reporting page
  • Tests for SLA calculations
  • ROADMAP.md - Phase 1.5

Priority

🟡 MEDIUM

Effort Estimate

Medium (3-4 days)

## Overview Basic SLA tracking exists in the backend, but there's no UI for configuring SLA policies or viewing SLA compliance. This is needed for proper SLA management. ## Current State - ✅ Backend: SLA tracking fields exist on tickets (`sla_response_due`, `sla_resolve_due`) - ✅ Basic SLA breach tracking - ❌ No SLA policy configuration UI - ❌ No SLA rules engine - ❌ No SLA breach notifications ## Required Implementation ### 1. SLA Policy Configuration Create configurable SLA policies: - Response time targets by priority (low, medium, high, urgent) - Resolution time targets by priority - Business hours configuration (working days, hours) - Holiday calendar ### 2. SLA Rules Engine - Automatic SLA calculation on ticket creation - Priority-based SLA assignment - Customer-specific SLA tiers - Override capabilities ### 3. SLA Breach Notifications - Email alerts for upcoming SLA breaches - Email alerts for breached SLAs - Dashboard indicators for at-risk tickets ### 4. SLA Reporting - SLA compliance rate metrics - Average response time - Average resolution time - Breach reasons analysis ### 5. SLA UI - SLA policy configuration page (admin) - SLA status indicators on tickets - SLA report page ## Acceptance Criteria - [ ] SLA policy configuration API and UI - [ ] Business hours configuration - [ ] SLA rules engine implemented - [ ] SLA breach notifications - [ ] SLA compliance dashboard - [ ] SLA reporting page - [ ] Tests for SLA calculations ## Related Documents - `ROADMAP.md` - Phase 1.5 ## Priority 🟡 MEDIUM ## Effort Estimate Medium (3-4 days)
Author
Owner

Feature Triage Assessment

Scope: large
Risk: medium
Spec Alignment: aligned
Summary: Implements a complete SLA management subsystem with configurable priority-based policies, business hours, holiday calendar, customer tiers, automatic calculation on ticket creation, breach notifications, dashboards, and admin configuration UI.
Recommendation: Split into sub-phases: (1) backend models + migration for SLA policies table, (2) rules engine service with business hours/holiday logic, (3) SLA configuration CRUD API + hook into ticket create path to auto-calculate deadlines, (4) admin configuration UI page, (5) dashboard indicators + reporting endpoints, (6) breach notifications (blocked on email infra from Phase 1.4).
Rationale: SCOPE=large: 15+ files across backend (new model, migration, service expansion from 62→~500 lines, CRUD, API router, main.py wiring), and frontend (new admin page, API service, route, dashboard widgets). The existing sla.py is only breach detection (62 lines) — everything else from scratch. RISK=medium: ticket creation CRUD path gets modified for auto-SLA calculation, business hours date arithmetic has edge cases, notifications depend on unimplemented email infra (Phase 1.4). No breaking API contract changes. SPEC=aligned: explicitly listed as Phase 1.5 in ROADMAP.md under Operational Excellence.

Labeled blocked:needs-decision — unblock on Forgejo to dispatch to the fixer pipeline.

## Feature Triage Assessment **Scope:** large **Risk:** medium **Spec Alignment:** aligned **Summary:** Implements a complete SLA management subsystem with configurable priority-based policies, business hours, holiday calendar, customer tiers, automatic calculation on ticket creation, breach notifications, dashboards, and admin configuration UI. **Recommendation:** Split into sub-phases: (1) backend models + migration for SLA policies table, (2) rules engine service with business hours/holiday logic, (3) SLA configuration CRUD API + hook into ticket create path to auto-calculate deadlines, (4) admin configuration UI page, (5) dashboard indicators + reporting endpoints, (6) breach notifications (blocked on email infra from Phase 1.4). **Rationale:** SCOPE=large: 15+ files across backend (new model, migration, service expansion from 62→~500 lines, CRUD, API router, main.py wiring), and frontend (new admin page, API service, route, dashboard widgets). The existing sla.py is only breach detection (62 lines) — everything else from scratch. RISK=medium: ticket creation CRUD path gets modified for auto-SLA calculation, business hours date arithmetic has edge cases, notifications depend on unimplemented email infra (Phase 1.4). No breaking API contract changes. SPEC=aligned: explicitly listed as Phase 1.5 in ROADMAP.md under Operational Excellence. Labeled `blocked:needs-decision` — unblock on Forgejo to dispatch to the fixer pipeline.
Author
Owner

This issue has been decomposed into the following sub-issues:

# Title Phase Scope
#32 [Phase 1] SLA Management UI and Configuration — Phase 1: Ove Basic SLA tracking exists in the backend, but there's no UI for configuring SLA
#33 [Phase 1] SLA Management UI and Configuration — Phase 2: Cur - ✅ Backend: SLA tracking fields exist on tickets (sla_response_due, `sla_reso
#34 [Phase 1] SLA Management UI and Configuration — Phase 3: Req
#35 [Phase 1] SLA Management UI and Configuration — Phase 4: 1. Create configurable SLA policies: - Response time targets by priority (low, medi
#36 [Phase 1] SLA Management UI and Configuration — Phase 5: 2. - Automatic SLA calculation on ticket creation - Priority-based SLA assignment -
#37 [Phase 1] SLA Management UI and Configuration — Phase 6: 3. - Email alerts for upcoming SLA breaches - Email alerts for breached SLAs - Dash
#38 [Phase 1] SLA Management UI and Configuration — Phase 7: 4. - SLA compliance rate metrics - Average response time - Average resolution time
#39 [Phase 1] SLA Management UI and Configuration — Phase 8: 5. - SLA policy configuration page (admin) - SLA status indicators on tickets - SLA
#40 [Phase 1] SLA Management UI and Configuration — Phase 9: Acc - [ ] SLA policy configuration API and UI - [ ] Business hours configuration - [
#41 [Phase 1] SLA Management UI and Configuration — Phase 10: Re - ROADMAP.md - Phase 1.5
#42 [Phase 1] SLA Management UI and Configuration — Phase 11: Pr 🟡 MEDIUM
#43 [Phase 1] SLA Management UI and Configuration — Phase 12: Ef Medium (3-4 days)

Each sub-issue has been labeled with needs-triage and will be evaluated by the triage pipeline before queue routing.

This issue has been decomposed into the following sub-issues: | # | Title | Phase Scope | |---|-------|-------------| | #32 | [Phase 1] SLA Management UI and Configuration — Phase 1: Ove | Basic SLA tracking exists in the backend, but there's no UI for configuring SLA | | #33 | [Phase 1] SLA Management UI and Configuration — Phase 2: Cur | - ✅ Backend: SLA tracking fields exist on tickets (`sla_response_due`, `sla_reso | | #34 | [Phase 1] SLA Management UI and Configuration — Phase 3: Req | | | #35 | [Phase 1] SLA Management UI and Configuration — Phase 4: 1. | Create configurable SLA policies: - Response time targets by priority (low, medi | | #36 | [Phase 1] SLA Management UI and Configuration — Phase 5: 2. | - Automatic SLA calculation on ticket creation - Priority-based SLA assignment - | | #37 | [Phase 1] SLA Management UI and Configuration — Phase 6: 3. | - Email alerts for upcoming SLA breaches - Email alerts for breached SLAs - Dash | | #38 | [Phase 1] SLA Management UI and Configuration — Phase 7: 4. | - SLA compliance rate metrics - Average response time - Average resolution time | | #39 | [Phase 1] SLA Management UI and Configuration — Phase 8: 5. | - SLA policy configuration page (admin) - SLA status indicators on tickets - SLA | | #40 | [Phase 1] SLA Management UI and Configuration — Phase 9: Acc | - [ ] SLA policy configuration API and UI - [ ] Business hours configuration - [ | | #41 | [Phase 1] SLA Management UI and Configuration — Phase 10: Re | - `ROADMAP.md` - Phase 1.5 | | #42 | [Phase 1] SLA Management UI and Configuration — Phase 11: Pr | 🟡 MEDIUM | | #43 | [Phase 1] SLA Management UI and Configuration — Phase 12: Ef | Medium (3-4 days) | Each sub-issue has been labeled with `needs-triage` and will be evaluated by the triage pipeline before queue routing.
Mark closed this issue 2026-05-28 00:52:45 +00:00
Sign in to join this conversation.
No description provided.