# Sync robustness + multi-account Data Manager — apply

    cp -R sync-robustness/app/*       ./app/
    cp -R sync-robustness/resources/* ./resources/
    cp -R sync-robustness/tests/*     ./tests/

Overwrites DataManagerController and the Data Manager page.

## Hand patches
- docs/adapter-error-patch.md   — adapters throw ProviderRequestFailed instead of
                                  returning an empty result (item 5)
- docs/sync-manager-patch.md    — strict sync type + honest counts (items 6, 7)

## Test
    php artisan config:clear
    php artisan test --filter=SyncRobustness
    node node_modules/vite/bin/vite.js build

## What changes for you
- Data Manager lists EVERY account per provider, so two Rentec keys appear as two cards
  and each syncs on its own schedule. "Add another Rentec account" appears once one
  exists. Both keys pull data independently.
- A provider error now fails the run and records the provider's own message
  ("No such column 'Follow_Up_Time_Stamp__c'") instead of reporting healthy with zero
  records.
- records_processed reflects what THIS run fetched, not a stale figure.
- sync($account, $resource, 'full') now throws rather than silently running an
  incremental sync with a narrow window.
