feat: integrate Google Drive ingestion, selection and Source history (MEM-76) - #89
Conversation
Add reusable encrypted OAuth credentials, General and Specific scopes, independent scheduling, and durable snapshot publication through the shared ingestion pipeline. Keep API contracts, V13-V20 migrations, worker/provider integrations, and their regression coverage together as one atomic backend cutover.
Add reusable credential setup, General and Specific scope controls, independent interval editing, and the refreshed source-management UI. Report accepted and terminal operation outcomes, retain safe upload/navigation recovery, and enforce five-second notices across focus and route changes. Cover the workflows with component and browser regressions.
Consolidate architecture, authorization and scope semantics, snapshot safety, action-feedback behavior, and verification matrices. Record passing backend/frontend gates and bounded live UI evidence, including preservation of the original three-Sheet Source and cleanup of the temporary Source. Keep broader provider acceptance and document authorization explicitly outside this delivery.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai full review |
|
|
Single CodeRabbit pass captured at 48fc186: bot explicitly reported 286 eligible files against a 100-file quota and insufficient usage credits. Both bot comments, submitted reviews, paginated inline comments and all review threads were collected once: no actionable findings, no submitted review, zero threads. This is missing review coverage, not CodeRabbit approval. No second request or evidence polling will be made. The repository PR-loop quota fallback remains conditional on all latest-head CI checks green, a fresh base and exact-head guarded merge under user authorization. Fix round 1 (e46caa2) only adds the exact historical MEM-66 table-prose fingerprint to existing .gitleaksignore and records evidence. Full remote-history Gitleaks 8.30.1 changed from one reproduced false positive to zero; no broad exclusion or workflow weakening. Waiting for fresh CI before any merge. |
|
Merged with exact-head guard: e46caa2 -> merge commit 274bc78. Git ancestry and identical merge/feature trees verified. Latest-head CI: https://github.com/kl3inIT/MemoryOS/actions/runs/34378139200 . Exact merge-SHA main CI: https://github.com/kl3inIT/MemoryOS/actions/runs/34378905200 (all seven jobs success, including image publication). Deploy staging run https://github.com/kl3inIT/MemoryOS/actions/runs/34379631781 was skipped. No runtime cutover. MEM-76 evidence updated; broader live-provider/ACL acceptance remains active. Review-runtime worktree/build artifacts intentionally retained; owned temporary scanner removed. CodeRabbit quota fallback evidence is recorded above, not claimed as reviewer approval. |
Scope
Integrate the previously committed Google Drive work and Source follow-ups into current main, preserving the logical commit history. Includes reusable Tenant-owned OAuth credentials, immutable General/Specific scopes, independent schedules, native Sheets/Docs and bounded binary/table extraction, linked-document discovery/explicit approvals, durable asynchronous selection validation, exact acquisition-to-indexing run history, paged selection/Files/history, shared pagination and stale-Source action guards. Preserve the existing Docling settings/15-minute processing-budget commit.
Main Chat/JIT and Search PRs #83/#87 are already integrated through
3f236d5; Source conflict resolution preserves the feature HEAD. Generated OpenAPI and browser clients are reconciled. Integration-only Search retry and Chat HTTP/SSE fixture corrections preserve production behavior and assertions.Related: MEM-76, scoped implementation under MEM-9/MEM-10/MEM-60/MEM-63. This is not closure of broader Google ACL/reader, live-provider or customer-data acceptance.
Local verification
clean check :api:bootJar :worker:bootJar --continue: BUILD SUCCESSFUL in 10m18s. 495 cases: 491 passed, 4 conditional skips, zero failures/errors. Skips: one optional live Chat model and three real Docling cases. Build outputs isolated from running review artifacts.pnpm check: 93 unit tests in 18 files plus generated-contract/route drift, CI consistency, lint/format/TypeScript/build/fonts.Canonical verification · Active plan
Migration and operational boundaries
memoryos_main_reviewormemoryos_drive_reviewhistories. No Flyway repair/history rewrite/reset, database cutover or deployment is included.fast-uri,js-yaml); separate default-branch Dependabot report: nine high/two moderate. Existing Chat bundle-size warning retained; no security-clean or IDE-clean claim.Merge gate
User authorized merge-when-green. Require latest-head CI, one complete CodeRabbit review pass with actionable findings resolved, fresh base and exact-head guard. Merge commit only; do not squash/rebase. No staging deployment. Preserve broader provider/ACL/customer-data acceptance as active.