{
  "version": "0.19.0",
  "original_archive_sha256": "d6155e3a2968e6880a99b626be9528a4671a03e34209df480022d0231087fa04",
  "reference_read_only": true,
  "original_runtime_imported_or_run": false,
  "source_evidence": [
    {
      "path": "frontend/src/pages/EnquiryPage.jsx",
      "lines": "72–155, 303–397",
      "observed": "Optional preferred date; up to five immediate uploads; advertised JPEG/PNG/HEIC/WebP and 10 MB; submits preferred_date and photos."
    },
    {
      "path": "backend/models.py",
      "lines": "9–19",
      "observed": "EnquiryCreate preferred_date and list of photo references; source model does not enforce the new count/content contract."
    },
    {
      "path": "backend/routers/enquiries.py",
      "lines": "112–137",
      "observed": "Creates enquiry then schedules notifications; not executed or imported."
    },
    {
      "path": "backend/routers/files.py",
      "lines": "52–100",
      "observed": "Anonymous public file storage mechanism; not reused."
    },
    {
      "path": "frontend/src/components/admin/DashboardDialogs.jsx",
      "lines": "544, 872, 1020, 1334",
      "observed": "Owner photo display and preferred-date handling; used as feature evidence."
    }
  ],
  "new_implementation": [
    "backend/public_enquiries.py",
    "backend/enquiry_recovery.py",
    "frontend/src/enquiry.jsx",
    "frontend/src/enquiry-rules.js"
  ],
  "reused_prototype_helpers": [
    "photos.decode_image",
    "photo_snapshot",
    "app.once",
    "data_lock",
    "strict versioned recovery validators"
  ],
  "intentional_differences": [
    "Single atomic submission instead of anonymous pre-uploaded public URLs.",
    "PNG/JPEG/WebP only; 2 MiB each, 5 files; HEIC/HEIF requires conversion.",
    "Original preferred date is immutable and independent of job target dates, bookings and completion dates.",
    "Exact new customer/job, no contact-based merge or portal grant.",
    "Visitor photos private and unreviewed; assigned staff need review and customer/public sharing needs separate explicit permission.",
    "Fresh restore suspends visitor-photo permission and withdraws projects using them."
  ],
  "dependencies_changed": false
}
