{
  "actions": [
    {
      "category": "backing",
      "count": 1124,
      "details": {
        "classification": "site_current_remote_api_drift",
        "preferred_dropbox_extra_rows": 253,
        "preferred_dropbox_missing_rows": 871,
        "preferred_dropbox_source": "physical_umbrel_api_snapshot_db",
        "site_backing_source": "local_windows_dropbox_manifest"
      },
      "next_action": "Keep generating the public KB from the current local Windows Dropbox manifest while resolving physical Umbrel Dropbox API backing drift. For read-only shared roots, use a Dropbox account/app token with write access or adjust the shared-folder permissions, refresh the API snapshot, then rerun the guarded low-risk API dry-run.",
      "priority": "critical",
      "status": "open",
      "title": "Resolve physical Umbrel Dropbox API backing drift",
      "url": "https://properties.earlco.in/api-alignment/dropbox-backing-drift-summary.json"
    },
    {
      "category": "api-move-blockers",
      "count": 9,
      "details": {
        "read_only_shared_root_counts": {
          "/Real Estate/fl/440 louden ave, dunedin, fl 34698/public": 9
        },
        "selected_rows": 9,
        "status_counts": {
          "blocked_read_only_shared_folder": 9
        }
      },
      "next_action": "Use a Dropbox account/app token with write access or adjust shared-folder permissions, then refresh the API snapshot and rerun the guarded low-risk dry-run.",
      "priority": "high",
      "status": "blocked_external_permission",
      "title": "Fix Dropbox API permissions for low-risk canonical moves",
      "url": "https://properties.earlco.in/api-alignment/dropbox-api-low-risk-dry-run-blockers.json"
    },
    {
      "category": "source-drift",
      "count": 69,
      "details": {
        "api_only_rows": 243,
        "approval_gate_counts": {
          "manual_compare_required": 37,
          "owner_approval_required_before_pull_or_archive": 6,
          "owner_approval_required_before_upload": 26
        },
        "decision_counts": {
          "manual_compare_before_merge": 37,
          "pull_or_archive_api_only_public_root": 6,
          "sync_or_upload_local_public_root_to_api": 26
        },
        "local_only_rows": 819,
        "root_queue_rows": 69,
        "top_properties": [
          {
            "api_only_rows": 0,
            "approval_gate": "owner_approval_required_before_upload",
            "categories": {
              "local_root_missing_from_api": 1
            },
            "decision_required": "Verify the local Windows Dropbox Public root is intended current source, then sync/upload it to the Dropbox API-backed account or mark it intentionally local-only.",
            "local_only_rows": 187,
            "next_actions": [
              "verify local Windows Dropbox files are intended current source, then sync/upload to Dropbox API account or mark intentionally local-only"
            ],
            "property": "724 3rd Ave, Watervliet, NY 12189",
            "recommended_resolution": "sync_or_upload_local_public_root_to_api",
            "root_alias_keys": [
              "724 3rd ave watervliet ny 12189"
            ],
            "root_queue_rows": 1,
            "safety": [
              "upload_or_sync_review"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/724-3rd-ave-watervliet-ny-12189-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/724-3rd-ave-watervliet-ny-12189-source-drift.json",
            "total_drift_rows": 187,
            "url": "https://properties.earlco.in/properties/724-3rd-ave-watervliet-ny-12189.html"
          },
          {
            "api_only_rows": 2,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 160,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "90 Madison Ave Albany, NY 12202",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "90 madison ave albany ny 12202"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/90-madison-ave-albany-ny-12202-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/90-madison-ave-albany-ny-12202-source-drift.json",
            "total_drift_rows": 162,
            "url": "https://properties.earlco.in/properties/90-madison-ave-albany-ny-12202.html"
          },
          {
            "api_only_rows": 0,
            "approval_gate": "owner_approval_required_before_upload",
            "categories": {
              "local_root_missing_from_api": 1
            },
            "decision_required": "Verify the local Windows Dropbox Public root is intended current source, then sync/upload it to the Dropbox API-backed account or mark it intentionally local-only.",
            "local_only_rows": 101,
            "next_actions": [
              "verify local Windows Dropbox files are intended current source, then sync/upload to Dropbox API account or mark intentionally local-only"
            ],
            "property": "9 Country Club Lane N",
            "recommended_resolution": "sync_or_upload_local_public_root_to_api",
            "root_alias_keys": [
              "9 country club ln n"
            ],
            "root_queue_rows": 1,
            "safety": [
              "upload_or_sync_review"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/9-country-club-lane-n-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/9-country-club-lane-n-source-drift.json",
            "total_drift_rows": 101,
            "url": "https://properties.earlco.in/properties/9-country-club-lane-n.html"
          },
          {
            "api_only_rows": 69,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 3,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "5401 Odom Ave Fort Worth, TX 76114",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "5401 odom ave fort worth tx 76114"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/5401-odom-ave-fort-worth-tx-76114-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/5401-odom-ave-fort-worth-tx-76114-source-drift.json",
            "total_drift_rows": 72,
            "url": "https://properties.earlco.in/properties/5401-odom-ave-fort-worth-tx-76114.html"
          },
          {
            "api_only_rows": 11,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 19,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "1456 W 85th St, Cleveland, OH 44102",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "1456 w 85th st cleveland oh 44102"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/1456-w-85th-st-cleveland-oh-44102-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/1456-w-85th-st-cleveland-oh-44102-source-drift.json",
            "total_drift_rows": 30,
            "url": "https://properties.earlco.in/properties/1456-w-85th-st-cleveland-oh-44102.html"
          },
          {
            "api_only_rows": 19,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 6,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "917 Pawnee Ave, Memphis, TN 38109",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "917 pawnee ave memphis tn 38109"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/917-pawnee-ave-memphis-tn-38109-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/917-pawnee-ave-memphis-tn-38109-source-drift.json",
            "total_drift_rows": 25,
            "url": "https://properties.earlco.in/properties/917-pawnee-ave-memphis-tn-38109.html"
          },
          {
            "api_only_rows": 21,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 2,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "1845 W 48th St, Cleveland, OH 44102",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "1845 w 48th st cleveland oh 44102"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/1845-w-48th-st-cleveland-oh-44102-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/1845-w-48th-st-cleveland-oh-44102-source-drift.json",
            "total_drift_rows": 23,
            "url": "https://properties.earlco.in/properties/1845-w-48th-st-cleveland-oh-44102.html"
          },
          {
            "api_only_rows": 12,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 9,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "804 S Quitman St, Denver, CO 80219",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "804 s quitman st denver co 80219"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/804-s-quitman-st-denver-co-80219-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/804-s-quitman-st-denver-co-80219-source-drift.json",
            "total_drift_rows": 21,
            "url": "https://properties.earlco.in/properties/804-s-quitman-st-denver-co-80219.html"
          },
          {
            "api_only_rows": 21,
            "approval_gate": "owner_approval_required_before_pull_or_archive",
            "categories": {
              "api_root_missing_from_local": 1
            },
            "decision_required": "Verify whether the API-only Public root is legacy, alternate, or missing locally before pulling it into the local source or archiving it.",
            "local_only_rows": 0,
            "next_actions": [
              "verify API-only files are still needed, then pull into Windows Dropbox source or archive/delete remotely after approval"
            ],
            "property": "621 E Le Claire Rd Eldridge, IA 52748",
            "recommended_resolution": "pull_or_archive_api_only_public_root",
            "root_alias_keys": [
              "621 e le claire rd eldridge ia 52748"
            ],
            "root_queue_rows": 1,
            "safety": [
              "pull_or_archive_review"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/621-e-le-claire-rd-eldridge-ia-52748-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/621-e-le-claire-rd-eldridge-ia-52748-source-drift.json",
            "total_drift_rows": 21,
            "url": "https://properties.earlco.in/properties/621-e-le-claire-rd-eldridge-ia-52748.html"
          },
          {
            "api_only_rows": 1,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 16,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "9919 S Oglesby Ave, Chicago, IL 60617",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "9919 s oglesby ave chicago il 60617"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/9919-s-oglesby-ave-chicago-il-60617-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/9919-s-oglesby-ave-chicago-il-60617-source-drift.json",
            "total_drift_rows": 17,
            "url": "https://properties.earlco.in/properties/9919-s-oglesby-ave-chicago-il-60617.html"
          },
          {
            "api_only_rows": 4,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 13,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "5541 S Peoria St, Chicago, IL 60621",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "5541 s peoria st chicago il 60621"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/5541-s-peoria-st-chicago-il-60621-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/5541-s-peoria-st-chicago-il-60621-source-drift.json",
            "total_drift_rows": 17,
            "url": "https://properties.earlco.in/properties/5541-s-peoria-st-chicago-il-60621.html"
          },
          {
            "api_only_rows": 2,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 14,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "1278 E 187th St, Cleveland, OH 44110",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "1278 e 187th st cleveland oh 44110"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/1278-e-187th-st-cleveland-oh-44110-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/1278-e-187th-st-cleveland-oh-44110-source-drift.json",
            "total_drift_rows": 16,
            "url": "https://properties.earlco.in/properties/1278-e-187th-st-cleveland-oh-44110.html"
          },
          {
            "api_only_rows": 2,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 13,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "22164 Umland Cir, Jenner, CA 95450",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "22164 umland cir jenner ca 95450"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/22164-umland-cir-jenner-ca-95450-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/22164-umland-cir-jenner-ca-95450-source-drift.json",
            "total_drift_rows": 15,
            "url": "https://properties.earlco.in/properties/22164-umland-cir-jenner-ca-95450.html"
          },
          {
            "api_only_rows": 2,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 13,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "7542 and 7656 S Colfax Ave, Chicago, IL 60649",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "7542 and 7656 s colfax ave chicago il 60649"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/7542-and-7656-s-colfax-ave-chicago-il-60649-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/7542-and-7656-s-colfax-ave-chicago-il-60649-source-drift.json",
            "total_drift_rows": 15,
            "url": "https://properties.earlco.in/properties/7542-and-7656-s-colfax-ave-chicago-il-60649.html"
          },
          {
            "api_only_rows": 5,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 10,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "8143 S Sangamon St, Chicago, IL 60620",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "8143 s sangamon st chicago il 60620"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/8143-s-sangamon-st-chicago-il-60620-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/8143-s-sangamon-st-chicago-il-60620-source-drift.json",
            "total_drift_rows": 15,
            "url": "https://properties.earlco.in/properties/8143-s-sangamon-st-chicago-il-60620.html"
          },
          {
            "api_only_rows": 8,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 7,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "1315 E 114th St, Cleveland, OH 44106",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "1315 e 114th st cleveland oh 44106"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/1315-e-114th-st-cleveland-oh-44106-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/1315-e-114th-st-cleveland-oh-44106-source-drift.json",
            "total_drift_rows": 15,
            "url": "https://properties.earlco.in/properties/1315-e-114th-st-cleveland-oh-44106.html"
          },
          {
            "api_only_rows": 0,
            "approval_gate": "owner_approval_required_before_upload",
            "categories": {
              "local_root_missing_from_api": 1
            },
            "decision_required": "Verify the local Windows Dropbox Public root is intended current source, then sync/upload it to the Dropbox API-backed account or mark it intentionally local-only.",
            "local_only_rows": 13,
            "next_actions": [
              "verify local Windows Dropbox files are intended current source, then sync/upload to Dropbox API account or mark intentionally local-only"
            ],
            "property": "EARLDAO",
            "recommended_resolution": "sync_or_upload_local_public_root_to_api",
            "root_alias_keys": [
              "real estate other earldao"
            ],
            "root_queue_rows": 1,
            "safety": [
              "upload_or_sync_review"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/earldao-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/earldao-source-drift.json",
            "total_drift_rows": 13,
            "url": "https://properties.earlco.in/properties/earldao.html"
          },
          {
            "api_only_rows": 1,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 12,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "428 Cross St, Akron, OH 44311",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "428 cross st akron oh 44311"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/428-cross-st-akron-oh-44311-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/428-cross-st-akron-oh-44311-source-drift.json",
            "total_drift_rows": 13,
            "url": "https://properties.earlco.in/properties/428-cross-st-akron-oh-44311.html"
          },
          {
            "api_only_rows": 2,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 11,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "566 Nash St, Akron, OH 44306",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "566 nash st akron oh 44306"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/566-nash-st-akron-oh-44306-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/566-nash-st-akron-oh-44306-source-drift.json",
            "total_drift_rows": 13,
            "url": "https://properties.earlco.in/properties/566-nash-st-akron-oh-44306.html"
          },
          {
            "api_only_rows": 4,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 9,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "Ohio 3-Property Package",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "ohio 3 property package"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/ohio-3-property-package-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/ohio-3-property-package-source-drift.json",
            "total_drift_rows": 13,
            "url": "https://properties.earlco.in/properties/ohio-3-property-package.html"
          },
          {
            "api_only_rows": 5,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 8,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "254 Bowmanville St, Akron, OH 44305",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "254 bowmanville st akron oh 44305"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/254-bowmanville-st-akron-oh-44305-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/254-bowmanville-st-akron-oh-44305-source-drift.json",
            "total_drift_rows": 13,
            "url": "https://properties.earlco.in/properties/254-bowmanville-st-akron-oh-44305.html"
          },
          {
            "api_only_rows": 6,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 6,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "4318 Clybourne Ave, Cleveland, OH 44109",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "4318 clybourne ave cleveland oh 44109"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/4318-clybourne-ave-cleveland-oh-44109-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/4318-clybourne-ave-cleveland-oh-44109-source-drift.json",
            "total_drift_rows": 12,
            "url": "https://properties.earlco.in/properties/4318-clybourne-ave-cleveland-oh-44109.html"
          },
          {
            "api_only_rows": 2,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 9,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "25 Circle Dr, Dixmoor, IL 60426",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "25 cir dr dixmoor il 60426"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/25-circle-dr-dixmoor-il-60426-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/25-circle-dr-dixmoor-il-60426-source-drift.json",
            "total_drift_rows": 11,
            "url": "https://properties.earlco.in/properties/25-circle-dr-dixmoor-il-60426.html"
          },
          {
            "api_only_rows": 3,
            "approval_gate": "manual_compare_required",
            "categories": {
              "same_root_content_drift": 1
            },
            "decision_required": "Compare local-only and API-only rows for this property/root, then choose the source of truth before uploading, pulling, archiving, or moving files.",
            "local_only_rows": 8,
            "next_actions": [
              "compare local-only and API-only rows for this normalized property root; hashes differ, so decide source of truth before upload/pull/archive"
            ],
            "property": "9634 S Green St, Chicago, IL 60643",
            "recommended_resolution": "manual_compare_before_merge",
            "root_alias_keys": [
              "9634 s green st chicago il 60643"
            ],
            "root_queue_rows": 1,
            "safety": [
              "manual_compare"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/9634-s-green-st-chicago-il-60643-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/9634-s-green-st-chicago-il-60643-source-drift.json",
            "total_drift_rows": 11,
            "url": "https://properties.earlco.in/properties/9634-s-green-st-chicago-il-60643.html"
          },
          {
            "api_only_rows": 0,
            "approval_gate": "owner_approval_required_before_upload",
            "categories": {
              "local_root_missing_from_api": 1
            },
            "decision_required": "Verify the local Windows Dropbox Public root is intended current source, then sync/upload it to the Dropbox API-backed account or mark it intentionally local-only.",
            "local_only_rows": 10,
            "next_actions": [
              "verify local Windows Dropbox files are intended current source, then sync/upload to Dropbox API account or mark intentionally local-only"
            ],
            "property": "326-332 S Alcott St Denver, CO 80219",
            "recommended_resolution": "sync_or_upload_local_public_root_to_api",
            "root_alias_keys": [
              "326 332 s alcott st denver co 80219"
            ],
            "root_queue_rows": 1,
            "safety": [
              "upload_or_sync_review"
            ],
            "source_drift_review_md_url": "https://properties.earlco.in/api-alignment/properties/326-332-s-alcott-st-denver-co-80219-source-drift.md",
            "source_drift_review_url": "https://properties.earlco.in/api-alignment/properties/326-332-s-alcott-st-denver-co-80219-source-drift.json",
            "total_drift_rows": 10,
            "url": "https://properties.earlco.in/properties/326-332-s-alcott-st-denver-co-80219.html"
          }
        ]
      },
      "next_action": "Review properties in descending total_drift_rows. Local-only rows usually mean the Windows Dropbox source has files not visible to the physical Umbrel Dropbox API account; API-only rows usually mean the API account still sees legacy, alternate, or unsynced paths. Resolve backing account scope/sync first, then rerun the guarded API alignment dry-runs before approving any file moves.",
      "priority": "high",
      "status": "review_required",
      "title": "Prioritize properties with local/API source drift",
      "url": "https://properties.earlco.in/api-alignment/source-drift-priority.json"
    },
    {
      "category": "folder-cleanup",
      "count": 25,
      "details": {
        "properties_with_cleanup_work": 6,
        "ready_move_rows": 25
      },
      "next_action": "Review ready moves, confirm no automation-controlled paths are affected, then apply only explicitly approved changes.",
      "priority": "medium",
      "status": "approval_required",
      "title": "Approve ready Public folder cleanup moves",
      "url": "https://properties.earlco.in/cleanup/property-cleanup-summary.json"
    },
    {
      "category": "folder-cleanup",
      "count": 212,
      "details": {
        "blocked_rows": 0,
        "review_rows": 212
      },
      "next_action": "Use the cleanup review page to classify ambiguous rows before producing an approval packet.",
      "priority": "medium",
      "status": "manual_review_required",
      "title": "Review ambiguous Public folder cleanup rows",
      "url": "https://properties.earlco.in/cleanup-review.html"
    },
    {
      "category": "wiki-quality",
      "count": 13,
      "details": {
        "gap_counts": {
          "has_financials": 0,
          "has_owner_update": 13,
          "has_property_snapshot": 2,
          "has_valuation": 6
        },
        "top_gaps": [
          {
            "files": 1,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": false,
            "has_valuation": false,
            "highlight_count": 3,
            "manifest_url": "https://properties.earlco.in/properties/8143-s-sangamon-st.json",
            "missing_required": [
              "property snapshot",
              "owner update",
              "valuation"
            ],
            "missing_required_count": 3,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "8143 S Sangamon St",
            "url": "https://properties.earlco.in/properties/8143-s-sangamon-st.html",
            "wiki_score": 25.0
          },
          {
            "files": 1,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": false,
            "has_valuation": false,
            "highlight_count": 3,
            "manifest_url": "https://properties.earlco.in/properties/85-104-alawa-pl.json",
            "missing_required": [
              "property snapshot",
              "owner update",
              "valuation"
            ],
            "missing_required_count": 3,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "85-104 Alawa Pl",
            "url": "https://properties.earlco.in/properties/85-104-alawa-pl.html",
            "wiki_score": 25.0
          },
          {
            "files": 21,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": false,
            "highlight_count": 3,
            "manifest_url": "https://properties.earlco.in/properties/1518-dille-rd.json",
            "missing_required": [
              "owner update",
              "valuation"
            ],
            "missing_required_count": 2,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "1518 Dille Rd",
            "url": "https://properties.earlco.in/properties/1518-dille-rd.html",
            "wiki_score": 50.0
          },
          {
            "files": 9,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": false,
            "highlight_count": 2,
            "manifest_url": "https://properties.earlco.in/properties/coolwood-llc.json",
            "missing_required": [
              "owner update",
              "valuation"
            ],
            "missing_required_count": 2,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "Coolwood LLC",
            "url": "https://properties.earlco.in/properties/coolwood-llc.html",
            "wiki_score": 50.0
          },
          {
            "files": 6,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": false,
            "highlight_count": 2,
            "manifest_url": "https://properties.earlco.in/properties/mining-sales-consulting-and-pm.json",
            "missing_required": [
              "owner update",
              "valuation"
            ],
            "missing_required_count": 2,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "Mining, Sales, Consulting, and PM",
            "url": "https://properties.earlco.in/properties/mining-sales-consulting-and-pm.html",
            "wiki_score": 50.0
          },
          {
            "files": 2,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": false,
            "highlight_count": 3,
            "manifest_url": "https://properties.earlco.in/properties/hoa-docs.json",
            "missing_required": [
              "owner update",
              "valuation"
            ],
            "missing_required_count": 2,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "HOA Docs",
            "url": "https://properties.earlco.in/properties/hoa-docs.html",
            "wiki_score": 50.0
          },
          {
            "files": 321,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": true,
            "highlight_count": 6,
            "manifest_url": "https://properties.earlco.in/properties/1084-decatur-st-orangeburg-sc-29118.json",
            "missing_required": [
              "owner update"
            ],
            "missing_required_count": 1,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "1084 Decatur St. Orangeburg, SC 29118",
            "url": "https://properties.earlco.in/properties/1084-decatur-st-orangeburg-sc-29118.html",
            "wiki_score": 75.0
          },
          {
            "files": 82,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": true,
            "highlight_count": 7,
            "manifest_url": "https://properties.earlco.in/properties/665-chapman-st-edwardsville-il-62025.json",
            "missing_required": [
              "owner update"
            ],
            "missing_required_count": 1,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "665 Chapman St, Edwardsville, IL 62025",
            "url": "https://properties.earlco.in/properties/665-chapman-st-edwardsville-il-62025.html",
            "wiki_score": 75.0
          },
          {
            "files": 62,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": true,
            "highlight_count": 7,
            "manifest_url": "https://properties.earlco.in/properties/440-louden-ave-dunedin-fl-34698.json",
            "missing_required": [
              "owner update"
            ],
            "missing_required_count": 1,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "440 Louden Ave, Dunedin, FL 34698",
            "url": "https://properties.earlco.in/properties/440-louden-ave-dunedin-fl-34698.html",
            "wiki_score": 75.0
          },
          {
            "files": 37,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": true,
            "highlight_count": 7,
            "manifest_url": "https://properties.earlco.in/properties/75-boulevard-ne-unit-1-atlanta-ga-30312.json",
            "missing_required": [
              "owner update"
            ],
            "missing_required_count": 1,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "75 Boulevard NE Unit 1 Atlanta, GA 30312",
            "url": "https://properties.earlco.in/properties/75-boulevard-ne-unit-1-atlanta-ga-30312.html",
            "wiki_score": 75.0
          },
          {
            "files": 21,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": true,
            "highlight_count": 7,
            "manifest_url": "https://properties.earlco.in/properties/621-e-le-claire-rd-eldridge-ia-52748.json",
            "missing_required": [
              "owner update"
            ],
            "missing_required_count": 1,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "621 E Le Claire Rd Eldridge, IA 52748",
            "url": "https://properties.earlco.in/properties/621-e-le-claire-rd-eldridge-ia-52748.html",
            "wiki_score": 75.0
          },
          {
            "files": 16,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": true,
            "highlight_count": 6,
            "manifest_url": "https://properties.earlco.in/properties/33088-joshua-ave-acton-ca-93510.json",
            "missing_required": [
              "owner update"
            ],
            "missing_required_count": 1,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "33088 Joshua Ave Acton, CA 93510",
            "url": "https://properties.earlco.in/properties/33088-joshua-ave-acton-ca-93510.html",
            "wiki_score": 75.0
          },
          {
            "files": 1,
            "has_financials": true,
            "has_owner_update": false,
            "has_property_snapshot": true,
            "has_valuation": true,
            "highlight_count": 4,
            "manifest_url": "https://properties.earlco.in/properties/earlbnb.json",
            "missing_required": [
              "owner update"
            ],
            "missing_required_count": 1,
            "next_action": "Add or improve files in 00 - README & Property Snapshot and related canonical sections, then rerun Public KB sync.",
            "property": "EarlBnB",
            "url": "https://properties.earlco.in/properties/earlbnb.html",
            "wiki_score": 75.0
          }
        ]
      },
      "next_action": "Prioritize top_gaps. For each property, add a current property snapshot, owner update, financials summary, or valuation/appraisal file under the canonical Public folders, then rerun the idempotent Public KB sync.",
      "priority": "medium",
      "status": "content_needed",
      "title": "Fill property wiki coverage gaps",
      "url": "https://properties.earlco.in/wiki-quality.json"
    }
  ],
  "category_counts": {
    "api-move-blockers": 1,
    "backing": 1,
    "folder-cleanup": 2,
    "source-drift": 1,
    "wiki-quality": 1
  },
  "cleanup_ready_move_rows": 25,
  "cleanup_review_rows": 212,
  "critical_action_count": 1,
  "generated_at": "2026-07-04T22:44:43.105640+00:00",
  "low_risk_api_move_blocked_rows": 9,
  "next_action": "Work actions in priority order. Treat every source-file cleanup item as review-only until explicitly approved.",
  "open_action_count": 6,
  "policy": "review-only consolidated action board; publishing does not move, trash, delete, upload, or pull Dropbox files",
  "properties_with_source_drift": 69,
  "properties_with_wiki_gaps": 13,
  "remote_dropbox_current": false,
  "schema": "property-public-kb-action-board-v1",
  "source_drift_rows": {
    "api_only_rows": 243,
    "local_only_rows": 819,
    "root_queue_rows": 69
  },
  "status_counts": {
    "approval_required": 1,
    "blocked_external_permission": 1,
    "content_needed": 1,
    "manual_review_required": 1,
    "open": 1,
    "review_required": 1
  },
  "wiki_gap_counts": {
    "has_financials": 0,
    "has_owner_update": 13,
    "has_property_snapshot": 2,
    "has_valuation": 6
  }
}
