[Passive Logging] Email history ingestion #107
Labels
No labels
blocked:depends-p1
blocked:gate-research
blocked:lint-failed
blocked:needs-decision
blocked:needs-human
blocked:verify-failed
bug
data-loss
documentation
enhancement
feature-request
in-progress
needs-decompose
needs-triage
pwa
quickfix
security
security/high
security/medium
test
test-coverage
triage-approved
vault
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/kimi_agent_kin_app_sync#107
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent: #42
Ingest email history into the Kin PRM as candidate interactions.
Scope
Sibling issues
Why this is its own issue
SMS and call log have well-defined OS APIs. Email has no equivalent — it's a design problem, not an API problem. Needs a separate design call before dispatch.
What the human call is
Email has no programmatic Android API. Pick the shape:
Pick one before kilo dispatches. Recommendation: A (IMAP) with C as a fallback path for users without IMAP.
Triage: dropping
blocked:needs-humanper session decision 2026-07-02. Email ingestion is design-decoupled from sibling passive-logging channels (#106, #108, #105) — sibling caller shape and store-action surface are already proven. Email provider variability (IMAP / Gmail API / Microsoft Graph / export-import) is handled in implementation, not in triage.Decomposition: keeping
needs-decomposeflag and stripping it would force a single-PR scope. Stays until a clear call is made on provider abstraction.Closing as
blocked:needs-human. No OS-level API exposes email history to a Capacitor / WebView app on either Android or iOS — Android'sContentResolverdoes not surface mail data to third-party apps (Gmail, Outlook, etc. each require their own OAuth + provider-side scope), and iOS WebKit is even more restrictive. The closest viable path is an IMAP/Gmail API pull with user credentials, which is out of scope for passive logging (active fetch, auth UX, token refresh). Sibling #106 (SMS) shipped viaa781591and #105 (call log) shipped via32db05e; both useContentResolver. No analog exists for email. Reopen if a Capacitor email plugin emerges or if scope shifts to active IMAP fetch with a design call on auth.