{
  "at": "2026-10-30T12:30:38.969916+00:00",
  "version": "0.20.1",
  "backend_backup_metadata": "0.20.0",
  "recovery_format": 12,
  "layer": "Stopped data backup, fresh restore and TestClient API verification. Not a browser recovery check.",
  "source_records": "Explicit fixture jobs/resources/completed work followed by actual owner-browser recurrence/calendar actions.",
  "source_path_made_unavailable_by_rename": true,
  "original_source_retained_not_deleted": true,
  "source_retained": "/Users/sandyrestall/Documents/Codex/2026-10-27/t/work/v0.20.1-recurrence-journey/qa-source-retained",
  "fresh_restore_path": "/Users/sandyrestall/Documents/Codex/2026-10-27/t/work/v0.20.1-recurrence-journey/recovered-recurrence",
  "snapshot_sha256": "0bf981adf13700f71d29b7be635dedd1d1f3cf4ebbe30278d5632c7fab0ea93f",
  "second_snapshot_sha256": "5d428fc39f5e298cd14f6d60fd7736a27d26dda95659c34788089bc38b5a8a57",
  "second_generation_verified": true,
  "definitions": 5,
  "rules": 8,
  "occurrences": 14,
  "date_blocks": 2,
  "review_runs": 18,
  "recurrence_history_rows": 60,
  "calendar_bookings": 14,
  "calendar_history_rows": 24,
  "contract_states": {
    "Protected history QA": "active",
    "Weekly garden QA": "active",
    "Month-end QA": "paused",
    "Clock-change QA": "retired",
    "Archived-person QA": "active"
  },
  "stable_ids_original_rules_overrides_cancellations_blocks_reviews_preserved": true,
  "all_existing_work_and_finance_unchanged": true,
  "no_automatic_generation_work_documents_or_payments": true,
  "restored_previews": {
    "Protected history QA": {
      "can_confirm": false,
      "rows": [
        {
          "date": "2026-11-02",
          "status": "cancelled",
          "action": "keep"
        },
        {
          "date": "2026-11-09",
          "status": "already_scheduled",
          "action": "keep"
        },
        {
          "date": "2026-11-16",
          "status": "already_scheduled",
          "action": "keep"
        }
      ]
    },
    "Weekly garden QA": {
      "can_confirm": false,
      "rows": [
        {
          "date": "2026-11-02",
          "status": "retained_override",
          "action": "keep"
        },
        {
          "date": "2026-11-09",
          "status": "cancelled",
          "action": "keep"
        },
        {
          "date": "2026-11-16",
          "status": "already_scheduled",
          "action": "keep"
        },
        {
          "date": "2026-11-23",
          "status": "excluded",
          "action": "keep"
        },
        {
          "date": "2026-11-30",
          "status": "excluded",
          "action": "keep"
        }
      ]
    },
    "Month-end QA": {
      "can_confirm": false,
      "rows": [
        {
          "date": "2027-01-31",
          "status": "already_scheduled",
          "action": "keep"
        },
        {
          "date": "2027-02-28",
          "status": "already_scheduled",
          "action": "keep"
        },
        {
          "date": "2027-03-31",
          "status": "already_scheduled",
          "action": "keep"
        }
      ]
    },
    "Clock-change QA": {
      "can_confirm": false,
      "rows": [
        {
          "date": "2027-03-28",
          "status": "retained_paused",
          "action": "keep"
        }
      ]
    },
    "Archived-person QA": {
      "can_confirm": false,
      "rows": [
        {
          "date": "2026-11-02",
          "status": "error",
          "action": "keep"
        }
      ]
    }
  },
  "same_table_hashes_before_and_after": {
    "oak": {
      "recurring_contracts": "0724786492f8ef15da9e7e591c09fdcbe6446302f374c5e4148c39e7540f071e",
      "recurrence_rules": "4143bbe195241b8e398fe5606a6b04a70442c6f396287dfad58b3ad84df9cccc",
      "recurrence_blocks": "a3632d3ef931fa5afcec495575ae3eb54a3f43340cdf2d8edc925552ef8d8767",
      "recurrence_occurrences": "53e830fd811d044416ad76369a0d7e5e4975adc81ec0b30e49f6de74a4a4f870",
      "recurrence_history": "67670ab925450f00b729dba5bd225de6120bc3ff9743e2db8951ab66b59265f0",
      "recurrence_runs": "f4bd362be1df89147f7de9f3f344d966dedd9a5b0e5015be05e68e65f0b35c27",
      "calendar_bookings": "eb3b69b4a9675a1795445af6b4a1a01ba5ec6cf4d9ac71916b481031575d7054",
      "calendar_audit": "00202c7a0f3242f9ac2547f17783b1f5eb20a1aa70f68abe001a73540a769918"
    },
    "harbour": {
      "recurring_contracts": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "recurrence_rules": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "recurrence_blocks": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "recurrence_occurrences": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "recurrence_history": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "recurrence_runs": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "calendar_bookings": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "calendar_audit": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"
    }
  },
  "unchanged_tables": {
    "oak": [
      "jobs",
      "quotes",
      "payments",
      "operations",
      "assets",
      "site",
      "site_history",
      "invoices",
      "quote_links",
      "document_events",
      "document_counters",
      "payment_stages",
      "payment_allocations",
      "payment_reversals",
      "payment_details",
      "customer_changes",
      "customer_links",
      "materials_catalogue",
      "job_materials",
      "material_audit",
      "team_resources",
      "time_entries",
      "workforce_audit",
      "calendar_bookings",
      "calendar_audit",
      "setup_progress",
      "staff_updates",
      "photo_blobs",
      "job_photos",
      "photo_history",
      "gallery_projects",
      "gallery_history",
      "field_logs",
      "field_log_history",
      "field_sessions",
      "field_intervals",
      "field_resource_locks",
      "field_history",
      "field_time_links",
      "field_material_links",
      "document_sources",
      "source_history",
      "recurring_contracts",
      "recurrence_rules",
      "recurrence_blocks",
      "recurrence_occurrences",
      "recurrence_history",
      "recurrence_runs",
      "portal_accounts",
      "portal_tokens",
      "portal_events",
      "portal_migrations",
      "sales_settings",
      "sales_settings_history",
      "quote_responses",
      "payment_request_snapshots",
      "feedback_requests",
      "feedback_tokens",
      "feedback_responses",
      "feedback_consents",
      "feedback_publications",
      "feedback_history",
      "job_workflow",
      "job_workflow_history",
      "opportunity_settings",
      "opportunity_settings_history",
      "opportunity_reviews",
      "opportunity_history",
      "customer_records",
      "customer_record_history",
      "customer_pair_decisions",
      "customer_pair_history",
      "customer_transfers",
      "customer_transfer_jobs",
      "customer_completion_runs",
      "enquiry_intakes",
      "enquiry_photo_sources"
    ],
    "harbour": [
      "customers",
      "jobs",
      "quotes",
      "payments",
      "operations",
      "assets",
      "site",
      "site_history",
      "invoices",
      "quote_links",
      "document_events",
      "document_counters",
      "payment_stages",
      "payment_allocations",
      "payment_reversals",
      "payment_details",
      "customer_changes",
      "customer_links",
      "materials_catalogue",
      "job_materials",
      "material_audit",
      "team_resources",
      "time_entries",
      "workforce_audit",
      "calendar_bookings",
      "calendar_audit",
      "setup_progress",
      "staff_updates",
      "photo_blobs",
      "job_photos",
      "photo_history",
      "gallery_projects",
      "gallery_history",
      "field_logs",
      "field_log_history",
      "field_sessions",
      "field_intervals",
      "field_resource_locks",
      "field_history",
      "field_time_links",
      "field_material_links",
      "document_sources",
      "source_history",
      "recurring_contracts",
      "recurrence_rules",
      "recurrence_blocks",
      "recurrence_occurrences",
      "recurrence_history",
      "recurrence_runs",
      "portal_accounts",
      "portal_tokens",
      "portal_events",
      "portal_migrations",
      "sales_settings",
      "sales_settings_history",
      "quote_responses",
      "payment_request_snapshots",
      "feedback_requests",
      "feedback_tokens",
      "feedback_responses",
      "feedback_consents",
      "feedback_publications",
      "feedback_history",
      "job_workflow",
      "job_workflow_history",
      "opportunity_settings",
      "opportunity_settings_history",
      "opportunity_reviews",
      "opportunity_history",
      "customer_records",
      "customer_record_history",
      "customer_pair_decisions",
      "customer_pair_history",
      "customer_transfers",
      "customer_transfer_jobs",
      "customer_completion_runs",
      "enquiry_intakes",
      "enquiry_photo_sources"
    ]
  },
  "deliberate_recovery_changes": {
    "oak": [
      "customers",
      "audit",
      "storage_identity"
    ],
    "harbour": [
      "audit",
      "storage_identity"
    ]
  },
  "old_sessions_denied": [
    {
      "account": "0",
      "status": 401
    },
    {
      "account": "1",
      "status": 401
    }
  ],
  "old_demo_passwords_denied": [
    {
      "business": "oak",
      "status": 401
    },
    {
      "business": "harbour",
      "status": 401
    }
  ],
  "second_business_empty_and_denied_foreign_definitions": true,
  "new_customer_staff_accounts_created": false,
  "temporary_restored_owner_passwords_used_only_inside_API_test_not_exported": true,
  "browser_recovery_verified": false,
  "protected_review_or_normal_data_operated": false
}
