Make Photos PhotoKit-first#107
Open
jmcte wants to merge 3 commits into
Open
Conversation
Expose a deterministic metadata-only provider registry through JSON and text output, covering every current Apple-data command family with maturity, source, permission, sensitivity, capability, and polling declarations. Document the v1 compatibility policy.\n\nCloses #89.
Add a private read-only SQLite snapshot engine with WAL and SHM companions, query-only enforcement, busy and process timeouts, structured failures, and deterministic cleanup. Migrate Messages and Safari history and document remaining providers.\n\nCloses #90.
Return evidence-backed logical asset facts through bounded PhotoKit reads without media requests or downloads. Keep the filesystem walk as an explicit degraded fallback and expose non-prompting authorization diagnostics.
jmcte
marked this pull request as ready for review
July 13, 2026 07:29
jmcte
enabled auto-merge (squash)
July 13, 2026 07:30
Hermes-omt
requested changes
Jul 17, 2026
Hermes-omt
left a comment
Contributor
There was a problem hiding this comment.
The exact head passes swift test (117 tests), but this PR must be rebased onto current main before approval. Live main is d7f88dc01bd283b53c55fa59ed63f43f212a50a5; GitHub reports this PR unmergeable/dirty, and a local merge-tree reproduces conflicts in CommandLine.swift, CommandRunner.swift, ProviderManifest.swift, and provider-manifest tests. Resolve the rebase while preserving main's providers external-manifest support and combining this PR's PhotoKit/provider capability changes, then rerun CI on the rebased head.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--degraded-filesystemGoverning Issue
Closes #94
Validation
Relevant local checks passed
Required PR checks are expected to satisfy
CI GateSkipped checks are explained below
swift test --disable-sandbox(117 tests passed)bash scripts/ci/run-fast-checks.sh(passed)./.build/debug/icloud-cli photos authorization --format json(exit 0, denied state, no access request)No checks skipped.
Bootstrap Governance
CONTRIBUTING.md,.github/PULL_REQUEST_TEMPLATE.md, anddocs/bootstrap/onboarding.mdwhen applicableNo contributor guidance changed. Auto-merge will be enabled after stacked dependencies merge.
Flow Contract
Flow Merge Readiness
Next actor: independent reviewer after #101 and #102 merge.
Merge Automation
gh pr merge --auto --squash, or the reason it is unavailable/unsafe is noted belowThis draft is stacked on the #89 provider manifest and #90 SQLite snapshot foundation. It can be rebased and enabled for auto-merge after those land.
Notes
unknown.