Add provenance-preserving federated search#109
Conversation
Hermes-omt
left a comment
There was a problem hiding this comment.
Review deferred pending branch refresh. The PR head 1ddae63 is based on 2b0bcc6, while current main is d7f88dc; GitHub reports mergeable_state=dirty. A local merge-tree confirms conflicts in README.md, CommandLine.swift, CommandRunner.swift, ProviderManifest.swift, ProviderManifestTests.swift, and docs/provider-manifest.md. Repair handoff: rebase or merge d7f88dc into the PR branch, resolve these conflicts, push the new head, and wait for fresh CI before re-requesting substantive review. Exact-head source inspection and targeted federated-search tests passed locally.
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.
Add explicit scan and wall-clock budgets, structured crawl reports, cancellable Drive enumeration, Finder-tag budget metadata, and redacted watch partial-success envelopes. Extend the live audit with explicit budgets and aggregate outcomes.\n\nCloses #92.
Define versioned archive sync, storage, status, migration, retention, and privacy contracts with idempotent upserts, explicit tombstones, bounded attempts, persisted freshness and counts, private atomic files, and fail-closed sensitivity gates.\n\nCloses #93.
Archive bounded Messages metadata from consistent snapshots with cursors, deduplication, deletion tombstones, source fingerprints, and versioned search. Keep bodies behind explicit retention and confirmation gates and exclude all action capabilities.
Search opted-in local archives with deterministic ranking, filters, time bounds, pagination, redaction, and per-hit evidence. Preserve provider-native identities and require explicit sensitive and body opt-ins.
1ddae63 to
4406097
Compare
Hermes-omt
left a comment
There was a problem hiding this comment.
Reviewed current head f4fec63 on Hermes. Inspected the full change set, command routing, archive/privacy gates, crawl behavior, SQLite snapshot handling, and adjacent tests. swift test and swift build -c release passed. Live PR state is mergeable/clean with auto-merge enabled; CI Gate and PR Checks are successful.
Summary
Governing Issue
Closes #96
Validation
Relevant local checks passed
Required PR checks are expected to satisfy
CI GateSkipped checks are explained below
swift test --disable-sandbox— 137 tests passedbash scripts/ci/run-fast-checks.sh— passed; 88.80% source line coverage, mutation checks, debug and release builds passedsynthetic tests cover cross-provider ranking, pagination, provider filters, redaction, body gating, and evidence provenance
No checks skipped.
Bootstrap Governance
CONTRIBUTING.md,.github/PULL_REQUEST_TEMPLATE.md, anddocs/bootstrap/onboarding.mdwhen applicableNo contributor guidance changed. This PR is stacked through #108 and remains draft until its foundations merge.
Flow Contract
Flow Merge Readiness
Next actor: foundation reviewers, then independent product and architecture review.
Merge Automation
gh pr merge --auto --squash, or the reason it is unavailable/unsafe is noted belowAuto-merge is deferred only while the PR is stacked on archive and Messages foundations.
Notes