[Phase 1] SLA Management UI and Configuration — Phase 5: 2. SLA Rules Engine #36
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#36
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 5: 2. SLA Rules Engine
Decomposed from msp_c2#10
⏸ Needs Decision
Blocking factors:
Scope: medium Risk: medium Spec: aligned Type: feature
Summary: Implement automatic SLA calculation on ticket creation with priority-based assignment, customer-specific SLA tiers, and override capabilities.
Suggestion: Build a configurable SLA rules engine in backend/services/sla.py using a new SLAConfig table (priority → response/resolve time targets) plus a customer_tier enum on CustomerOrg. Wire auto-calculation into crud/ticket.py's create_ticket so the schema's nullable sla_* fields get populated automatically when omitted. Expose a PATCH override endpoint and add a migration + tests.
Rationale: Medium scope: touches ~8 files across models (CustomerOrg + new SLAConfig), service logic, CRUD, router, schemas, migration, and tests — a new module but no subsystem. Medium risk: modifies the ticket creation path (behavioral change for all existing consumers) and requires a schema migration; SLA deadlines, if miscalculated, affect downstream SLA breach detection and dashboard stats. Aligned: this is a planned post-MVP feature listed in both IMPLEMENTATION_STATUS.md (Phase 3 'Advanced SLA rules') and the decomposed issue #10 trail. The database schema already has sla_response_due/sla_resolve_due columns and CustomerOrg exists — adding the tier + config table extends cleanly without breaking changes.
Action: Review each blocking factor above. Remove
blocked:needs-decisionlabel to route back to triage.GSD PLAN: response missing GATE: line.