sync: auto-sync from GURU-5070 at 2026-06-29 11:05:52

Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-29 11:05:52
This commit is contained in:
2026-06-29 11:06:44 -07:00
parent eee062be3f
commit 1f15a6bc79
10 changed files with 3778 additions and 1 deletions

1
.pst_cmd1 Normal file
View File

@@ -0,0 +1 @@
09be4e90-ab98-4f02-a0d6-3021c2a846e4

1
.pst_cmd_scope Normal file
View File

@@ -0,0 +1 @@
70dd552d-6248-4b95-b32e-a33f7d2a90d8

1
.pst_glennda_test Normal file
View File

@@ -0,0 +1 @@
52bae3e4-c3a6-4bc0-933f-1db111b8812f

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,118 @@
# BirthBiologic — 2026-06-26 migration corruption: recovery + corrected re-migration plan
Status: PLAN (approved direction 2026-06-29 by Mike — corrected re-migration from intact Datto
source; Datto 06-24 accepted as Master Donor source). Execution gated per phase.
## Summary of the incident
The 2026-06-26 Datto -> SharePoint push corrupted a large set of files. Root cause is fully
diagnosed: the upload path wrote each file's **byte array as space-separated DECIMAL TEXT**
instead of raw binary (a `"$bytes"` stringification bug in the base64/stdout-capture upload
workaround used during the 06-26 session). Proof:
- Corrupt `.xlsx` begin `80 75 3 4 20 0 6 0 ...` = decimal of `0x50 0x4B 0x03 0x04 0x14 0x00 0x06 0x00`
(the real `PK..` OOXML signature).
- Corrupt `.pdf` begin `37 80 68 70 ...` = decimal of `0x25 0x50 0x44 0x46` (`%PDF`).
Because it operated on raw bytes, the bug is **format-agnostic**`.xlsx`, `.docx`, and `.pdf`
were all hit, and corrupt files are inflated ~3-4x (each byte became 2-4 ASCII chars + space).
### Blast radius (as of 2026-06-29, read-only probe on ACG-DWP-X-BB)
- **15 of 16** locally-cached files modified 2026-06-26 in `C:\Users\Administrator\OneDrive -
Birth Biologic, LLC\` are corrupt. Includes HR PII (`K Steen Confidential Disclosure
Agreement.pdf`, Handbook Acknowledgement, Safety & Health Policy), Finance, Quality Designee
docs, the **Master Donor Spreadsheet**, and **Inventory 2025/2026**.
- **~3,298** additional files modified 2026-06-26 are OneDrive **cloud-only** (dehydrated) and
were skipped to avoid mass-hydration. They are almost certainly corrupted the same way — i.e.
the true scope is likely the **entire 06-26 push** (hundreds-to-thousands of files).
### Data-loss assessment: NONE expected
- The **Datto Workplace source copies are intact** (`C:\Users\Public\Desktop\Datto Workplace
Server Projects\`), confirmed clean `PK` headers on the affected spreadsheets.
- Even a corrupt file **with no source** is **losslessly recoverable** — it literally contains
the original bytes as decimal numbers; split on whitespace -> `[byte]` -> `WriteAllBytes`.
## Authoritative source & path mapping
- **Source of truth:** `C:\Users\Public\Desktop\Datto Workplace Server Projects\` (ACG-DWP-X-BB).
- **Target libraries:** `C:\Users\Administrator\OneDrive - Birth Biologic, LLC\<Library> - Documents\`
(OneDrive-synced SharePoint libraries on the same host).
- **Mapping rule:** dest `"<Folder> - Documents\..."` <-> source `"<Folder>\..."`
(strip the ` - Documents` suffix). Confirmed pairs: Admin, Donor Services, Supply Management
(verify Quality Department + any other library before execution).
## Why this method (corrected re-migration, not file repair)
The corruption is systemic to the 06-26 batch, so file-by-file repair is the wrong altitude.
The clean fix exploits that **both trees live on the same machine** with OneDrive sync available:
copy intact source files into the OneDrive library folders and let **OneDrive sync them up**
native, integrity-checked, no custom byte handling, no Graph chunked-upload, no RMM timeout.
(SPMT is the bulk alternative; the buggy custom-script upload path is retired for this work.)
## Plan
### Phase 0 — Freeze & notify (do first)
- Tell client/Annise: **do not open/edit/trust** files in the migrated SharePoint libraries
dated 2026-06-26 — they are corrupt and will be replaced.
- Pause OneDrive editing on ACG-DWP-X-BB for those libraries during the re-push to avoid sync
conflicts (409s).
### Phase 1 — RESULTS (completed 2026-06-29, read-only)
Method: local metadata enumeration on ACG-DWP-X-BB (size vs Datto source) + header reads;
Graph (Tenant Admin app, BirthBio tenant `19a568e8-...`) for SharePoint-side spot checks.
- **3,371** files modified 2026-06-26 across the OneDrive libraries.
- **84 CONFIRMED CORRUPT** (decimal-text header, not a valid signature):
- By library: **Donor Services 67**, Admin 12, Supply Management 3, Quality Department 2.
- By type: 59 `.pdf`, 20 `.docx`, 5 `.xlsx`.
- Recovery routes: **83 RESTORE-FROM-SOURCE** (clean Datto source confirmed) + **1
DECODE-OR-FIND-SOURCE** (`Donor Services\Suitability\3c. Cord For Life - Donor Suitability
Datto Copy.docx` — no mapped source; decode the decimal-bytes or locate its source).
- **~3,197 clean** (3,168 size-matched to source + 29 header-verified).
- **89 DEFERRED** — cloud-only OneDrive files at `>=260`-char (MAX_PATH) paths, **no Datto
source mapping** (Quality 59, Admin 30). Unassessable by header: Graph driveItem-by-path 404s
them and local `[IO.File]::Open` fails MAX_PATH even with `\\?\` + .NET long-path switches.
Must be checked/handled with a **long-path-native tool (robocopy / SPMT)** in execution.
Lower corruption risk (no Datto source = not part of the Datto->SP byte-push) but NOT cleared.
Artifacts (committed):
- `2026-06-26-corruption-manifest.csv` — full 3,371-row inventory (verdict, sizes, source state).
- `2026-06-26-remediation-list.csv` — the 84 corrupt files + recovery route (Phase 3 input).
### Phase 1 — Full-scope inventory (READ-ONLY) [method, for reference]
- Enumerate **all** files (any type) modified 2026-06-26 across every OneDrive library on
ACG-DWP-X-BB; classify corrupt (header != type signature / decimal-text) vs clean.
- Handle cloud-only files: either controlled batch-hydrate + header-check, or check via Graph
(Tenant Admin app, `Sites.ReadWrite.All`) against the SharePoint side.
- Output: authoritative **corrupt-file manifest** with, per file: dest path, mapped source path,
source-validity (clean header? exists?), and recovery route.
### Phase 2 — Pre-flight validation
- For each corrupt file confirm a **clean source** exists in the Datto tree (verify header).
- Partition into: **A** restore-from-source · **B** decimal-decode-recover (no clean source) ·
**C** no recovery available (investigate; expected empty).
### Phase 3 — Corrected re-push (GATED — explicit go required)
- **List A:** copy source -> OneDrive library path (overwrite corrupt copy); let OneDrive sync.
Work in batches; after each batch verify dest header flips to a valid signature.
- **List B:** decode decimal-text -> binary, write, verify header.
- Master Donor Spreadsheet: use Datto **2026-06-24 13:32** source (2,292,743 B) per Mike's call.
### Phase 4 — Verification & reconciliation
- Re-scan libraries: confirm **0 corrupt** remaining in the 06-26 set.
- Spot-open Master Donor, an Inventory, and a sample PDF to confirm they actually open.
- Reconcile file counts/sizes source vs dest. Update `wiki/clients/birth-biologic.md` + CONTEXT.
### Phase 5 — Root-cause closure
- Retire the custom-script byte-capture upload path for this client. If any custom upload
remains, write binary with `[IO.File]::WriteAllBytes` — never stringify a byte array.
- Confirms logged in `errorlog.md` (migration/datto-to-sharepoint, 2026-06-29).
## Open items before execution
- Decide cloud-only handling for Phase 1 (batch-hydrate vs Graph) — Graph avoids 3,300 downloads.
- Confirm full library list + mapping (esp. Quality Department).
- Confirm no genuine 06-24->06-26 edits exist only in corrupt copies for files other than Master
Donor (those would use the decimal-decode route to preserve latest content).

View File

@@ -0,0 +1,85 @@
Rel,Ext,DestSize,SrcSize,SrcState,Route
Admin - Documents\Finance\2026 Finance\2026 Deposits vs. Credits Log.xlsx,.xlsx,56677,16988,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Human Resources\NEW HR.2021\Employees\Current Employees\Quality Systems Employees\Kristin Steen\Internal\K Steen Confidential Disclosure Agreement.pdf,.pdf,1235917,351732,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Human Resources\NEW HR.2021\Employees\Current Employees\Quality Systems Employees\Kristin Steen\Internal\K Steen.Handbook Acknowledgement.pdf,.pdf,2847716,806275,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Human Resources\NEW HR.2021\Employees\Current Employees\Quality Systems Employees\Kristin Steen\Internal\K Steen.Safety & Health Policy Statement.pdf,.pdf,1060379,303917,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Human Resources\NEW HR.2021\Updated HR Forms\Document Change History.docx,.docx,166247,48202,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Mary Projects\Medical Director Annual SOP\Medical Director Annual SOP Review.docx,.docx,164788,47829,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Printables\Admin Printables\Tissue Supply Agreement blank rates.docx,.docx,162496,46758,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Professional Services_\Vendors_Suppliers\Halveon Temp Logger Info\Halveon Instructions\Halveon Data Logger Info.docx,.docx,55214,16558,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Quality Designee\Pending Donor Record Review\PendingList.docx,.docx,127166,36783,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Quality Designee\Quality Review Contacts\Quality Review Contact Information.docx,.docx,53304,16005,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Quality Designee\Vicki\Tracking documentation.docx,.docx,138455,40765,CLEAN,RESTORE-FROM-SOURCE
Admin - Documents\Quality Designee\Vicki\Designee information\Designee Information 2026.docx,.docx,159494,45765,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Acquisition and Lab Processes\Acquisition and Lab Processes. Change History.docx,.docx,88650,25861,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Acquisition and Lab Processes\Acquisition Supplies. Abbreviated Version.docx,.docx,61629,18509,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Acquisition and Lab Processes\Table of Contents Acquisition Processes.docx,.docx,147849,43637,CLEAN,RESTORE-FROM-SOURCE
"Donor Services - Documents\Acquisition and Lab Processes\1. In Progress\1. StimLabs Placental Disc, Biolife SAC.UC with coordinator cord blood draw Acquisition Process.docx",.docx,195598,56258,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Acquisition and Lab Processes\Cord For Life\2. Acquisition Process CFL Cord Validation.docx,.docx,161133,46731,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Acquisition and Lab Processes\Cord For Life\3. Acquisition Process CFL Cord Validation.docx,.docx,161316,46772,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Acquisition and Lab Processes\Special Projects\Amnigift\1a. Amnigift Aquisition Process.docx,.docx,161970,46768,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2024\12- December 2024\MMC\24-12204\24-12204.RecordReviewChecklist.Incomplete.pdf,.pdf,1241997,353793,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2025\04- April 2025\OMC\25-04121\Corrections\25-04121.Progress Note Update.pdf,.pdf,1038235,296078,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2025\08-August 2025\MMC\25-08205\25-08205.RecordReviewChecklist.Incomplete.pdf,.pdf,1341176,381012,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2025\08-August 2025\MMC\25-08207\25-08207.RecordReviewChecklist.Incomplete.pdf,.pdf,1328924,376983,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2025\08-August 2025\MMC\25-08207\Corrections\25-08207.Progress Note PG. 2 Update.pdf,.pdf,1058107,303041,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2025\11-November 2025\MMC\25-11212\Corrections\25-11212.Progress Note Update.pdf,.pdf,1170423,332482,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2025\12-December 2025\OPRMC\25-12018\25-12018.pdf,.pdf,27167425,7703218,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2025\12-December 2025\OPRMC\25-12034\Infectious Disease\25-12034.Positive Serology Communication Tracking.pdf,.pdf,1230394,350609,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2025\12-December 2025\OPRMC\25-12038\25-12038.RecordReviewChecklist.Incomplete.pdf,.pdf,1866490,537909,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OMC\26-01102\Corrections\26-01102.Acquisition Site Assessment Update.pdf,.pdf,1160432,330073,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OMC\26-01138\26-01138.RecordReviewChecklist.Incomplete.pdf,.pdf,1128835,322192,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OPRMC\26-01040\Corrections\26-01040.Progress Note PG. 3 Update.pdf,.pdf,841816,242866,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OPRMC\26-01044\26-01044.Record Review Checklist.pdf,.pdf,1393662,395143,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OPRMC\26-01044\Corrections\26-01044.Progress Note Update.pdf,.pdf,1928347,551988,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OPRMC\26-01045\Corrections\26-01045.Progress Note PG. 2 Update.pdf,.pdf,1180310,335951,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\CTMC\26-02319\26-02319.pdf,.pdf,30019962,8471460,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\MMC\26-02204\26-02204.pdf,.pdf,32678592,9233821,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\MMC\26-02209\26-02209.pdf,.pdf,28235439,7983916,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\OMC\26-02102\Corrections\26-02102.FDA Delivery Form Update.pdf,.pdf,5985088,1676742,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\OMC\26-02130\26-02130.pdf,.pdf,30966840,8750880,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\OMC\26-02131\26-02131.pdf,.pdf,37095832,10479138,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\OPRMC\26-02001\Corrections\26-02001.Progress Note PG. 2 Update.pdf,.pdf,1140891,324891,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03307\26-03307.pdf,.pdf,27158430,7682142,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03314\26-03314.RecordReviewChecklist.Incomplete.pdf,.pdf,1278061,363831,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03317\26-03317.RecordReviewChecklist.Incomplete.pdf,.pdf,1238356,352526,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03318\26-03318.RecordReviewChecklist.Incomplete.pdf,.pdf,1282569,364277,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03319\26-03319.RecordReviewChecklist.Incomplete.pdf,.pdf,1311205,372994,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03332\26-03332.RecordReviewChecklist.Incomplete.pdf,.pdf,1178265,335426,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03338\26-03338.RecordReviewChecklist.Incomplete.pdf,.pdf,1233987,351702,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03339\26-03339.RecordReviewChecklist.Incomplete.pdf,.pdf,1308941,371346,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\MMC\26-03200\26-03200.RecordReviewChecklist.Incomplete.pdf,.pdf,1208188,344378,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\MMC\26-03210\26-03210.RecordReviewChecklist.Incomplete.pdf,.pdf,1262285,359534,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\OPRMC\26-03017\26-03017.RecordReviewChecklist.Incomplete.pdf,.pdf,1155040,329853,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\OPRMC\26-03035\26-03035.RecordReviewChecklist.Incomplete.pdf,.pdf,1140364,325161,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04300\26-04300.RecordReviewChecklist.Incomplete.pdf,.pdf,1235200,351565,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04304\26-04304.RecordReviewChecklist.Incomplete.pdf,.pdf,1251686,356457,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04305\26-04305.RecordReviewChecklist.Incomplete.pdf,.pdf,1352390,383969,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04307\26-04307.RecordReviewChecklist.Incomplete.pdf,.pdf,1305836,370633,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04310\26-04310.RecordReviewChecklist.Incomplete.pdf,.pdf,1269224,360986,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04312\26-04312.RecordReviewChecklist.Incomplete.pdf,.pdf,1353618,384416,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04314\26-04314.RecordReviewChecklist.Incomplete.pdf,.pdf,1291510,367009,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04315\26-04315.RecordReviewChecklist.Incomplete.pdf,.pdf,1300103,369213,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04324\26-04324.RecordReviewChecklist.Incomplete.pdf,.pdf,1281309,364602,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04326\26-04326.RecordReviewChecklist.Incomplete.pdf,.pdf,1291467,367024,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04327\26-04327.RecordReviewChecklist.Incomplete.pdf,.pdf,1295018,367549,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\MMC\26-04204\26-04204.RecordReviewChecklist.Incomplete.pdf,.pdf,1230416,350108,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OMC\26-04114\26-04114.RecordReviewChecklist.Incomplete.pdf,.pdf,1244706,354815,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OMC\26-04120\26-04120.RecordReviewChecklist.Incomplete.pdf,.pdf,1282722,364488,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OMC\26-04121\26-04121.RecordReviewChecklist.Incomplete.pdf,.pdf,1185031,337465,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OMC\26-04129\26-04129.RecordReviewChecklist.Incomplete.pdf,.pdf,1251420,355807,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OMC\26-04130\26-04130.RecordReviewChecklist.Incomplete.pdf,.pdf,1307974,372004,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OPRMC\26-04005\26-04005.RecordReviewChecklist.Incomplete.pdf,.pdf,1216722,345975,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OPRMC\26-04021\26-04021.RecordReviewChecklist.Incomplete.pdf,.pdf,1397332,396527,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OPRMC\26-04039\26-04039.RecordReviewChecklist.Incomplete.pdf,.pdf,1376776,390896,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OPRMC\26-04052\26-04052.RecordReviewChecklist.Incomplete.pdf,.pdf,1245620,354860,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OPRMC\26-04061\26-04061.pdf,.pdf,22674083,6438236,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Master Donor Spreadsheet\Master Donor Spreadsheet.xlsx,.xlsx,8117320,2292743,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Suitability\10a. BioLife-Donor Suitability.docx,.docx,48040,14519,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Suitability\9b. StimLabs - Suitability Notes.docx,.docx,54471,16381,CLEAN,RESTORE-FROM-SOURCE
Quality Department - Documents\Forms Associated With SOP's\ACQ-215.001.B Acquisition Information.docx,.docx,157899,45810,CLEAN,RESTORE-FROM-SOURCE
Quality Department - Documents\LOGS\Quality Assurance Reporting Log\Deviations\2025\DEV95.In Progress.docx,.docx,163674,47368,CLEAN,RESTORE-FROM-SOURCE
Supply Management - Documents\Hard Count Sheet.xlsx,.xlsx,51290,15438,CLEAN,RESTORE-FROM-SOURCE
Supply Management - Documents\Birth Biologic Inventory History\Inventory 2025\Inventory 2025.xlsx,.xlsx,199199,56824,CLEAN,RESTORE-FROM-SOURCE
Supply Management - Documents\Birth Biologic Inventory History\Inventory 2026\Inventory 2026.xlsx,.xlsx,128792,36996,CLEAN,RESTORE-FROM-SOURCE
Donor Services - Documents\Suitability\3c. Cord For Life - Donor Suitability Datto Copy.docx,.docx,102772,-1,NO-SOURCE,DECODE-OR-FIND-SOURCE
1 Rel Ext DestSize SrcSize SrcState Route
2 Admin - Documents\Finance\2026 Finance\2026 Deposits vs. Credits Log.xlsx .xlsx 56677 16988 CLEAN RESTORE-FROM-SOURCE
3 Admin - Documents\Human Resources\NEW HR.2021\Employees\Current Employees\Quality Systems Employees\Kristin Steen\Internal\K Steen Confidential Disclosure Agreement.pdf .pdf 1235917 351732 CLEAN RESTORE-FROM-SOURCE
4 Admin - Documents\Human Resources\NEW HR.2021\Employees\Current Employees\Quality Systems Employees\Kristin Steen\Internal\K Steen.Handbook Acknowledgement.pdf .pdf 2847716 806275 CLEAN RESTORE-FROM-SOURCE
5 Admin - Documents\Human Resources\NEW HR.2021\Employees\Current Employees\Quality Systems Employees\Kristin Steen\Internal\K Steen.Safety & Health Policy Statement.pdf .pdf 1060379 303917 CLEAN RESTORE-FROM-SOURCE
6 Admin - Documents\Human Resources\NEW HR.2021\Updated HR Forms\Document Change History.docx .docx 166247 48202 CLEAN RESTORE-FROM-SOURCE
7 Admin - Documents\Mary Projects\Medical Director Annual SOP\Medical Director Annual SOP Review.docx .docx 164788 47829 CLEAN RESTORE-FROM-SOURCE
8 Admin - Documents\Printables\Admin Printables\Tissue Supply Agreement blank rates.docx .docx 162496 46758 CLEAN RESTORE-FROM-SOURCE
9 Admin - Documents\Professional Services_\Vendors_Suppliers\Halveon Temp Logger Info\Halveon Instructions\Halveon Data Logger Info.docx .docx 55214 16558 CLEAN RESTORE-FROM-SOURCE
10 Admin - Documents\Quality Designee\Pending Donor Record Review\PendingList.docx .docx 127166 36783 CLEAN RESTORE-FROM-SOURCE
11 Admin - Documents\Quality Designee\Quality Review Contacts\Quality Review Contact Information.docx .docx 53304 16005 CLEAN RESTORE-FROM-SOURCE
12 Admin - Documents\Quality Designee\Vicki\Tracking documentation.docx .docx 138455 40765 CLEAN RESTORE-FROM-SOURCE
13 Admin - Documents\Quality Designee\Vicki\Designee information\Designee Information 2026.docx .docx 159494 45765 CLEAN RESTORE-FROM-SOURCE
14 Donor Services - Documents\Acquisition and Lab Processes\Acquisition and Lab Processes. Change History.docx .docx 88650 25861 CLEAN RESTORE-FROM-SOURCE
15 Donor Services - Documents\Acquisition and Lab Processes\Acquisition Supplies. Abbreviated Version.docx .docx 61629 18509 CLEAN RESTORE-FROM-SOURCE
16 Donor Services - Documents\Acquisition and Lab Processes\Table of Contents Acquisition Processes.docx .docx 147849 43637 CLEAN RESTORE-FROM-SOURCE
17 Donor Services - Documents\Acquisition and Lab Processes\1. In Progress\1. StimLabs Placental Disc, Biolife SAC.UC with coordinator cord blood draw Acquisition Process.docx .docx 195598 56258 CLEAN RESTORE-FROM-SOURCE
18 Donor Services - Documents\Acquisition and Lab Processes\Cord For Life\2. Acquisition Process CFL Cord Validation.docx .docx 161133 46731 CLEAN RESTORE-FROM-SOURCE
19 Donor Services - Documents\Acquisition and Lab Processes\Cord For Life\3. Acquisition Process CFL Cord Validation.docx .docx 161316 46772 CLEAN RESTORE-FROM-SOURCE
20 Donor Services - Documents\Acquisition and Lab Processes\Special Projects\Amnigift\1a. Amnigift Aquisition Process.docx .docx 161970 46768 CLEAN RESTORE-FROM-SOURCE
21 Donor Services - Documents\Donor Files\Donor Files 2024\12- December 2024\MMC\24-12204\24-12204.RecordReviewChecklist.Incomplete.pdf .pdf 1241997 353793 CLEAN RESTORE-FROM-SOURCE
22 Donor Services - Documents\Donor Files\Donor Files 2025\04- April 2025\OMC\25-04121\Corrections\25-04121.Progress Note Update.pdf .pdf 1038235 296078 CLEAN RESTORE-FROM-SOURCE
23 Donor Services - Documents\Donor Files\Donor Files 2025\08-August 2025\MMC\25-08205\25-08205.RecordReviewChecklist.Incomplete.pdf .pdf 1341176 381012 CLEAN RESTORE-FROM-SOURCE
24 Donor Services - Documents\Donor Files\Donor Files 2025\08-August 2025\MMC\25-08207\25-08207.RecordReviewChecklist.Incomplete.pdf .pdf 1328924 376983 CLEAN RESTORE-FROM-SOURCE
25 Donor Services - Documents\Donor Files\Donor Files 2025\08-August 2025\MMC\25-08207\Corrections\25-08207.Progress Note PG. 2 Update.pdf .pdf 1058107 303041 CLEAN RESTORE-FROM-SOURCE
26 Donor Services - Documents\Donor Files\Donor Files 2025\11-November 2025\MMC\25-11212\Corrections\25-11212.Progress Note Update.pdf .pdf 1170423 332482 CLEAN RESTORE-FROM-SOURCE
27 Donor Services - Documents\Donor Files\Donor Files 2025\12-December 2025\OPRMC\25-12018\25-12018.pdf .pdf 27167425 7703218 CLEAN RESTORE-FROM-SOURCE
28 Donor Services - Documents\Donor Files\Donor Files 2025\12-December 2025\OPRMC\25-12034\Infectious Disease\25-12034.Positive Serology Communication Tracking.pdf .pdf 1230394 350609 CLEAN RESTORE-FROM-SOURCE
29 Donor Services - Documents\Donor Files\Donor Files 2025\12-December 2025\OPRMC\25-12038\25-12038.RecordReviewChecklist.Incomplete.pdf .pdf 1866490 537909 CLEAN RESTORE-FROM-SOURCE
30 Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OMC\26-01102\Corrections\26-01102.Acquisition Site Assessment Update.pdf .pdf 1160432 330073 CLEAN RESTORE-FROM-SOURCE
31 Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OMC\26-01138\26-01138.RecordReviewChecklist.Incomplete.pdf .pdf 1128835 322192 CLEAN RESTORE-FROM-SOURCE
32 Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OPRMC\26-01040\Corrections\26-01040.Progress Note PG. 3 Update.pdf .pdf 841816 242866 CLEAN RESTORE-FROM-SOURCE
33 Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OPRMC\26-01044\26-01044.Record Review Checklist.pdf .pdf 1393662 395143 CLEAN RESTORE-FROM-SOURCE
34 Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OPRMC\26-01044\Corrections\26-01044.Progress Note Update.pdf .pdf 1928347 551988 CLEAN RESTORE-FROM-SOURCE
35 Donor Services - Documents\Donor Files\Donor Files 2026\01- January 2026\OPRMC\26-01045\Corrections\26-01045.Progress Note PG. 2 Update.pdf .pdf 1180310 335951 CLEAN RESTORE-FROM-SOURCE
36 Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\CTMC\26-02319\26-02319.pdf .pdf 30019962 8471460 CLEAN RESTORE-FROM-SOURCE
37 Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\MMC\26-02204\26-02204.pdf .pdf 32678592 9233821 CLEAN RESTORE-FROM-SOURCE
38 Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\MMC\26-02209\26-02209.pdf .pdf 28235439 7983916 CLEAN RESTORE-FROM-SOURCE
39 Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\OMC\26-02102\Corrections\26-02102.FDA Delivery Form Update.pdf .pdf 5985088 1676742 CLEAN RESTORE-FROM-SOURCE
40 Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\OMC\26-02130\26-02130.pdf .pdf 30966840 8750880 CLEAN RESTORE-FROM-SOURCE
41 Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\OMC\26-02131\26-02131.pdf .pdf 37095832 10479138 CLEAN RESTORE-FROM-SOURCE
42 Donor Services - Documents\Donor Files\Donor Files 2026\02- February 2026\OPRMC\26-02001\Corrections\26-02001.Progress Note PG. 2 Update.pdf .pdf 1140891 324891 CLEAN RESTORE-FROM-SOURCE
43 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03307\26-03307.pdf .pdf 27158430 7682142 CLEAN RESTORE-FROM-SOURCE
44 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03314\26-03314.RecordReviewChecklist.Incomplete.pdf .pdf 1278061 363831 CLEAN RESTORE-FROM-SOURCE
45 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03317\26-03317.RecordReviewChecklist.Incomplete.pdf .pdf 1238356 352526 CLEAN RESTORE-FROM-SOURCE
46 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03318\26-03318.RecordReviewChecklist.Incomplete.pdf .pdf 1282569 364277 CLEAN RESTORE-FROM-SOURCE
47 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03319\26-03319.RecordReviewChecklist.Incomplete.pdf .pdf 1311205 372994 CLEAN RESTORE-FROM-SOURCE
48 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03332\26-03332.RecordReviewChecklist.Incomplete.pdf .pdf 1178265 335426 CLEAN RESTORE-FROM-SOURCE
49 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03338\26-03338.RecordReviewChecklist.Incomplete.pdf .pdf 1233987 351702 CLEAN RESTORE-FROM-SOURCE
50 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\CTMC\26-03339\26-03339.RecordReviewChecklist.Incomplete.pdf .pdf 1308941 371346 CLEAN RESTORE-FROM-SOURCE
51 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\MMC\26-03200\26-03200.RecordReviewChecklist.Incomplete.pdf .pdf 1208188 344378 CLEAN RESTORE-FROM-SOURCE
52 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\MMC\26-03210\26-03210.RecordReviewChecklist.Incomplete.pdf .pdf 1262285 359534 CLEAN RESTORE-FROM-SOURCE
53 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\OPRMC\26-03017\26-03017.RecordReviewChecklist.Incomplete.pdf .pdf 1155040 329853 CLEAN RESTORE-FROM-SOURCE
54 Donor Services - Documents\Donor Files\Donor Files 2026\03-March 2026\OPRMC\26-03035\26-03035.RecordReviewChecklist.Incomplete.pdf .pdf 1140364 325161 CLEAN RESTORE-FROM-SOURCE
55 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04300\26-04300.RecordReviewChecklist.Incomplete.pdf .pdf 1235200 351565 CLEAN RESTORE-FROM-SOURCE
56 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04304\26-04304.RecordReviewChecklist.Incomplete.pdf .pdf 1251686 356457 CLEAN RESTORE-FROM-SOURCE
57 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04305\26-04305.RecordReviewChecklist.Incomplete.pdf .pdf 1352390 383969 CLEAN RESTORE-FROM-SOURCE
58 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04307\26-04307.RecordReviewChecklist.Incomplete.pdf .pdf 1305836 370633 CLEAN RESTORE-FROM-SOURCE
59 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04310\26-04310.RecordReviewChecklist.Incomplete.pdf .pdf 1269224 360986 CLEAN RESTORE-FROM-SOURCE
60 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04312\26-04312.RecordReviewChecklist.Incomplete.pdf .pdf 1353618 384416 CLEAN RESTORE-FROM-SOURCE
61 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04314\26-04314.RecordReviewChecklist.Incomplete.pdf .pdf 1291510 367009 CLEAN RESTORE-FROM-SOURCE
62 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04315\26-04315.RecordReviewChecklist.Incomplete.pdf .pdf 1300103 369213 CLEAN RESTORE-FROM-SOURCE
63 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04324\26-04324.RecordReviewChecklist.Incomplete.pdf .pdf 1281309 364602 CLEAN RESTORE-FROM-SOURCE
64 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04326\26-04326.RecordReviewChecklist.Incomplete.pdf .pdf 1291467 367024 CLEAN RESTORE-FROM-SOURCE
65 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\CTMC\26-04327\26-04327.RecordReviewChecklist.Incomplete.pdf .pdf 1295018 367549 CLEAN RESTORE-FROM-SOURCE
66 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\MMC\26-04204\26-04204.RecordReviewChecklist.Incomplete.pdf .pdf 1230416 350108 CLEAN RESTORE-FROM-SOURCE
67 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OMC\26-04114\26-04114.RecordReviewChecklist.Incomplete.pdf .pdf 1244706 354815 CLEAN RESTORE-FROM-SOURCE
68 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OMC\26-04120\26-04120.RecordReviewChecklist.Incomplete.pdf .pdf 1282722 364488 CLEAN RESTORE-FROM-SOURCE
69 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OMC\26-04121\26-04121.RecordReviewChecklist.Incomplete.pdf .pdf 1185031 337465 CLEAN RESTORE-FROM-SOURCE
70 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OMC\26-04129\26-04129.RecordReviewChecklist.Incomplete.pdf .pdf 1251420 355807 CLEAN RESTORE-FROM-SOURCE
71 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OMC\26-04130\26-04130.RecordReviewChecklist.Incomplete.pdf .pdf 1307974 372004 CLEAN RESTORE-FROM-SOURCE
72 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OPRMC\26-04005\26-04005.RecordReviewChecklist.Incomplete.pdf .pdf 1216722 345975 CLEAN RESTORE-FROM-SOURCE
73 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OPRMC\26-04021\26-04021.RecordReviewChecklist.Incomplete.pdf .pdf 1397332 396527 CLEAN RESTORE-FROM-SOURCE
74 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OPRMC\26-04039\26-04039.RecordReviewChecklist.Incomplete.pdf .pdf 1376776 390896 CLEAN RESTORE-FROM-SOURCE
75 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OPRMC\26-04052\26-04052.RecordReviewChecklist.Incomplete.pdf .pdf 1245620 354860 CLEAN RESTORE-FROM-SOURCE
76 Donor Services - Documents\Donor Files\Donor Files 2026\04-April 2026\OPRMC\26-04061\26-04061.pdf .pdf 22674083 6438236 CLEAN RESTORE-FROM-SOURCE
77 Donor Services - Documents\Master Donor Spreadsheet\Master Donor Spreadsheet.xlsx .xlsx 8117320 2292743 CLEAN RESTORE-FROM-SOURCE
78 Donor Services - Documents\Suitability\10a. BioLife-Donor Suitability.docx .docx 48040 14519 CLEAN RESTORE-FROM-SOURCE
79 Donor Services - Documents\Suitability\9b. StimLabs - Suitability Notes.docx .docx 54471 16381 CLEAN RESTORE-FROM-SOURCE
80 Quality Department - Documents\Forms Associated With SOP's\ACQ-215.001.B Acquisition Information.docx .docx 157899 45810 CLEAN RESTORE-FROM-SOURCE
81 Quality Department - Documents\LOGS\Quality Assurance Reporting Log\Deviations\2025\DEV95.In Progress.docx .docx 163674 47368 CLEAN RESTORE-FROM-SOURCE
82 Supply Management - Documents\Hard Count Sheet.xlsx .xlsx 51290 15438 CLEAN RESTORE-FROM-SOURCE
83 Supply Management - Documents\Birth Biologic Inventory History\Inventory 2025\Inventory 2025.xlsx .xlsx 199199 56824 CLEAN RESTORE-FROM-SOURCE
84 Supply Management - Documents\Birth Biologic Inventory History\Inventory 2026\Inventory 2026.xlsx .xlsx 128792 36996 CLEAN RESTORE-FROM-SOURCE
85 Donor Services - Documents\Suitability\3c. Cord For Life - Donor Suitability Datto Copy.docx .docx 102772 -1 NO-SOURCE DECODE-OR-FIND-SOURCE

View File

@@ -0,0 +1,39 @@
# BirthBiologic — Datto Workplace → SharePoint file map
Prepared for Calm Ops. Shows where each Datto Workplace "Project" (top-level folder) landed in
SharePoint. Source enumerated live from the migration host (ACG-DWP-X-BB) and SharePoint sites
confirmed via Microsoft Graph on 2026-06-29.
Each Datto Project became its own SharePoint **site**, and the files live in that site's default
**Documents** library. Within the library, the original Datto subfolder structure is preserved.
| Datto Workplace Project | → SharePoint Site | Site URL | Lands in | Approx. source size* |
|---|---|---|---|---|
| **Admin** | Admin | https://birthbiologic.sharepoint.com/sites/admin | Documents library (root) | ~5.8 GB / ~6,300 files |
| **Birth Biologic Activity Reports** | Admin (same site) | https://birthbiologic.sharepoint.com/sites/admin | Documents library, subfolder `Birth Biologic Activity Reports` | small |
| **Donor Services** | Donor Services | https://birthbiologic.sharepoint.com/sites/donorservices | Documents library (root) | ~109 GB / ~56,800 files |
| **Quality Department** | Quality Department | https://birthbiologic.sharepoint.com/sites/QualityDepartment | Documents library (root) | ~28 GB / ~3,700 files |
| **Supply Management** | Supply Management | https://birthbiologic.sharepoint.com/sites/SupplyManagement | Documents library (root) | ~33 MB / ~160 files |
| **ITSvcs** | — NOT MIGRATED — | — | — | (ACG-owned IT folder, not BirthBiologic data; intentionally excluded) |
\* Approximate source-side sizes from the migration scoping pass; provided for scale only, not an
exact post-migration count.
## Notes
- **Folder structure is preserved.** Inside each site's Documents library, the original Datto
subfolders carry over (e.g. Admin → `Mary Projects`, `Human Resources`, `Finance`, etc.;
Donor Services → its 10 subfolders; Quality Department → its 17 subfolders).
- **"Birth Biologic Activity Reports"** was a top-level Datto Project but landed inside the **Admin**
site as a subfolder of the Documents library (the migration tool preserves the source folder name
as a subfolder).
- **ITSvcs is intentionally excluded** — it is an ACG-owned IT working folder, not BirthBiologic
business data, and was never in migration scope.
- The **Attachments** library visible under the synced OneDrive is a default SharePoint library, not
part of the Datto migration.
## How to open a site
Browse to the Site URL above, or in SharePoint/Teams open the site and choose the **Documents**
library. Files are also reachable through the synced OneDrive folders on the migration workstation
under `OneDrive - Birth Biologic, LLC\<Site> - Documents`.

View File

@@ -0,0 +1,145 @@
## User
- **User:** Mike Swanson (mike)
- **Machine:** GURU-5070
- **Role:** admin
## Session Summary
Began with a request to enumerate BirthBiologic's Google Workspace email addresses. Confirmed the
client is mid-migration (Google -> M365), located the `acg-msp-access` service account with
domain-wide delegation, and built a Python puller (`bb_google_roster.py`) using the SA key from the
vault. The initial pull failed `unauthorized_client` because the DWD app had been removed from
Google Admin; Mike re-added it. Per-scope diagnosis showed every migration + `admin.directory.user`
scope worked but `admin.directory.group.readonly` would not issue a token (propagation lag that
never cleared within the session). Delivered the full user roster (20 mailboxes: 15 active, 5
suspended, one alias `mmaher@`) and stood up a 15-minute self-rescheduling timer to retry the group
pull until the group scope propagates (still pending at session save).
Mid-session, Mike reported an Excel "file format or extension is not valid" error on the Master
Donor Spreadsheet and an Inventory file. Diagnosed via RMM on ACG-DWP-X-BB: the 2026-06-26
Datto->SharePoint migration pass had written files' bytes as space-separated DECIMAL TEXT instead of
binary (a `"$bytes"` byte-array stringification bug in the base64/stdout-capture upload). The bug is
format-agnostic (xlsx/docx/pdf). Ran a full Phase-1 inventory of the 3,371 files modified 06-26:
84 confirmed corrupt (83 with intact Datto source, 1 without), ~3,197 clean, 89 deferred (cloud-only
files at >=260-char MAX_PATH paths, no Datto source). Wrote a recovery plan, full manifest CSV, and
remediation list to the client docs. On Mike's go, restored all 84 (83 copied from the verified
Datto source, 1 recovered by decoding the corrupt file's own decimal bytes back to a valid docx).
Verified the email migration: corrected a stale assumption (MX was still believed to be on Google;
Mike noted it was cut to M365 on Sat 06-27 — confirmed live MX `birthbiologic-com.mail.protection.outlook.com`).
Migration batch BB-Batch1 is fully Synced (14/14 mailboxes, 0 failures, 7 skipped items total).
Created the requested mail groups: `medicalrecords@` distribution group (14 members, external
senders allowed for processors), and granted Full Access + Send As on the existing `info@` and
`quality@` shared mailboxes.
Closed out by posting two customer-visible ticket updates (#32187 SharePoint migration / file
restore; #32451 email migration / mail groups), billing 2.0h remote split across both, building a
Datto->SharePoint "where files landed" map for Calm Ops (posted to #32187), and pinging Winter to
close the tickets and handle the low prepaid block.
## Key Decisions
- Used the SA + DWD path for the Google roster rather than interactive Admin console; made the puller
resilient (per-scope tokens) so users pull even while the group scope is unauthorized.
- Restored corrupted files via local source->OneDrive copy (native sync) rather than the buggy
custom-script upload path; the byte-stringify bug must never be reused.
- For the 1 corrupt file with no Datto source, decoded its decimal-text content back to binary
(lossless) rather than treating it as unrecoverable.
- Kept `info@`/`quality@` as shared mailboxes (granted access) instead of converting to distribution
groups — they already existed as shared mailboxes with potential migrated mail; conversion would be
destructive.
- `medicalrecords@` built as a distribution group with `RequireSenderAuthenticationEnabled=$false`
so external processors can reach all staff for time-sensitive donation needs.
- Left the unexpected 5.0h block deduction in place (Mike confirmed that pre-existing migration
charge was going to be billed anyway).
- 89 long-path/no-source files deferred (not silently dropped) for a robocopy/SPMT pass.
## Problems Encountered
- **Google DWD `unauthorized_client`:** app was missing from Google Admin (re-added by Mike); then
`admin.directory.group.readonly` would not propagate within the session. Per-scope diagnostic
isolated it; user scope works, group pending. Timer polling continues.
- **Tenant-admin vault field wrong in wiki:** documented `credentials.credential` returns 4-char
`null`; actual field is `credentials.client_secret`. Used the correct field; flagged for wiki fix.
- **Graph token tenant:** the tenant-admin vault `tenant_id` is ACG's home tenant; had to request the
token against BirthBio's tenant (`19a568e8-...`) for the multi-tenant app to access their sites.
- **Graph driveItem-by-path 404 + local MAX_PATH:** the 89 deep cloud-only files could not be
header-checked by Graph or local IO (even with `\\?\` and .NET long-path switches). Deferred.
- **Huge-arg friction:** passed ~20KB base64 inline via `jq --arg` -> "Argument list too long";
switched to reading the manifest CSV already staged on the endpoint. Logged (--friction).
- **Billing over-deduction:** creating the invoice on #32187 swept a pre-existing unbilled 5.0h
migration line item alongside the new 1.0h, deducting 6.0h (block 10->3 total, intended 2). Caught
immediately by re-reading the block, surfaced to Mike, left as-is on his OK. Logged (--friction):
always GET ticket line_items before invoicing a prepaid customer.
- **Stale MX assumption:** corrected via live `nslookup`; logged (--correction). MX cut to M365 06-27.
## Configuration Changes
- Created `clients/birth-biologic/docs/migration/2026-06-26-corruption-recovery-plan.md` (plan + Phase-1 results).
- Created `clients/birth-biologic/docs/migration/2026-06-26-corruption-manifest.csv` (full 3,371-row inventory).
- Created `clients/birth-biologic/docs/migration/2026-06-26-remediation-list.csv` (the 84 corrupt files + route).
- Created `clients/birth-biologic/docs/migration/datto-to-sharepoint-map.md` (Calm Ops deliverable).
- Updated `wiki/clients/birth-biologic.md` (MX -> M365 06-27; new mail groups; shared-mailbox access).
- Appended errorlog entries: migration byte-stringify defect; MX correction; huge-arg friction;
long-path friction; billing over-deduction friction.
- M365 (birthbiologic.com): created distribution group `medicalrecords@`; granted FullAccess+SendAs on
`info@` and `quality@` shared mailboxes.
- ACG-DWP-X-BB: restored 84 files in `OneDrive - Birth Biologic, LLC\` libraries from Datto source.
## Credentials & Secrets
- No new credentials created. Used existing vaulted secrets:
- `msp-tools/acg-msp-access-google-workspace.sops.yaml` -> `credentials.credential` (Google SA JSON key).
- `msp-tools/computerguru-tenant-admin.sops.yaml` -> `credentials.client_secret` (Graph app secret;
NOTE: correct field is `client_secret`, not the wiki's `credentials.credential`). `client_id`
`709e6eed-0711-4875-9c44-2d3518c47063`.
- `infrastructure/gururmm-server.sops.yaml` (RMM API admin).
- Syncro per-user key (mike) from the syncro skill.
## Infrastructure & Servers
- **Google Workspace:** domain birthbiologic.com; SA `acg-msp-access@acg-msp-access.iam.gserviceaccount.com`,
OAuth2 client ID `102231607889615995452` (the DWD key). Super-admin impersonated: `sysadmin@birthbiologic.com`.
DWD scopes present at save: mail, calendar, contacts, gmail.settings.sharing, admin.directory.user.readonly,
admin.directory.group.readonly. MISSING: `https://www.google.com/m8/feeds/` (re-add before final migration delta).
- **M365 tenant:** birthbiologic.com / `19a568e8-9e88-413b-9341-cbc224b39145`. MX (live):
`birthbiologic-com.mail.protection.outlook.com` (cut over 2026-06-27).
- **SharePoint sites:** Admin `https://birthbiologic.sharepoint.com/sites/admin`; Donor Services `/sites/donorservices`;
Supply Management `/sites/SupplyManagement`; Quality Department `/sites/QualityDepartment`.
- **RMM agent (Datto/SPMT VM):** ACG-DWP-X-BB, id `a4524e85-8a07-45d0-91b1-51ce7e2ca74a`, 172.16.3.45.
Datto source tree: `C:\Users\Public\Desktop\Datto Workplace Server Projects`. OneDrive libraries:
`C:\Users\Administrator\OneDrive - Birth Biologic, LLC\<Site> - Documents`.
## Commands & Outputs
- Google roster pull: `GOOGLE_SA_JSON="$(vault.sh get-field msp-tools/acg-msp-access-google-workspace.sops.yaml credentials.credential)" python bb_google_roster.py` -> 20 users.
- Per-scope DWD test isolated `admin.directory.group.readonly` as the only failing scope.
- Corruption signature: corrupt xlsx header `80 75 3 4...` = decimal of `0x50 0x4B 0x03 0x04` (PK);
corrupt pdf `37 80 68 70...` = decimal of `%PDF`. Format-agnostic stringified byte array.
- Restore result: `RESTORED OK: 83 / 83 FAILURES: 0`. Decode recovery: `RECOVERED via DECODE: 29938 bytes, header PK OK`.
- Migration batch: `BB-Batch1 Status=Synced Total=14 Synced=14 Failed=0`; 7 skipped items (jbeck 1, ksteen 6).
- EXO via Exchange Operator token: `get-token.sh <tenant> exchange-op` (needs `VAULT_ROOT_ENV=D:/vault`
since the skill reads the home identity.json which lacks vault_path). InvokeCommand for
New-DistributionGroup / Add-MailboxPermission / Add-RecipientPermission.
- Syncro: comments on #32187 (ids 421237477, 421244515) and #32451 (421237513); line items 43059746/43059748;
invoices 1650837688 ($0, swept 5.0h+1.0h) and 1650837689 ($0, 1.0h); prepaid block 10.0 -> 3.0.
## Pending / Incomplete Tasks
- **Google group pull** — waiting on `admin.directory.group.readonly` propagation; 15-min timer running.
When live, list groups incl. `quality@birthbiologic.com` (Mike confirmed groups exist).
- **m8/feeds scope** — re-add to DWD before the final Gmail migration delta (currently missing).
- **89 deferred files** — long-path/no-source cloud-only files modified 06-26; verify + remediate via
robocopy/SPMT (long-path native). Lower risk (no Datto source).
- **Migration batch finalize** — BB-Batch1 is Synced; finalize/complete when ready (review skipped items;
DataConsistencyScore=Investigate is from the 7 skipped items).
- **Tickets #32187 / #32451** — handed to Winter to close; block renewal outreach.
- **Wiki recompile** — run `/wiki-compile client:birth-biologic --full` to fold this session in.
## Reference Information
- Tickets: #32187 (id 109277420) SharePoint migration; #32451 (id 112986219) point Google->Outlook.
Customer ID 17983014. Prepaid block 3.0h after this session.
- Scratchpad artifacts (this session): bb_google_roster.py, bb_graph_check.py, bb_mig_parse.py,
bb_make_remlist.py (under the session scratchpad).
- Corruption root cause logged in errorlog.md (migration/datto-to-sharepoint, 2026-06-29).

