[Phase 1] SLA Management UI and Configuration — Phase 5: 2. SLA Rules Engine #36

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

Phase 5: 2. SLA Rules Engine

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

Decomposed from msp_c2#10

## Phase 5: 2. SLA Rules Engine - Automatic SLA calculation on ticket creation - Priority-based SLA assignment - Customer-specific SLA tiers - Override capabilities --- _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=medium, spec=aligned

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-decision label to route back to triage.

## ⏸ Needs Decision **Blocking factors:** - **Didn't meet auto-approve criteria** — scope=medium, risk=medium, spec=aligned --- **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-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-06 19:10:59 +00:00
Sign in to join this conversation.
No description provided.