JQC — "Instructions" on scheduled inspections
=============================================
NO migration. NO schema change (web or iOS). NO API change.
The field stays `notes` end-to-end: WTForms field name, ScheduledInspection.notes,
scheduled_inspections.notes column, and the JSON key in
GET /api/v1/scheduled-inspections. Only the wording changed.

--------------------------------------------------------------------
WEB  —  repo: lt_janitorial_quality_control
        deploy root: /home/jqc/janitorial_qc/
--------------------------------------------------------------------
Overwrite:
  app/utils/forms.py                              (label 'Notes' -> 'Instructions')
  app/templates/scheduled_inspections/form.html   (placeholder + visibility hint, rows 2->3)
  app/templates/inspections/execute.html          (NEW: instructions panel)
  CLAUDE.md

Deploy (code only — no alembic step):
  cd /home/jqc/janitorial_qc
  git pull
  sudo systemctl restart janitorial_qc
  sudo systemctl status janitorial_qc --no-pager

--------------------------------------------------------------------
iOS  —  repo: jqc_ios_app
--------------------------------------------------------------------
Overwrite:
  JanitorialQC/Models/LocalScheduledInspection.swift        (computed `instructions`)
  JanitorialQC/Views/Dashboard/ScheduledInspectionsView.swift
  JanitorialQC/Views/Dashboard/StartInspectionView.swift
  JanitorialQC/Views/Dashboard/ExecuteInspectionView.swift
  JanitorialQC/Views/Dashboard/MyInspectionsView.swift
  JanitorialQC/Views/Dashboard/DashboardView.swift
  JanitorialQC/CLAUDE.md

No new files, none removed, no .xcodeproj edit
(PBXFileSystemSynchronizedRootGroup picks changes up automatically).
`instructions` is COMPUTED, not stored -> no SwiftData migration,
no need to delete the app from the iPad.

Build: Product > Clean Build Folder (Shift-Cmd-K), then run.

--------------------------------------------------------------------
VERIFY
--------------------------------------------------------------------
1. Web > Inspections > Scheduled > New Schedule
   - field reads "Instructions", hint below it
   - save some text
2. Web, as the assigned inspector: Start that schedule
   - indigo "Instructions for this inspection" panel between header and form
3. iPad, after a sync:
   - Dashboard SCHEDULED card: 1-line preview with an info icon
   - tap the row: "Instructions" section at the top of the start screen
   - Start Inspection: collapsible "Instructions" banner above the form,
     tap the header to collapse/expand
4. Draft-resume regression: back out mid-inspection, reopen from the blue
   "Inspection in progress" banner -> instructions still shown
5. Empty case: a schedule with no instructions shows NOTHING extra anywhere
   (blank and whitespace-only both normalise to nil)
6. Submit regression: banner stays readable through the 2.5s success screen
   and the app does not crash when the schedule row is deleted
