InvestIQ

InvestIQ

ניהול השקעות אוטומטי 1.0

דאשבורדהתראותתיק השקעותחיפוש וניתוח ניירות ערךעסקאותהודעותשווקיםדוח כספים יומישאלות ותשובותשאל את המערכתדוחות מסהגדרותמדריךדף הנחייה למערכת
מצב: PAPER TRADING
info@investiq.co.il054-4860090
מפרטים ומסמכים/V2-CH2/V2-CH2-005

V2-CH2-005 — תחזוקה ו-Reconciliation

כרך 2 · פרק 2 · משימה 005 · sweepExpired, reconcileStuckPromoting, Workflow, TTL

v1.0 Approved · 11.8.2026

מטרת המסמך

הגדרה פורמלית של תחזוקת מחזור החיים של Candidate: sweepExpired (פינוי Candidates שפג תוקפם), reconcileStuckPromoting (השלמת קידום תקוע), ו-workflow אוטומטי. סגירת קריטריונים C7 + C6 (Reconciliation) מ-V2-CH2-001.

גבול כרך 1: הלוגיקה וה-workflow כבר ממומשים (Shadow Active). מסמך תיאורי — אינו מוסיף שדות.

פונקציות תחזוקה

פונקציהטריגרתיאורהחזרה
sweepExpired()scheduled (5 min)מעבר על Candidates עם expires_at < now() או analysis_deadline < now() (ללא quorum). מסמן כ-expired. אין קידום.{ expired: number }
reconcileStuckPromoting()scheduled (5 min)מעבר על Candidates עם status=promoting ו-promotion_locked_at < now() - 60s. אם decision_id קיים → promoted. אחרת → rejected.{ reconciled: number }

Workflow

שדהערך
nameCandidate Lifecycle Sweep
filebase44/workflows/Candidate Lifecycle Sweep.jsonc
functionsweepCandidates
scheduleכל 5 דקות (UTC)
modeShadow (תוספתי, לא-חוסם)
last_result{ expired: 3, reconciled: 0 } (11.8.2026)

כללי TTL

מזההחומרהכלל
T1P1expires_at = created_date + 30 דקות (ברירת מחדל).
T2P0analysis_deadline ≤ expires_at. חייב להיות מוקדם יותר או שווה.
T3P0Candidate שעבר expires_at ו-status ב-discovered/analyzing → expired. אין קידום.
T4P0Candidate שעבר analysis_deadline ללא quorum → expired. אין קידום אוטומטי.
T5P0Candidate עם status=promoted אינו נמחק ואינו נסרק (immutable).
T6P1Candidate עם status=rejected/expired אינו נמחק — נשמר ל-audit והיסטוריה.

קריטריוני קבלה

מזההקריטריוןתוצאה
M1sweepExpired() מסמן Candidates שעברו expires_at או analysis_deadline כ-expired.PASS
M2reconcileStuckPromoting() מטפל ב-Candidates תקועים ב-PROMOTING > 60 שניות.PASS
M3Workflow "Candidate Lifecycle Sweep" פעיל — כל 5 דקות, קורא ל-sweepCandidates.PASS
M4אין קידום של Candidate שפג תוקפו. פג תוקף → EXPIRED בלבד.PASS
M5Candidates עם status=promoted/rejected/expired אינם נמחקים — נשמרים ל-audit.PASS
M6ניסיון בדיקה: sweepCandidates החזיר { expired: 3, reconciled: 0 } — תקין.PASS
מפרט · v1.0 Approved · 11.8.2026 · נעול
חזרה ל-V2-CH2-004