{
  "scope": "isolated local prototype; invented records only",
  "method": "normal browser UI entry, save, refresh and reopen; no record seeding API used",
  "customer": {
    "name": "Alex Sample",
    "linked_jobs": 2
  },
  "labour": {
    "person": "Jamie Demo",
    "minutes": 90,
    "saved_rate_pence": 2000,
    "cost_pence": 3000,
    "later_default_rate_pence": 2500,
    "work_date_after_correction": "2026-10-26"
  },
  "target_date_after_refresh": "2026-10-28",
  "calendar": {
    "visit_date": "2026-10-28",
    "visit_start": "09:30 GMT",
    "visit_end": "11:15 GMT",
    "multi_day_start": "2026-10-29",
    "multi_day_end_inclusive": "2026-10-30",
    "whole_team_closed": "2026-10-31",
    "overlap_rejected_in_ui": true,
    "archive_restore_checked_in_day_view": true
  },
  "date_input_issue": {
    "root_cause_observed": "date/time DOM values changed but React onChange-only form state did not follow in this preview",
    "fix": "shared Field listens to native onInput as well as onChange for date/time controls",
    "save_refresh_reopen_passed": [
      "job target date",
      "manual time date",
      "timed booking date and both times",
      "multi-day start and end dates"
    ]
  },
  "remaining_browser_limitation": "Discard confirmation stalled automation after verification; final cosmetic polish not re-inspected. User asked once to dismiss. No restriction bypass."
}
