Hyungi Ahn
63990ac632
feat(memos): add AI event-kind triage fields
...
PR-2B (Memo Inbox Triage) backend 1/2. plan: beszel-tingly-sloth.md 라운드 13.
사용자 비전 = 메모는 inbox, AI 는 triage assistant. AI worker 는 events row 직접 생성 X.
Migrations 250–253 (실측 N=250):
- 250 CREATE TYPE event_kind_hint AS ENUM (note|task|calendar_event|activity_log|reference)
- 251 ALTER TABLE documents ADD ai_event_kind event_kind_hint
- 252 ALTER TABLE documents ADD ai_event_confidence NUMERIC(3,2) + CHECK 0–1
- 253 CREATE INDEX idx_documents_ai_event_kind partial WHERE ai_event_kind IS NOT NULL
ORM:
- Document.ai_event_kind / ai_event_confidence 컬럼 추가 (Enum SQLAlchemy 동기)
- source_channel enum 에 'voice' 추가 (PR-2C 와 호환)
Worker:
- classify_worker Phase 3 (Gemma 4B triage) 확장
· TriageOutput 에 event_kind_hint + event_kind_confidence 필드 추가
· 4B 응답에 hint 가 있을 때만 Document 에 저장 (enum 외 값은 무시)
- prompt p3a_short_summary.txt 확장 — note/task/calendar_event/activity_log/reference
분류 기준 + confidence + default='note' 명시
원칙: AI worker 는 hint 만 제공. events 생성은 다음 commit 의 promote endpoint 에서만.
2026-05-11 12:04:21 +09:00
..
2026-05-02 16:12:38 +09:00
2026-04-02 13:21:45 +09:00
2026-04-02 14:49:12 +09:00
2026-04-02 15:24:50 +09:00
2026-04-03 09:27:18 +09:00
2026-04-03 10:10:03 +09:00
2026-04-03 10:37:44 +09:00
2026-04-03 13:11:43 +09:00
2026-04-03 13:32:20 +09:00
2026-04-06 07:15:13 +09:00
2026-04-06 07:15:13 +09:00
2026-04-06 12:49:45 +09:00
2026-04-06 13:38:07 +09:00
2026-04-06 14:16:00 +09:00
2026-04-07 13:26:37 +09:00
2026-04-07 08:29:12 +09:00
2026-04-07 14:36:22 +09:00
2026-04-09 07:56:50 +09:00
2026-04-10 09:49:56 +09:00
2026-04-10 08:52:26 +09:00
2026-04-13 14:32:55 +09:00
2026-04-13 16:02:45 +09:00
2026-04-13 16:02:45 +09:00
2026-04-13 16:03:35 +09:00
2026-04-13 16:02:45 +09:00
2026-04-13 16:02:45 +09:00
2026-04-13 16:02:45 +09:00
2026-04-13 16:02:45 +09:00
2026-04-13 16:02:45 +09:00
2026-04-14 08:36:16 +09:00
2026-04-14 14:55:45 +09:00
2026-04-14 15:31:16 +09:00
2026-04-14 15:31:16 +09:00
2026-04-15 08:40:19 +09:00
2026-04-15 08:40:19 +09:00
2026-04-15 08:40:19 +09:00
2026-04-15 10:03:00 +09:00
2026-04-15 10:03:00 +09:00
2026-04-15 10:03:00 +09:00
2026-04-15 10:03:00 +09:00
2026-04-15 10:09:25 +09:00
2026-04-15 10:09:25 +09:00
2026-04-15 10:09:25 +09:00
2026-04-15 10:09:25 +09:00
2026-04-15 10:09:25 +09:00
2026-04-15 10:09:25 +09:00
2026-04-15 10:09:25 +09:00
2026-04-15 10:09:25 +09:00
2026-04-15 10:09:25 +09:00
2026-04-15 10:09:25 +09:00
2026-04-15 15:10:01 +09:00
2026-04-16 13:54:15 +09:00
2026-04-16 13:54:15 +09:00
2026-04-16 13:58:58 +09:00
2026-04-17 08:11:06 +09:00
2026-04-17 08:11:06 +09:00
2026-04-17 08:11:06 +09:00
2026-04-17 08:11:06 +09:00
2026-05-02 16:12:38 +09:00
2026-04-23 15:46:00 +09:00
2026-04-23 15:46:00 +09:00
2026-04-23 15:46:00 +09:00
2026-04-23 15:46:00 +09:00
2026-04-24 06:47:36 +09:00
2026-04-24 06:47:36 +09:00
2026-04-24 06:47:36 +09:00
2026-04-24 06:47:36 +09:00
2026-04-24 06:47:36 +09:00
2026-04-24 09:14:56 +09:00
2026-04-24 09:38:40 +09:00
2026-04-24 09:38:40 +09:00
2026-04-24 09:38:40 +09:00
2026-04-24 10:22:40 +09:00
2026-04-24 10:22:40 +09:00
2026-04-24 10:22:40 +09:00
2026-04-24 10:22:40 +09:00
2026-04-24 10:22:40 +09:00
2026-04-24 10:33:32 +09:00
2026-04-24 10:33:32 +09:00
2026-04-24 12:59:39 +09:00
2026-04-27 08:18:40 +09:00
2026-04-27 08:18:40 +09:00
2026-04-27 08:18:40 +09:00
2026-04-27 08:18:40 +09:00
2026-04-27 08:18:40 +09:00
2026-04-27 08:18:40 +09:00
2026-04-27 08:18:40 +09:00
2026-04-27 08:18:40 +09:00
2026-04-27 08:18:40 +09:00
2026-04-27 08:18:40 +09:00
2026-04-27 12:08:36 +09:00
2026-04-27 12:08:36 +09:00
2026-04-27 12:08:36 +09:00
2026-04-27 12:38:03 +09:00
2026-04-27 12:38:03 +09:00
2026-04-28 07:06:37 +09:00
2026-04-28 07:06:37 +09:00
2026-04-28 07:06:37 +09:00
2026-04-28 07:06:37 +09:00
2026-04-28 07:06:37 +09:00
2026-04-28 07:06:37 +09:00
2026-04-28 07:06:37 +09:00
2026-04-28 08:00:37 +09:00
2026-04-28 08:00:37 +09:00
2026-04-28 08:00:37 +09:00
2026-04-28 08:00:37 +09:00
2026-04-28 08:00:37 +09:00
2026-04-28 08:41:46 +09:00
2026-04-28 08:41:46 +09:00
2026-04-28 08:54:02 +09:00
2026-04-28 08:54:02 +09:00
2026-04-28 09:31:06 +09:00
2026-04-28 09:31:06 +09:00
2026-04-28 09:31:06 +09:00
2026-04-28 13:44:59 +09:00
2026-04-28 13:44:59 +09:00
2026-04-28 15:58:35 +09:00
2026-04-28 15:58:35 +09:00
2026-04-28 15:58:35 +09:00
2026-04-28 15:58:35 +09:00
2026-04-28 15:58:35 +09:00
2026-04-28 15:58:35 +09:00
2026-04-28 16:49:21 +09:00
2026-04-28 16:49:21 +09:00
2026-04-28 16:49:21 +09:00
2026-04-28 16:49:21 +09:00
2026-04-29 08:45:15 +09:00
2026-04-30 01:57:11 +00:00
2026-04-30 01:57:11 +00:00
2026-04-30 01:57:11 +00:00
2026-04-30 01:57:11 +00:00
2026-04-30 01:57:11 +00:00
2026-04-30 01:57:11 +00:00
2026-04-30 01:57:11 +00:00
2026-04-30 01:57:11 +00:00
2026-04-30 01:57:11 +00:00
2026-05-01 07:22:31 +09:00
2026-05-01 07:22:31 +09:00
2026-05-01 00:06:23 +00:00
2026-05-01 09:32:16 +09:00
2026-05-01 09:32:16 +09:00
2026-05-01 09:32:16 +09:00
2026-05-01 09:32:16 +09:00
2026-05-01 09:49:01 +09:00
2026-05-01 11:42:08 +09:00
2026-05-01 11:42:08 +09:00
2026-05-02 07:20:29 +09:00
2026-05-02 07:20:29 +09:00
2026-05-02 07:20:29 +09:00
2026-05-10 14:05:41 +09:00
2026-05-10 14:05:41 +09:00
2026-05-10 14:05:41 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 07:19:04 +09:00
2026-05-11 12:04:21 +09:00
2026-05-11 12:04:21 +09:00
2026-05-11 12:04:21 +09:00
2026-05-11 12:04:21 +09:00