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:
1
.pst_cmd_scope
Normal file
1
.pst_cmd_scope
Normal file
@@ -0,0 +1 @@
|
||||
70dd552d-6248-4b95-b32e-a33f7d2a90d8
|
||||
1
.pst_glennda_test
Normal file
1
.pst_glennda_test
Normal file
@@ -0,0 +1 @@
|
||||
52bae3e4-c3a6-4bc0-933f-1db111b8812f
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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).
|
||||
@@ -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
|
||||
|
@@ -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`.
|
||||
@@ -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).
|
||||
10
errorlog.md
10
errorlog.md
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user