Scot Pooper Scoopers

Incident Report — Helpdesk

Ref: INC-2026-002 • 2026-06-01 • Severity: HIGH

Missing Field App Buttons — Unauthorised UI Regression

RESOLVED

📋 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.

Incident Timeline
~15:30

User requests 'Where is the complete job section it is missing'

~15:32

AI adds Complete Job button for en_route/arrived — but replaces full JobStatusUpdater for scheduled jobs

~15:43

User reports: 'On route, Arrived, Complete job, Video, Photos, Mileage, Checklist all missing'

~15:50

AI investigates — confirms regression in JobWorkflowCard

~15:51

Full fix deployed: JobStatusUpdater shown for ALL active statuses, Complete Job opens full dialog

~15:51

Incident report generated

Feature Restoration Status

En Route button

components/technician/JobWorkflowCard.jsx

RESTORED

Arrived button

components/technician/JobWorkflowCard.jsx

RESTORED

Start Service button

components/technician/JobWorkflowCard.jsx

RESTORED

Complete Job button (all statuses)

components/technician/JobWorkflowCard.jsx

RESTORED

Add Photos (in Complete Job dialog)

components/technician/CompleteJobDialog.jsx

CONFIRMED PRESENT

Add Videos (in Complete Job dialog)

components/technician/CompleteJobDialog.jsx

CONFIRMED PRESENT

Mileage / Odometer entry

components/technician/CompleteJobDialog.jsx

CONFIRMED PRESENT

Service Checklist

components/technician/CompleteJobDialog.jsx

CONFIRMED PRESENT

AI Summary generation

components/technician/CompleteJobDialog.jsx

CONFIRMED PRESENT

Follow-up panel

components/technician/CompleteJobDialog.jsx

CONFIRMED PRESENT

✅ 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.

Prevention Measures — For Helpdesk Reference
CRITICAL

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.

HIGH

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].

HIGH

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.

MEDIUM

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.

MEDIUM

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

WhatsApp Us