sync: auto-sync from HOWARD-HOME at 2026-06-01 22:49:04

Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-01 22:49:04
This commit is contained in:
2026-06-01 22:49:12 -07:00
parent 918afc5c26
commit a6a3585266
3 changed files with 84 additions and 19 deletions

View File

@@ -182,3 +182,62 @@ Final converged result: 6118 raw -> 674 unique contacts, 0 invalid emails, 0 sam
- Local data + scripts: C:\claudetools\.claude\tmp\treb-data\, .claude/tmp/treb-merge.ps1 / treb-enhance.ps1 / treb-extract.ps1
- Pipeline: extract (Outlook COM, user_session) -> merge (union-find identity) -> enhance (notes->fields) -> verify
---
## Update: 22:46 MST — import troubleshooting, address fixes, Outlook template, folder cleanup
### Session Summary
Howard imported the deliverable into Outlook and round-tripped (export) repeatedly; each export showed problems. Diagnosed and fixed three distinct Outlook-import issues across iterations, all locally on Howard-Home (data moved off DESKTOP-QNP3ON5).
First round-trip showed duplicates and a phone/address drop (206 phones -> 50). Determined the loss happened in Outlook's import (not the dedup): the file I had given carried a UTF-8 BOM that corrupted the first header, used a trimmed 45-col set, and had invalid 0/0/00 dates, so Outlook's auto-map skipped fields. Merged my enriched FINAL with the round-trip export (union-find, FINAL-priority) into a clean superset, then rebuilt that into Outlook's EXACT official 92-column template (read live from Howard's sample file), UTF-8 NO BOM, blank invalid dates -> Contacts-outlook.csv (666). Confirmed header byte-for-byte matches the template.
Fixed all street addresses: the notes-address parser had left a stray leading number + embedded newlines (e.g. "4961\n\n1218 Saxonhill Drive"). Wrote treb-fixaddr.ps1 (take the real street line, drop lone-number artifacts, scrub newlines) and added 4 targeted corrections recovered from each contact's own Notes (MexGrocer, Montana ANG, Bohman, McNeill). Result: all 66 addresses clean, components in correct columns.
Next import still showed emails blank + a "folder with random letters/numbers." Live COM probe revealed: emails were blank because Outlook's CSV import had dropped them (old file format); the "random folders" are Outlook's hidden GUID system folders (GAL/recipient cache) - harmless. After delivering the template-format file (no BOM), a fresh export proved emails NOW import (621 populated). Remaining duplicates were caused by importing into a folder that still held prior contacts (929 = 666 + leftovers). Emptied the default Contacts folder via COM (929 -> 0), pushed the clean file to the Owner Desktop as default.csv (gzip+base64 in 3 chunks via RMM; byte-identical, no BOM, 666 rows, 622 emails).
Howard then reported two Tim Gleason contacts. Confirmed all my files contain exactly ONE merged Gleason; live COM probe showed the default Contacts now has 664 (clean import succeeded, one Gleason), and the extra Gleasons live in OTHER PSTs still mounted in his Outlook (Outlook1.pst x3, Outlook.pst x3, Suggested Contacts x2). Root cause of the perceived duplicates = multiple source PSTs still mounted, whose Contacts folders the address book aggregates. Offered to unmount the 4 leftover source PSTs + clear Suggested Contacts via RMM. AWAITING Howard's go.
### Key Decisions
- Build the deliverable in Outlook's exact 92-col template, UTF-8 no BOM, blank 0/0/00 dates - the BOM/format was the real import-failure cause, not the data.
- Merge my enriched FINAL with the round-trip export (FINAL-priority gap-fill) so Outlook's lossy round-trip didn't degrade the data; union-find dedup over the union.
- Did NOT auto-merge by shared phone - fuzzy scan showed shared phones are mostly couples/colleagues/the ACG office number (304-8300), not same-person.
- Empty the target Contacts folder before import (via COM) - the recurring duplicates were import-into-non-empty-folder, not a dedup miss.
- Transferred the file to the Owner box via gzip+base64 RMM chunks (308KB -> 63KB b64 -> 3 chunks) rather than asking Howard to move another file.
- The perceived Gleason duplicate is an Outlook display artifact (multiple mounted PSTs aggregated in the address book), not a data duplicate - fix is unmounting leftover PSTs, not more deduping.
### Problems Encountered
- Phone/address/email loss on import: Outlook auto-map skipped fields due to BOM-corrupted header + non-template columns + invalid dates. Fixed by exact-template + no-BOM rebuild; verified emails import (621) afterward.
- Address fields garbled (stray leading number + newlines): treb-fixaddr.ps1 cleans street lines; 4 unrecoverable-by-regex ones corrected from notes.
- Recurring duplicates on every import: importing into a non-empty folder. Emptied folder via COM (929->0).
- PowerShell case-insensitive variable collision ($OUT path vs $out results) broke Export-Csv; renamed to $OUTFILE.
- LoadCsv returned an array-wrapped-array (`,$rows`) -> only 2 mega-records; removed the unary comma.
- "Two Gleasons": not in any data file; caused by leftover mounted source PSTs (Outlook1/Outlook) + Suggested Contacts being aggregated by the address book.
### Configuration Changes (this update)
- Created .claude/tmp/treb-dedup.ps1 (dedup the round-trip export; later combined FINAL + round-trip).
- Created .claude/tmp/treb-fixaddr.ps1 (street cleaning + 4 targeted address corrections).
- Created .claude/tmp/treb-template.ps1 (rebuild into Outlook's exact 92-col template, no BOM).
- Local outputs in .claude/tmp/treb-data/: Contacts-clean.csv, Contacts-final.csv, Contacts-outlook.csv (final 666, template format), default.gz.b64.
- On DESKTOP-QNP3ON5: C:\Users\Owner\Desktop\default.csv (clean 666, pushed via RMM). Default Contacts folder emptied (929->0) then re-imported by Howard (664).
### Deliverable (current)
- Authoritative clean file: C:\claudetools\.claude\tmp\treb-data\Contacts-outlook.csv = C:\Users\Owner\Desktop\default.csv on the Owner box. 666 contacts, 92-col Outlook template, no BOM, 622 emails, 200 phones, 65 addresses (all clean), 267 notes, 0 dup-email, 0 dup-name.
### Pending / Incomplete (this update)
- AWAITING Howard go: unmount 4 leftover source PSTs (Outlook1.pst, Outlook.pst, archive1.pst, backup.pst) from his Outlook profile + clear Suggested Contacts (639) via RMM, leaving only the clean 664-contact treb737@earthlink.net Contacts as the address book. PST files on disk untouched.
- A few genuine cross-email same-person pairs remain unmerged (Ron Snyder, Judy Stout/U OF A JUDY, Irene/Reenie Keating same reenandcoach local-part, Philomina Bime) - ambiguous, deferred (could add same-email-local-part merge signal if wanted).
- Syncro #31953 time/resolution note still to log.
### Reference (this update)
- Owner box file: C:\Users\Owner\Desktop\default.csv
- Local: C:\claudetools\.claude\tmp\treb-data\Contacts-outlook.csv + treb-dedup/fixaddr/template.ps1
- Outlook template source: C:\Users\Howard\Downloads\Sample CSV file for importing contacts.csv (92 cols)
- Agent ba173f0c-19e8-488d-834c-1b6f6dfd5699; default Contacts = store treb737@earthlink.net