[Phase 1] SLA Management UI and Configuration — Phase 2: Current State #33
Labels
No labels
blocked:gate-fetch
blocked:gate-fetch
blocked:gate-implement
blocked:gate-plan
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-procedure
blocked:preflight
bug
feature-request
in-progress
lint-cleanup
needs-decompose
needs-triage
ops-task
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/msp_c2#33
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Phase 2: Current State
sla_response_due,sla_resolve_due)Decomposed from msp_c2#10
⏸ Needs Decision
Blocking factors:
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-decisionlabel to route back to triage.GSD PLAN: response missing GATE: line.