{
  "release": "0.22.0",
  "scope": "PWA01/FIELD01 bounded private TEXT device notes only",
  "local_only": true,
  "source_map": "device-note-source-map.json",
  "client_tests": 205,
  "device_note_client_tests": 22,
  "typed_api_boundary_tests": 2,
  "structural_render_cases": 90,
  "selected_backend_tests": 148,
  "full_backend_suite_rerun": false,
  "historical_full_backend_v020": 694,
  "browser_storage": {
    "origin": "http://device-note-qa.localhost:8795/",
    "eight_atomic_storage_checks": true,
    "reload_records": 3,
    "actual_competing_tabs": true,
    "exact_driver_sha256": "6e07b31bd61d5a31c5e9f2b1f557c894a78dfa45a4cbd68868e31604213847cf",
    "no_authentication_or_private_ui": true,
    "fixture_database_removed": true,
    "test_tabs_closed": [
      1861551427,
      1861551428
    ],
    "test_server_stopped": 78287
  },
  "private_product_browser_verified": false,
  "real_phone_verified": false,
  "schema_changed": false,
  "recovery_format": 12,
  "backup_metadata": "0.20.0",
  "recovery_evidence": "test_device_notes recovery plus existing field and recurrence loss/recovery tests; extracted prior-format12 fixture smoke in external package proof",
  "route_policies": 211,
  "dependencies_unchanged": true,
  "frozen_environment_check": "existing v20 environment pip check passed; no installation performed",
  "capabilities": 45,
  "original_findings_open": 14,
  "open_scope": "OPEN: material/photo upload queues, team-size/timer actions or reconstructed time, invoices/payments, portal replies, generic replay, cold offline unlock, push, authenticated owner/staff/device journeys, real-phone installation/background/standalone and production integration/key/retention policy. These remain parity work, not agreed exclusions.",
  "known_limits": [
    "Password/membership/customer/dataset changes can make old ciphertext permanently locked",
    "Unretained encrypted editor is memory-only; tab close loses it after leave warning",
    "Browser quota/denial/eviction/deletion and device loss prevent guaranteed durability",
    "Offline access can last until local lease expiry; no remote wipe",
    "Earlier confirmed revision with proposed correction retains both device versions for review",
    "No independent production cryptography/key-lifecycle audit",
    "Authenticated complete owner/staff/visibility/revocation/expiry UI and real-device behaviour unverified"
  ],
  "test_harness_corrections": [
    "Initial test fixture mapped structuredClone directly, incorrectly passing an array index as options; fixed wrapper",
    "Recovery test initially passed email instead of business ID to historical helper; fixed argument and tuple unpacking",
    "Initial source-copy script used default Python 3.9 unsupported tar filter; retried with frozen Python 3.12 before any files were extracted"
  ],
  "unrelated_runtime": "v0.19 PID 58260 on 8789 preserved; no request, reload, sign-in or data operation",
  "live_approved": false,
  "pwa_static_backend_tests": 4
}
