
Incident Report — Helpdesk
Ref: INC-2026-002 • 2026-06-01 • Severity: HIGH
Missing Field App Buttons — Unauthorised UI Regression
📋 Incident Summary
The TechnicianApp Field App was missing critical job workflow buttons: On Route, Arrived, Start Service, Complete Job, Add Video, Add Photos, Mileage Entry, and Service Checklist. The app owner did not authorise these changes.
Root Cause:
During a previous AI assistant session (earlier today), the JobWorkflowCard component was modified to add a 'Complete Job' button for en_route/arrived jobs. However, the refactor inadvertently replaced the full JobStatusUpdater stepper (which provides En Route → Arrived → Start Service → Complete flow) for 'scheduled' jobs with a simplified single 'Start Job' button, hiding the full status progression. The CompleteJobDialog (which contains Photos, Videos, Checklist, Mileage tabs) was only being triggered from the 'in_progress' state, making it unreachable from earlier statuses.
User requests 'Where is the complete job section it is missing'
AI adds Complete Job button for en_route/arrived — but replaces full JobStatusUpdater for scheduled jobs
User reports: 'On route, Arrived, Complete job, Video, Photos, Mileage, Checklist all missing'
AI investigates — confirms regression in JobWorkflowCard
Full fix deployed: JobStatusUpdater shown for ALL active statuses, Complete Job opens full dialog
Incident report generated
En Route button
components/technician/JobWorkflowCard.jsx
Arrived button
components/technician/JobWorkflowCard.jsx
Start Service button
components/technician/JobWorkflowCard.jsx
Complete Job button (all statuses)
components/technician/JobWorkflowCard.jsx
Add Photos (in Complete Job dialog)
components/technician/CompleteJobDialog.jsx
Add Videos (in Complete Job dialog)
components/technician/CompleteJobDialog.jsx
Mileage / Odometer entry
components/technician/CompleteJobDialog.jsx
Service Checklist
components/technician/CompleteJobDialog.jsx
AI Summary generation
components/technician/CompleteJobDialog.jsx
Follow-up panel
components/technician/CompleteJobDialog.jsx
✅ Fix Applied
JobWorkflowCard refactored to show the full JobStatusUpdater stepper (En Route → Arrived → Start Service → Complete) for ALL active job statuses (scheduled, confirmed, en_route, arrived, in_progress). The 'Complete Job' button now opens the full CompleteJobDialog for any active status, giving access to Checklist, Photos, Videos, Mileage, AI Summary and Follow-up tabs.
No structural changes to TechnicianApp or JobWorkflowCard without explicit owner approval
These are safety-critical pages for field staff. Any modification request must include the exact feature being changed and confirmation the owner approves removal of existing behaviour.
Regression testing checklist before deploying JobWorkflowCard changes
Before any change to JobWorkflowCard, verify all buttons are visible for EACH status: scheduled, confirmed, en_route, arrived, in_progress. Checklist: [En Route] [Arrived] [Start Service] [Complete Job] [Photos] [Videos] [Checklist] [Mileage].
AI must explicitly list features being REMOVED, not just added
When refactoring a component, the AI must state: 'This change will REMOVE [X]' and wait for owner confirmation. Additive changes are fine; removals require approval.
Lock the Complete Job flow — always accessible from any active status
The CompleteJobDialog (Photos, Videos, Checklist, Mileage) must be reachable from ANY active job status (scheduled → completed). Never gate it behind a single prior status.
Field staff impact assessment required before app changes
Any change to TechnicianApp, JobWorkflowCard, CompleteJobDialog, or JobStatusUpdater must note: 'This affects field staff in the middle of a job.' Broken buttons in the field = failed service delivery.
Incident Report INC-2026-002 • Investigated by Scot AI System • Scot Pooper Scoopers
Reported by: App Owner (Tom) • For helpdesk escalation: tom@scotpooperscoopers.com