View File

@@ -17,6 +17,16 @@ Categories (the `[type]` tag): _(none)_ = skill/command execution failure ·
<!-- Append entries below this line -->
2026-06-29 | GURU-5070 | syncro/billing | [friction] created invoice on ticket with pre-existing unbilled line item without checking first; invoice swept a prior 5.0h migration charge + my 1.0h, deducting 6.0h from prepaid block (10->3 total, intended 2). ALWAYS GET /tickets/{id} .line_items before POST /invoices on a prepaid customer [ctx: client=birth-biologic ticket=32187 invoice=1650837688]
2026-06-29 | GURU-5070 | remediation-tool/birthbiologic | [correction] assumed MX still on Google (per 06-26 docs); actual: MX cut to M365 (birthbiologic-com.mail.protection.outlook.com) on Sat 2026-06-27 — verify MX live, don't trust stale migration-scope docs [ctx: client=birth-biologic]
2026-06-29 | GURU-5070 | rmm/windows-fileaudit | [friction] OneDrive cloud-only files at >=260-char paths can't be header-read: Graph driveItem-by-path 404s them and local [IO.File]::Open fails (MAX_PATH) even with ? prefix and AppContext UseLegacyPathHandling/BlockLongPaths switches; need robocopy/SPMT (long-path native) for those [ctx: host=ACG-DWP-X-BB count=89 client=birth-biologic]
2026-06-29 | GURU-5070 | rmm/bash | [friction] passed ~20KB base64 inline via jq --arg in command line -> 'Argument list too long'; should stage data on the endpoint (it already had the CSV) or chunk-upload, never inline-pass large blobs [ctx: ref=CLAUDE.md windows-rules; host=ACG-DWP-X-BB]
2026-06-29 | GURU-5070 | migration/datto-to-sharepoint | 2026-06-26 SharePoint push corrupted files: byte array stringified ('$bytes') so each file written as space-separated DECIMAL TEXT instead of binary (xlsx '80 75 3 4...', pdf '37 80 68 70...'); format-agnostic, ~15 local + up to ~3298 cloud-only files modified 06-26; Datto source intact [ctx: client=birth-biologic host=ACG-DWP-X-BB vector=base64/stdout-capture-upload fix=use OneDrive-sync/SPMT or [IO.File]::WriteAllBytes]
2026-06-29 | Howard-Home | save/rmm-scratch | [friction] wrote RMM command-id scratch files (.netprobe_id, .stage_id, etc.) to repo root C:/claudetools; .netprobe_id got swept into a sync commit by git add -A and needed git rm. Use the session scratchpad dir for transient IDs, not the repo root. [ctx: ref=feedback_tmp_path_windows]
2026-06-28 | Howard-Home | rmm/spec-015-safeboot | [friction] safe-mode survival test stranded DESKTOP-MS42HNC: (a) registering only GuruRMMAgent/Watchdog in SafeBootNetwork is insufficient for the agent to connect in Safe Mode (needs network-stack deps e.g. BFE/Dnscache/CryptSvc); (b) Task-Scheduler dead-man does NOT fire in Safe Mode so auto-revert failed -> required manual console recovery [ctx: host=DESKTOP-MS42HNC spec=SPEC-015 fix=use-a-service-not-schtasks-for-revert test-only-on-disposable-VM]

