[Phase 1] SLA Management UI and Configuration — Phase 7: 4. SLA Reporting #38
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#38
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 7: 4. SLA Reporting
Decomposed from msp_c2#10
⏸ Needs Decision
Blocking factors:
Scope: medium Risk: medium Spec: partial Type: enhancement
Summary: Add SLA compliance rate, average response time, average resolution time, and breach reasons analysis as a new reporting capability.
Suggestion: New ~8 files: backend service (compute metrics from ticket SLA dates + status transitions), API router at /api/v1/sla/reporting with date/customer/tech filters, schemas for response, and a frontend SLA Reporting page. Needs a
first_response_atand/orresolved_atfield on Ticket model for accurate response/resolution time calculation (currently only SLA deadlines exist, not actual timestamps). Breach reasons tracked post-hoc by comparing sla_response_due/sla_resolve_due against actual resolution timestamps.Rationale: Medium scope because it's a new subsystem (SLA reporting) requiring a new API endpoint, service logic, frontend page, and tests (~5-10 files). Risk is medium because the queries aggregate across all tickets — performance depends on indexing sla fields, but additive to existing endpoints so no breaking changes. Spec is partial: the issue labels it 'Phase 1' but the ROADMAP splits SLA reporting across Phase 1 (basic) and Phase 2 (advanced analytics); existing code lacks the
first_response_at/resolved_attimestamps needed for accurate response/resolution time calculation, so either a schema migration or a computation-from-comments approach is needed.Action: Review each blocking factor above. Remove
blocked:needs-decisionlabel to route back to triage.GSD pipeline blocked at IMPLEMENT: API call failed after 3 retries.
]11;?\Error: Error code: 401 - {'type': 'error', 'error': {'type': 'ModelError', 'message': 'Model deepseek/deepseek-v4-flash is not supported'}}