Add MARC iOS app scaffold with screenshot ingestion, OCR, embeddings, and semantic search#2
Add MARC iOS app scaffold with screenshot ingestion, OCR, embeddings, and semantic search#2xoxoskeleton wants to merge 2 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5f6ccaf161
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| for index in 0..<result.count { | ||
| let asset = result.object(at: index) | ||
| await ingest(asset: asset, context: context) |
There was a problem hiding this comment.
Deduplicate screenshot ingestion by asset identifier
ingestRecentScreenshots re-imports every screenshot from the last 7 days each time it runs, and start() invokes it on every app launch (plus pull-to-refresh can invoke it again). Because Memory IDs are random UUIDs and no PHAsset.localIdentifier is stored/checked, the same screenshot is inserted repeatedly, which quickly creates duplicate timeline/search entries and unnecessary storage growth.
Useful? React with 👍 / 👎.
| Task { | ||
| try? await reminderService.scheduleReminder(for: memory, at: date) | ||
| memory.reminderDate = date |
There was a problem hiding this comment.
Request notification permission before scheduling reminders
The reminder flow calls scheduleReminder directly without first requesting authorization, and ReminderService.requestPermission() is never called in this codebase. On fresh installs (or after denial), users can set a reminder and persist reminderDate, but iOS will not deliver notification alerts, so the feature appears to succeed while silently failing.
Useful? React with 👍 / 👎.
Motivation
Description
MARC/source tree with app entry and tab navigation inMARC/App/and a dark electric-blue visual foundation.MemoryandTagmodels plusMemoryStorefor import, compression, thumbnailing and saving.ScreenshotMonitor(PhotoKit observer),OCRService(Vision.accurate),EmbeddingService(on-deviceNLEmbedding),AutoTagger(rule-based),VectorSearchService(cosine similarity),VectorMath(AcceleratevDSP), andReminderService(UserNotifications).TimelineView,MemoryCardView,SearchView+SearchResultView,MemoryDetailView+ReminderSheet,SettingsView, andOnboardingView.MARC/README.mdwith setup, privacy notes, and optional Core ML conversion guidance for upgrading embeddings.Testing
find MARC -type f | sortand inspected key files. (succeeded)swiftc --versionto ensure environment has Swift installed. (succeeded)git status --shortto confirm working tree state. (succeeded)Codex Task