[Phase 1] SLA Management UI and Configuration — Phase 2: Current State #33

Closed
opened 2026-05-28 00:52:31 +00:00 by Mark · 2 comments
Owner

Phase 2: 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

Decomposed from msp_c2#10

## Phase 2: 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 --- _Decomposed from [msp_c2#10](https://forgejo.tail018ac4.ts.net/Mark/msp_c2/issues/10)_
Author
Owner

⏸ Needs Decision

Blocking factors:

  • Didn't meet auto-approve criteria — scope=medium, risk=low, spec=aligned

Scope: medium Risk: low Spec: aligned Type: enhancement
Summary: This issue seeks to add SLA policy configuration UI, a rules engine to compute due dates from policies, and breach notification infrastructure onto the existing basic SLA tracking.
Suggestion: Build incrementally: (1) new SLAPolicy DB model with priority-to-target mapping + full CRUD API, (2) extend services/sla.py to compute sla_response_due/sla_resolve_due from policy on ticket create, (3) frontend policy management page, (4) breach notification hook into the existing webhook system (reuses the ticket.sla_breached event already defined in the MVP contract). Business hours config can be deferred to a follow-up.
Rationale: Scope: touches ~8-10 files (new model, schema, router, modified service + frontend page + tests) but each change is small and self-contained. Risk: purely additive — no existing API surfaces are modified, no migrations on current tables, and the breach detection logic in services/sla.py stays unchanged. Spec: the ROADMAP explicitly lists '1.5 SLA Management Enhancements' under Phase 1, the project spec includes SLA in the ticketing domain, and the MVP contract already defines the ticket.sla_breached webhook event — the infrastructure is waiting to be wired.

Action: Review each blocking factor above. Remove blocked:needs-decision label to route back to triage.

## ⏸ Needs Decision **Blocking factors:** - **Didn't meet auto-approve criteria** — scope=medium, risk=low, spec=aligned --- **Scope:** medium **Risk:** low **Spec:** aligned **Type:** enhancement **Summary:** This issue seeks to add SLA policy configuration UI, a rules engine to compute due dates from policies, and breach notification infrastructure onto the existing basic SLA tracking. **Suggestion:** Build incrementally: (1) new SLAPolicy DB model with priority-to-target mapping + full CRUD API, (2) extend services/sla.py to compute sla_response_due/sla_resolve_due from policy on ticket create, (3) frontend policy management page, (4) breach notification hook into the existing webhook system (reuses the ticket.sla_breached event already defined in the MVP contract). Business hours config can be deferred to a follow-up. **Rationale:** Scope: touches ~8-10 files (new model, schema, router, modified service + frontend page + tests) but each change is small and self-contained. Risk: purely additive — no existing API surfaces are modified, no migrations on current tables, and the breach detection logic in services/sla.py stays unchanged. Spec: the ROADMAP explicitly lists '1.5 SLA Management Enhancements' under Phase 1, the project spec includes SLA in the ticketing domain, and the MVP contract already defines the ticket.sla_breached webhook event — the infrastructure is waiting to be wired. **Action:** Review each blocking factor above. Remove `blocked:needs-decision` label to route back to triage.
Author
Owner

GSD PLAN: response missing GATE: line.

GSD PLAN: response missing GATE: line.
Mark closed this issue 2026-06-08 02:55:11 +00:00
Sign in to join this conversation.
No description provided.