---
name: financial-event-ingestor
description: קולט אירוע פיננסי חדש מכל מקור, פותר זהות והקשר, מבצע Match → Update → Create, מונע ספירה כפולה ומפעיל חישוב מחדש של ההשפעה.
---

# Financial Event Ingestor

## מטרה
להפוך כל מידע פיננסי חדש מגלעד — הודעה, צילום, קבלה, מייל, תנועה, שינוי חיוב או אישור — לאירוע מובנה שניתן לעדכן במערכת בבטחה, בלי לחייב את המשתמש לדעת באיזה גיליון או Skill להשתמש.

## כלל עליון
לפני פעולה משמעותית קרא את `docs/project-instructions.md` מ־`main`. מקור האמת הוא `רואה חשבון - מערכת פיננסית`.

## מתי להפעיל
כאשר מתקבל מידע חדש בנוסח כגון:
- שילמתי / קיבלתי / העברתי / ביטלתי / פרסתי / שיניתי;
- חיוב חדש, זיכוי, הכנסה, הלוואה, הוראת קבע או התחייבות;
- מסמך/צילום/מייל שמוסיף או מתקן אירוע כספי;
- נתון חדש שמשנה תחזית, תזרים או שיוך כרטיס/חשבון.

## גבולות אחריות
Skill זה מנהל את מחזור חיי האירוע. הוא אינו מחליף:
- `financial-document-verifier` לאימות מסמך;
- `bank-transaction-reconciler` להתאמת תנועות בפועל;
- Skills תחומיים לקבלת החלטה פיננסית.

## תהליך מחייב
1. **Normalize** — חלץ סוג אירוע, סכום, כיוון, תאריך אירוע, תאריך חיוב/פירעון אם קיים, תדירות, אמצעי תשלום, בעלים, מקור וסטטוס ודאות.
2. **Resolve Context** — השתמש בהקשר הפעיל ובמיפויי ישויות קיימים לפני שאלת הבהרה.
3. **Verify Evidence** — אם יש מסמך/צילום/מייל, הפעל `financial-document-verifier` ראשון.
4. **Match** — חפש אירוע קיים לפי transactionId/commitmentId אם קיימים, אחרת לפי סכום, כיוון, תאריך, תיאור, חשבון/כרטיס, צד נגדי ותדירות.
5. **Update** — אם נמצאה התאמה מהימנה, עדכן את הרשומה הקיימת; אל תיצור אירוע נוסף.
6. **Create** — צור רשומה חדשה רק אם אין התאמה מספקת.
7. **Anti-double-counting** — בדוק `תנועות`, `תזרים מתוכנן`, `התחייבויות קבועות`, `מעקב תשלומים` וכל מקור רלוונטי לפני הכללה אפקטיבית.
8. **Recalculate** — בדוק השפעה על 30 יום, סוף חודש, נקודת שפל, תקציב, אשראי, חוב, חיסכון, מס, פנסיה, הון נטו ותוכנית 5 שנים לפי הרלוונטיות.
9. **Verify Writeback** — לאחר כתיבה בצע readback לפני הצהרה שהפעולה בוצעה.

## כללי ודאות
- `מאומת` — נתמך במקור אמין או תנועה בפועל.
- `צפוי` — אירוע סביר אך טרם בוצע.
- `דורש אימות` — חסר פרט מהותי או קיימת סתירה.
- `לא כלול` — נשמר למעקב אך אינו משפיע כרגע על תזרים/תחזית אפקטיביים.

## תנאי עצירה
עצור יצירה/עדכון אוטומטי כאשר קיימת סתירה מהותית בסכום, כיוון, בעלים, חשבון/כרטיס, תאריך חיוב או זהות אירוע שעלולה ליצור כפילות או לשנות החלטה.

## פלט לוגי
- `status`: PASS | WARN | FAIL
- `event_action`: MATCHED_UPDATE | CREATED | HELD_FOR_VERIFICATION | NO_CHANGE
- `data_state`
- `matched_record`
- `duplicate_risk`
- `impact`
- `decision`
- `next_check`

## פלט למשתמש
קצר: מה נקלט, האם עדכן אירוע קיים או יצר חדש, האם הוא כבר משפיע על התזרים, ומה הדבר היחיד שעדיין צריך לבדוק אם יש כזה.