View File

@@ -45,7 +45,12 @@ aliases: [birthbiologic]
- **M365 tenant:** birthbiologic.com / tenant ID `19a568e8-9e88-413b-9341-cbc224b39145`
- **Target delivery domain (migration):** birthbiologic.onmicrosoft.com
- **Accepted domains:** birthbiologic.com (default), birthbiologic.onmicrosoft.com
- **MX (as of 2026-06-26):** Google Workspace (`aspmx.l.google.com` + alts) — live mail still on Google; M365 cutover NOT yet done
- **MX (as of 2026-06-29):** **M365** (`birthbiologic-com.mail.protection.outlook.com`) — **cutover done 2026-06-27 (Sat)**; live mail now on M365 (was Google Workspace through 06-26). Always verify MX live; do not trust the 06-26 migration-scope docs.
- **Mail groups / shared mailboxes (created/configured 2026-06-29):**
- `medicalrecords@`**distribution group**, 14 members (12 core staff + `medicaldirector@` + `mmerritt@`), `RequireSenderAuthenticationEnabled=$false` (external processors can email it). Functions as all-staff but is a distinct named group for time-sensitive processor outreach.
- `info@`**shared mailbox**; Full Access + Send As: Brandy Burgess, Julie Beck.
- `quality@`**shared mailbox**; Full Access + Send As: Brandy Burgess, Julie Beck, Mary Ster, Alicia Meneely, Kristin Steen, Vicki Fountain.
- Other existing shared mailboxes: `accounting@`, `operations@` (user mailbox).
- **DNS host:** SiteGround (`ns1/ns2.us92.siteground.us`); Registrar: Name.com; `www` → GCP 35.215.115.203 (not in scope)
- **M365 licensing (all consumed as of 2026-06-26):**
- Business Premium (skuId `cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46`): 14/14