Skip to content

Support Apple Contacts record schema#78

Merged
jmcte merged 2 commits into
mainfrom
codex/contacts-schema-adapter
Jun 12, 2026
Merged

Support Apple Contacts record schema#78
jmcte merged 2 commits into
mainfrom
codex/contacts-schema-adapter

Conversation

@pheidon

@pheidon pheidon commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a Contacts reader path for modern AddressBook-v22.abcddb schemas using ZABCDRECORD
  • preserve the existing synthetic contacts table support for fixtures and tests
  • map names, organization, optional notes, emails, and phones from schema-detected Apple Contacts tables
  • add fixture-backed coverage for search, note redaction, and email/phone aggregation

Validation

  • git diff --check
  • GitHub PR Fast CI / CI Gate: passed on b7f870c
  • Hermes/macOS: swift test --disable-sandbox passed, 62 tests
  • Hermes/macOS: swift build -c release passed

Privacy

  • Hermes schema discovery used PRAGMA/table metadata only; no contact rows or values were queried
  • Hermes validation did not run live contacts list, so no real names, emails, phones, or notes were printed

@pheidon pheidon marked this pull request as ready for review June 11, 2026 22:04
@pheidon pheidon requested a review from jmcte as a code owner June 11, 2026 22:04
jmcte
jmcte previously approved these changes Jun 11, 2026
@jmcte jmcte enabled auto-merge (squash) June 11, 2026 23:01
# Conflicts:
#	Sources/ICloudCLICore/LocalInventories.swift
#	Tests/ICloudCLICoreTests/LocalInventoriesTests.swift
@pheidon

pheidon commented Jun 12, 2026

Copy link
Copy Markdown
Contributor Author

Reviewed this pass; no blocking issues found.

The Apple Contacts schema fallback and record mapping look coherent, including the field extraction, notes handling/redaction behavior, and fixture coverage for the new contacts shape. I do not see a code defect or test gap that should block this PR.

Merge call: ready to merge from my review.

@pheidon pheidon added review:athena Athena review governance requested. status:needs-review PR is ready for Athena review. labels Jun 12, 2026

@athena-omt athena-omt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the contact schema change. I did not find blocking issues. The schema fallback, Contacts field mapping, note redaction behavior, and fixture coverage look coherent to me. This is ready to merge from my pass.

@jmcte jmcte merged commit 005e028 into main Jun 12, 2026
1 check passed
@jmcte jmcte deleted the codex/contacts-schema-adapter branch June 12, 2026 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review:athena Athena review governance requested. status:needs-review PR is ready for Athena review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants