feat/email-ingest-inbox #18
Reference in New Issue
Block a user
Delete Branch "feat/email-ingest-inbox"
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?
신규 워커 app/workers/inbox_ingest.py (337줄): - 5분 APScheduler cron (mailplus_archive 와 분리 — INBOX root archive vs DocumentServer/Ingest folder) - UID SEARCH SINCE 14일 (UNSEEN 단독 의존 X, 사용자가 MailPlus UI 에서 먼저 읽어도 누락 회피) - Message-ID 정규화 또는 imap:{folder}:{uidvalidity}:{uid} fallback → source_external_id always non-null - ON CONFLICT DO NOTHING (DB unique 진실원장) - 신규 row 만 BODY parse: snippet + HTML stripping + attachment metadata (binary 저장 X) - enqueue_stage(doc.id, classify) 로 기존 classify pipeline 진입 - HC.io heartbeat (옵션, INBOX_INGEST_HC_URL) - parse 실패 분기: row 생성 전 (logger.error + HC fail) / 후 (email_metadata.parse_error 기록) env (credentials.env.example): - INBOX_INGEST_ENABLED=false (기본 dormant, 사용자가 alias/folder 셋업 후 true) - INBOX_INGEST_FOLDER=DocumentServer/Ingest - INBOX_INGEST_DAYS=14 - INBOX_INGEST_HC_URL= main.py: - inbox_ingest_run import + scheduler.add_job interval 5m email_ingest 정책 (사용자 라운드 2026-05-12): - 직접 events row 생성 X - 이메일은 universal inbox item, source_channel=email memo 로 저장 - classify_worker 가 ai_event_kind 채움 (별 PR 의 4B robustness fix 선결) - 사용자 1-click promote 만이 events row 생성 path plan: ~/.claude/plans/document-enchanted-candy.mdView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.