TMR / SmartER

לאלירן — מסירת הקוד והממשקים, 15.10.2026

המסירה המפורשת היא המשך Digest ו־Patient Lifecycle אצלך, וקוד שליפת המאושפזים מ־Chameleon שאתה לוקח כבסיס; התאמתו ל־Wildfire ואיחוד השאילתות נשארו אצל יוסף. תמר, Studio, WSP ויתר המאגרים להלן הם מפת התלויות והידע הדרוש לעבודה. לא תועדה העברת הבעלות על כולם אליך.

המסמך נשען על ההודעות, התמלולים והרשומות המתוארכות, כולל שיחת השעון של יוסף ואלירן ב־15.10, 14:15:40–15:09:52. ההכרעות והנושאים שנותרו פתוחים בשיחה מובאים להלן; אין בה העברת בעלות על TMR או החלטה סופית להשתמש בו ב־Lifecycle. התכנון והדיווחים אינם בדיקת קוד או אישור שהגרסה רצה. עותק Git נגיש של Wildfire הוא מאפריל 2025; לכן שמות ענפים ופקודות הרצה עכשוויות שאינם במקורות מסומנים להשלמה, במקום להעתיק הוראות ישנות.

השיחה עם אלירן, 15.10 (מהשעון)

מקור: ~/Recordings/2026-10-15 1415 - transcript (voice-labelled).md, הקלטה מ־14:15:40 עד 15:09:52, שעון ישראל. זמני השעון להלן חושבו מתחילת ההקלטה; הזמן שבסוגריים הוא זמן המקור. התמלול אוטומטי, וב־286 מתוך 540 תורות יש ?; אין כאן ייחוס אישי מתורות אלה. גם תור ללא הסימן עשוי להכיל שני קולות, ולכן חילופי דברים בתוכו אינם משמשים כהוכחת הסכמה.

מה התבהר ומה לא הוכרע

הדרישה הנוכחית: נתונים משותפים, פעולות שונות. ב־14:26:25 [10:45] אלירן תיאר דרישה שלפיה שלושת הקוהורטים הקיימים משתמשים באותו דאטה. ב־14:28:31 [12:51] הוא תיאר טבלת events אחת, וב־14:29:12 [13:32] יוסף תיאר את שלושת הקוהורטים כמסתכלים על אותו snapshot ואותם events. זו נקודת ההתכנסות לשימוש הנוכחי; היא אינה מחייבת להפעיל אותן משימות: ב־14:25:44 [10:04] וב־14:29:19 [13:39] אלירן הסביר שלקוהורט המרפאות אין צורך ב־refresh. יוסף טען שמקורות וצרכים נוספים יחייבו בעתיד דאטה שונה [11:03–11:32]; אין כאן דרישת מוצר מאושרת לממש כבר כעת snapshot נפרד לכל קוהורט.

יחידת התכנון עדיין במחלוקת. ב־14:30:38–14:30:57 [14:58–15:17] יוסף נימק עבודה דרך קוהורט וההקשר שבו הגיע המטופל. ב־14:36:11 [20:31] אלירן תיאר Lifecycle שמחליט אילו משימות להדליק ולכבות ברמת המטופל לפי השתייכותו לקוהורטים. אלה חלופות תכנון שנדונו, לא שתי אחריויות חדשות שהוקצו לשני אנשים.

cleanup לא נסגר. ב־14:31:29 [15:49] וב־14:32:01 [16:21] עלתה בעיית מטופל בכמה קוהורטים; ב־14:34:13–14:35:15 [18:33–19:35] אלירן תיאר סימוני מחיקה מתחרים כאשר מטופל יצא מקוהורט אחד ונשאר בשני. יוסף הציע להמתין להסכמה של הקוהורטים [19:01–19:21]; אלירן העדיף שהסימון יהיה רלוונטי לאחר יציאה מכולם [19:35]. ב־14:39:52 [24:12] חזר תרחיש השהיית 24 שעות, ולאחריו שאלת refresh בזמן סימון למחיקה [24:41–25:02]. חלון ההשהיה, תדירות הסריקה וההתנהגות במרוץ לא נקבעו כחוזה סופי. המילה קונצנזוס בדיון אינה הוכחה לפרוטוקול שמומש או לבטיחות מחיקה.

מניעת refresh כפול: כיוון מוצע, לא יכולת מוכנה. ב־14:42:08–14:42:15 [26:28–26:35] יוסף הציע להריץ משימה משותפת פעם אחת על איחוד מטופלי הקוהורטים. ב־14:59:11 [43:31] אלירן שאל אם תמר עושה זאת; ב־14:59:21 [43:41] יוסף הפנה למימוש שהיה בתמר או בהיסטוריית Git שלו, והבהיר שחלקו נמחק. לכן נדרשת מציאת הקוד ובדיקתו לפני הבטחה שהכפילות נמנעת. ב־14:59:37–14:59:47 [43:57–44:07] אלירן העריך שחפיפה אינה צפויה בשימוש הנוכחי, אך התייחס גם לאפשרות של refresh כפול. זו הערכת תרחיש, לא אילוץ נתונים מוכח ולא סגירת סיכון הכפילות.

TMR, workers ו־RPC. ב־14:44:19–14:45:06 [28:39–29:26] אלירן הצביע על פיצול הנתונים ועל ביצוע העבודה בתוך אותו רכיב כמגבלות התכנון הקודם; חשש ה־scale תואר כתיאורטי, ללא מדידה. ב־14:46:20 [30:40 ואילך] נדונה הפרדה בין פונקציה, קוהורט ומשאב membership. ב־14:47:18 [31:38] יוסף אמר שהמצב נשמר כעת בזיכרון ושאפשר להוסיף DB. ב־14:51:07–14:51:26 [35:27–35:46] נדונו מגבלת pod יחיד והאפשרות לשמור את המצב בשירות Lifecycle. ב־14:51:42–14:52:16 [36:02–36:36] אלירן שאל על משימה ארוכה ועל חידוש pod כשעובדים ב־RPC. אין במקטע מנגנון התאוששות מוסכם שמונע שיגור חוזר, ואין הכרעת persistence או מספר workers. ב־14:53:56–14:54:24 [38:16–38:44] יוסף עצמו חזר לשאלה אם בכלל נדרש TMR לצורך הנוכחי. אין להסיק מהדיון שהוחלט להכניסו.

תזמון refresh נבחן מחדש. ב־14:56:36–14:57:46 [40:56–42:06] נדונו סריקה מחזורית של מטופלים במצב Ready מול משימה/הרשמה לכל מטופל; אלירן נימק את היתרון של הבנת מה שקרה ברמת המטופל. חלק גדול מחילופי הדברים מסומן בספק. נותר לקבע איזה רכיב מתכנן, איזה מבצע, ואיך נמנעים תכנון כפול ואובדן עבודה בעת restart; אין כאן מעבר מאושר לשיטה אחת.

מי מחזיק מה והצעד הבא

אלירן נשאר בעל מימוש Digest ו־Lifecycle לפי החלוקה מ־13.10. ב־15:07:18 [51:38] אמר שהוא כותב את Lifecycle מחדש; ב־15:07:28 [51:48] אמר שהוא רוצה לחקור בעצמו את הכלים הטכניים. זה מעדכן את כיוון המימוש, ולא מוכיח שהשכתוב התחיל, שהסתיים או ש־TMR נבחר. לא נאמר מועד מסירה. איחוד השאילתות והתאמת קוד Chameleon ל־Wildfire נשארים אצל יוסף לפי ההסכמות הקודמות; השיחה אינה מעבירה אותם לאלירן.

יוסף הוא מקור למסירת ההסבר והאיתור של הדוגמה ההיסטורית ב־TMR [43:41]. ב־15:07:48–15:07:53 [52:08–52:13] הוא הפנה לחומרי AI-Docs/Codex, אך שמות הקבצים והפקודות משובשים בתמלול; יש לקחת אותם מהמאגר העכשווי. אין כאן התחייבות חדשה שלו לכתוב persistence או מנגנון מניעת כפילות עבור אלירן.

צעדים מוצעים למסירה, לא התחייבויות שנאמרו: אלירן ויוסף יקבעו תחילה את חוזה ה־snapshot המשותף, פעולות כל קוהורט וההפרדה בין תכנון לביצוע. לאחר מכן יש לבחור אם לייבא רכיב מ־TMR, לאתר את המימוש ההיסטורי שיוסף הזכיר, ולבחון אותו על שני קוהורטים חופפים. מקרי הקבלה: bootstrap ו־refresh שלא משוגרים פעמיים לאותו יעד; יציאה מקוהורט אחד בלי מחיקת דאטה שנדרש בשני; refresh בזמן סימון למחיקה; restart בזמן RPC ארוך; וחזרה ל־load/refresh parity שתוכננה ב־13.10. הבדיקות דורשות גם הגדרת זהות עבודה ומצב נשמר, ולא רק לולאת תזמון. אין תוצאות ריצה בשיחה.

קריאה מקצועית: טענת אלירן ב־15:06:37–15:06:51 [50:57–51:11] היא שגמישות לעתיד יכולה להקשות על דרישת המוצר הנוכחית. הייתי מקבע קודם את ההתנהגות הפשוטה הנדרשת היום, ובוחן את תרומת TMR באמצעות הדוגמה החופפת וההתאוששות. הצורך העתידי בהפרדת דאטה מוצדק כשאלת תכנון; הוא לבדו אינו סיבה להעביר עכשיו את כל תמר למסלול החימום.

מפת המאגרים והגבולות

מאגר או רכיב תפקיד ומקום מה צריך לקחת ממנו
wildfire / Rosetta שכבת הנתונים והשאילתות; זיהוי GitLab היסטורי arc/applications/wildfire מיפויים, resolvers, שאילתות שמורות, חוזה משיכת הנתונים וההתאמה לשינויים שלך
Chameleon מקור הנתונים של בית החולים, וגם שם לקוד השליפה אצלנו; לא מאגר הספק שנמסר לבעלותך קוד מאושפזים לפי מחלקה, סמנטיקת ביקור נוכחי והתאמה לגרסה 9
alice — Digest / Heating / Patient Lifecycle מנוע Alice ומסלול טעינת הנתונים; הנתיב המתועד arc/applications/alice (לשעבר chart-chat); heating-v3 הוא ענף האינטגרציה המתועד המימוש שאתה משלים, איחוד מקורות הנתונים והוכחת load/refresh
WSP תזמון, workers ותורים; זיהוי GitLab היסטורי arc/applications/wsp גרסת package ושירות שתואמות לחימום החדש, registration/subscription והעברת בקשה ותשובה
tmr — תמר / SmartER מוצר ותשתית צרכן של Rosetta ו־AI Flows שאיבת מטופלים, preprocessing, הפעלת flows ומסירת תוצאה לממשק
Studio ממשק בנייה והרצה של שאילתות Rosetta, עם frontend/backend בענף משולב לפי יוסף בדיקת צרכן לשינויי הסכמה והשליפה; אינו Playground של AI Flows
ai-flows הרצת זרימות קליניות וה־Playground חוזי execute, query IDs וחיתוך הזמן של נתוני ההערכה
CWC — cwc-web / chat-with-chart-web במקורות ממשק הצ׳אט של Alice, נפרד מהמנוע בדיקת טעינה ומצב למשתמש; שם ה־remote המדויק דורש זיהוי
ai-docs, sql-investigations תיעוד סכמות, מיפויים וחקירות SQL מקור להבנת הנתונים, לצד הקוד והסכמה בפועל
arc_login, configurations, ci-clusters הזדהות, תצורה והגדרות סביבה תלויות לבדיקת אינטגרציה; אין כאן הקצאה חדשה שלך לתחזק אותן

כתובות clone עדכניות, ענפי המסירה וה־SHA נדרשים מתוך GitLab של הצוות. מזהי Wildfire ו־WSP נלקחו מ־README מקומי היסטורי; מזהה Alice ונתיבי src/digest/digest/task_worker.py ו־logic/patient_background.py מתועדים בהודעת Teams של אלון מ־15.4.2026, דרך סינתזת Alice; שאר השמות מזוהים מהשיחות, לא ממלאי remote עדכני.

1. Alice: Digest, Lifecycle והחימום

הזרימה. Alice צריכה לקבל את תיק המטופל, להפוך אותו ל־events ולבנות מידע שאפשר לענות עליו. החימום מקדים את העבודה למטופלים במחלקות ובמרפאות שנבחרו. Digest מקבל מידע מ־Wildfire וממיר אותו לאירועים; Lifecycle עוסק במצב המטופל, membership, snapshot והמשך הטעינה. אין להחליף בין Digest של Alice לבין digest של תמר.

העבודה שכבר נעשתה. יוסף כתב את מנגנון החימום הדיפרנציאלי בקיץ; אתה כתבת גם מסלול חימום QFlow והחזקת את סקירות הקוד והמשך התכנון. ב־6.10 תועדה חלוקה: Lifecycle אצל יוסף ו־Digest אצלך. יוסף מסר ארבעה commits ב־7.10 ודיווח על בדיקה מקומית; זו לא ראיית מיזוג ל־heating-v3. ב־12.10 00:59 הוא דיווח שהאינטגרציה עובדת מקומית, ש־Lifecycle אינו גמור ושמעבר ל־SHOW תלוי ב־WSP בבטא וב־MR. ב־12:21 אמרת שהשירות החדש אינו מוכן.

החלוקה המעודכנת. בשיחת 12.10 18:30 [00:40–01:27] הצעת להשלים גם את השירות הראשון ויוסף הסכים. ב־13.10 [82:43–84:36] סיכמת שאתה מממש את שינויי הדיאגרמה, בקשה/תשובה דרך התור, Lifecycle וחימום אופציונלי. בשלב הזה המשימות נשארות ב־Digest עם הפרדה פנימית, ללא פיצול נוסף לשירותים. איחוד שאילתות Heating ו־Digest נשאר ליוסף [83:47].

מה ממומש לפי דיווחך ומה עוד פתוח. ב־12.10 [01:44] תיארת subscribe ל־refresh ול־background ו־consumer ל־bootstrap, והבהרת שלא נבדקו. cleanup נותר פתוח [03:10]; שיחת 15.10 הוסיפה את מרוץ המחיקה בין קוהורטים ולא סגרה אותו, כמפורט לעיל. נדון רכיב משותף לטעינת ההיסטוריה עבור load controller ו־bootstrap consumer, עם משיכת סוגי נתונים במקביל ב־subprocess. process נפרד נומק בשחרור זיכרון, לפי ניסיון של אלון; יוסף שאל על צירוף psync workers ו־subprocesses. אין מדידת עומס שמוכיחה את מספר העובדים המתאים.

הכרעת המוצר שצריך לשמור. load אינו מחייב חימום. ב־12.10 19:41 ובשיחת 13.10 העלית את My Patients: אפשר לרצות לטעון מטופל בלי להכניסו לחימום קבוע. snapshot ו־state נפרדים מהחלטת החימום. אין לקבע את הצעת cleanup של 24 שעות או שעה כחוזה מאושר; היא הייתה חלק מהדיון. את מקרה הקצה של 12.10 צריך לקרוא יחד עם ההכרעה המאוחרת מ־13.10, לא לפתוח מחדש כאילו לא התקיימה שיחת ההמשך.

שתי בדיקות קבלה נפרדות. לפי דיון 13.10 [65:45–87:45]:

  1. load חדש מול load קיים בבטא — אותו תוכן, לפי תאריך, סוג ותוכן, ולא רק אותה כמות events. אין להסתמך על IDs דינמיים להשוואה.
  2. רצף refresh מול load מלא בסופו — על פני זמן, עם מידע חדש וכמה מחלקות. לשמור את קוד הטעינה הישן כבסיס השוואה עד שהבדיקה הושלמה. חלונות שתלויים ב־now מחייבים תנאי זמן נשלטים; offset נע הוצע, לא הוכח.

בנוסף צריך להפעיל bootstrap, טעינה ידנית ללא חימום, membership ו־cleanup ולמדוד זיכרון ותורים. אלה בדיקות מוצעות למסירה, לא תוצאות שהתקבלו.

באגים שיש להפריד. ב־13.10 יוסף ושרון אבחנו התנגשות כשהמדד מגיע גם דרך letter וגם ישירות. ב־14.10 יוסף דיווח על תיקון measurements לקראת בטא. ב־15.10 [17:04–18:58] הוא דיווח על PR להפרדת אירוע מהמכתב מאירוע global, אחרי שאלון ביקש פתרון נאיבי. לא ידועים כאן מספר ה־PR, שמות ה־types הסופיים או אישור קבלה ב־Alice. זה נפרד מבאג JOIN במעבדות, שבו כותרות מחוקות יוצרות כפילות, ומחסם package ב־CWC.

מקורות משותפים: Heating והחלוקה, Alice ותיקוני הנתונים.

2. קוד Chameleon ושליפת מאושפזים לפי מחלקה

ב־14.10 18:28 הבהרת שהקושי הוא בכמות הקוד הייעודי למשיכת המאושפזים במחלקה, ולא רק במעטפת גנרית. ב־18:29 יוסף הפנה ל־Unit.encounter עם current=True; זה האיות בהודעה, לא חתימת API שנבדקה. באותה דקה כתבת שאתה לוקח את קוד Chameleon ומשאיר ליוסף את השינוי ל־Wildfire. ב־18:30 עדיין נשארו פינות דיזיין, והשיחה נדחתה ל־15.10.

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

גרסה 9. ב־weekly של 15.10 [02:06–04:17] יוסף דיווח שהטבלאות וההתאמות כמעט הושלמו, אבל descriptions שגויים קיימים גם ב־DB. אלון העלה אפשרות לתקלת מיגרציה — השערה, לא אבחון. צריך דוגמת שחזור ואפיון למסירה לבעלי הנתונים. ב־[15:05–15:37] נדונה חשיפה מקבילה של Chameleon הישן ו־9: אלון הציע patient.Chameleon9, גיא הציע להשאיר את Chameleon כ־alias לגרסה הישנה, ויוסף אמר שניתן לתמוך בשתיהן בלי לשבור את כל השאילתות. אלה הצעות API שעדיין דורשות קריאת schema בפועל.

בהדרכת 11.10 13:43 [22:45–27:52], גיא הסביר את ההפרדה בין שכבת הנתונים למחלקה ואת המעבר לייצוג נאמן למקור, וייחס ליוסף את מציאת file folder. יוסף תיאר מיפוי טבלאות, SQL דינמי ו־gateway שכתב; הוא הבהיר שאין לו קוד מקור של מוצר Chameleon.

לא להמיר אוטומטית את העברת קוד השליפה להעברת בעלות על כל מיפוי Chameleon 9, על המוצר של הספק או על כל Rosetta.

3. Wildfire / Rosetta ו־Studio

ארכיטקטורה. Rosetta היא שכבת תרגום מעל מקורות שונים: Chameleon, MetaVision, QFlow, RIS, Medcon, Ada ומכתבים. היא חושפת GraphQL, שאילתות שמורות לפי query ID וממשקי חקירה. Studio הוא ממשק בניית השאילתות. במבנה המתועד בקיץ היו תורי main, interactive, bulk, ניתוב לפי header, autoscaling ב־KEDA, cache מבני ב־Valkey ותוצאות ב־RustFS; Mongo מחזיק שאילתות שמורות. תצורת התורים והמשאבים הנוכחית נקבעת בקוד ובערכי הסביבה, לא במספרים מהתמלול.

יוסף וגיא. יוסף בנה את שכבות המיפוי והחילוץ המרכזיות, את מיפוי Chameleon/FHIR ואת Studio; גיא שותף לארכיטקטורה, לסמנטיקה ולשערי הסקירה, והזמין את ה־sandbox שממנו צמח Studio. תכנון ה־concurrency ממאי 2026 מתועד של יוסף בשיתוף איתך. אין להפוך את תרומת גיא לקביעה שהוא כתב את כל השכבה, או את תרומת יוסף לקביעה שכל רכיב בתוכה שלו. מפת התרומות.

מצב 15.10. Studio frontend/backend תוארו כקרובים לסיום; איתן ממופה בהיקף רחב אבל ה־resolver אינו מוכן. יוסף דיווח על גישה לאיתן שתלויה ב־node ב־SHOW ועל נפילה כשאין גישה. הוא שקל מיזוג יחד עם Studio, לא דיווח שהמיזוג התקבל. שלושת פריטי המיזוג שהציג בבוקר — numeric queries, section UI parity ותוספות Chameleon UI sections — נפרדים זה מזה; אין להם כאן MR מזוהה. גם שמות המונחים בהקלטה אינם מספיקים לחוזה טכני.

שבירת חוזה קיימת. המעבר ל־filters סביב AT ב־13.10 שבר צרכני Sheba encounters. שי דיווח על תיקון עריכת שאילתה שבורה; משיכת מטופלים ל־Studio עדיין דווחה ככושלת ב־14.10. AT מופיע בבטא בלוח; זה אינו אישור שכל צרכן הותאם. לבדוק שאילתה קיימת של Alice, Studio ו־AI Flows מול השינוי לפני המסירה. תיקון ששת השבועות שנסגר ב־8.10 אינו הבאג הזה.

השיחה עם גיא, 14.10 19:59. גיא הציע שני דברים נפרדים: nested foreign-key filters [05:41–11:32], וקיבוץ שמאפשר לבחור ביקור אחרון או N ביקורים מכל סוג/יחידה תוך שמירת ההקשר [14:33–17:47]. יוסף הציע order ו־limit במקום first/last [19:38–19:58]. גיא הציע ביצוע נאיבי ב־Python לפני resolution של הילדים, עם הסתייגות scale; דחיפה ל־DB דורשת מבנה שאפשר לתרגם ל־SQL [21:15–23:00]. ב־weekly הוא חזר על Python תחילה, ואלון דרש מדידה על מטופל כבד [09:29–12:43]. אין לייחס לגיא את הצעת SQL window function שנוספה במסמך ההמשך, ואין לתאר את הקיבוץ כממומש.

המשך. להסכים על grouping key, סדר, limit, שמירת הקשר ותוצאת קבלה מול שני. יוסף התחייב ב־14.10 עד ראשון 18.10 ל־globals ולסינון daily follow-up לפי סוג יחידה; שיחת גיא אינה מבטלת התחייבות זו. מפרט מוצע, לא API מוסכם, מצב Studio.

4. תמר — TMR ו־SmartER: מה של מי

תמר היא מערכת רחבה מסנכרון מטופלים: preprocessing, תצוגות מחלקה ומטופל, הפעלת תהליכים, preview, מכתבים והרשאות. SmartER שולב בתוכה כמצב תצוגה בעקבות החלטת גיא מספטמבר 2025. הקוד המקורי של תמר קדם גם לגיא וגם ליוסף; אין לייחס לאחד מהם את יצירת המערכת המקורית. ה־managers עברו בהמשך ל־AI Flows; מחלקה מוגדרת בתצורה ובפרומפט, לא ב־fork נפרד.

אזור הייחוס במקורות
גשר TMR ל־managers, utils_call_managers.py, build_manager_payload, והרצת managers ב־Compose יוסף, 11.12.2025; זיהוי היסטורי של רכיבים, לא הבטחה שהנתיבים לא השתנו
בחירת managers ותצורתם; preprocessing של נתוני Chameleon לצרכני DS יוסף; התפקיד בתצורה וב־preprocessing נתמך גם בדברי גיא בנובמבר–דצמבר 2025
digest בתמר, סכמת Letter ותצוגת grounded content יוסף, דיווחים מ־10.5.2026 ו־11.3.2026
חלוקת digest/ingest לפי מחלקה, actions metaclasses ותכנון authorization גיא, לפי השיחות מ־4.11.2025, 20.11.2025 ו־9.6.2026
ההחלטה להכניס SmartER לתמר והארכיטקטורה שמסביבה גיא; זרימת SmartER נבנתה עם יוסף
visits / ReleaseSection, טיוטת DAL ושליפת אשפוזים אחרונים שי, לפי הרשומה ההיסטורית; אין לייחס ליוסף אוטומטית כל שליפת מטופלים
תצוגת מחלקות וסינון דינמי טהר; live reload — יאיר; WSP הוא מוצר נפרד

המטרה במסירה היא לזהות איזה חלק מתמר יכול לספק התנהגות קיימת ולשמש בסיס השוואה. העובדה שיוסף כתב digest אינה מוכיחה שכל קוד ingest הוא שלו; החלטת ארכיטקטורה של גיא אינה מוכיחה שהוא כתב כל adapter. יש לקרוא את ה־diff וההיסטוריה בענף הנמסר לפני ייחוס של פונקציה מסוימת. התמונה המתועדת והמקורות לכל שורה ב־TMR / SmartER.

מצב ותלויות. TMR צורך Rosetta ו־AI Flows ומשלב Alice. חיתוך AT נועד לאפשר אותה שאילתה להערכה ולריצה רגילה בלי מידע עתידי; current encounter לבדו אינו חיתוך של כל המידע. במקביל מתוכנן חיבור Chameleon עם זהות רופא ו־Keycloak; אין בו בעלות מימוש חדשה שלך מכוח מסמך זה. תיקון ממשק מ־15.10 11:32–11:34 בקבוצת Chameleon: גיא הבהיר ש־Origin נמצא לצד patient ולא בתוכו, ושהרשומה הרפואית שייכת ל־origin; טהר כבר שלח תיעוד, ולכן צריך ליישב את התיקון מול החוזה שנשלח. ב־14.10 17:35–17:39 יוסף הבחין בין Descriptions של סיכום שחרור במיון מבוגרים לבין DailyFollowUp של אנמנזה; גיא אישר שהתבלבל בין מיון ילדים למבוגרים. זו הבחנה חשובה בבדיקת נתונים, לא רק בשם השדה. דיווחי 8–11.10 על מכתב שלא הגיע ל־Connect, תקיעות ואי־שמירת סיכום הם דיווחי מוצר נפרדים, לא אבחון של קוד המאושפזים.

5. WSP, AI Flows, CWC ומאגרי הידע

WSP. התשתית המקורית מתועדת של שי, ולא של יוסף; טהר קיבל קרדיט על גרסה חדשה ב־2025. גיא החליף Redis ב־RabbitMQ ביוני 2025, ו־psync מתועד שלו. ליוסף תרומות timeout, תיקונים, הרשאות וההתאמות לצרכנים. בשביל Heating צריך להתאים את גרסת ה־package לשירות שמורם, את registration/subscription ואת בקשה/תשובה בתור. ב־13.10 ה־review של WSP עדיין היה תלות ל־SHOW ואתה הצעת לבצעו. צריך תוצאה ממשית של task, ולא רק container שעולה. רקע וגבולות.

AI Flows. זרימות YAML של nodes/modules, המשמשות managers ואת Playground. זה consumer של Wildfire ולכן שינוי execute או filters יכול לשבור אותו. ב־7.10 דווח 422 בפרוד; יוסף דיווח על החזרת חוזה execute הישן ו־hotfix, ורפאל דיווח שבטא ופרוד חזרו לעבוד. זו התאוששות מדווחת מאירוע מסוים; אינה אישור לשינויים הבאים. המערכת.

CWC. ממשק נפרד ממנוע Alice. ב־13.10 [95:42–145:53] ההדרכה המקומית כללה Compose, NGINX, config ולוגים. נמצא README שמפנה לנתיב Alice שאינו קיים במאגר CWC; ניסיון reset רשת לא פתר את המקרה. אחר כך התברר שהקונפיגורציה פונה למנוע מקומי שאינו מורם, וניסיון בטא עדיין הגיע ל־read timeout. ב־14.10 נשאר גם חסם package בדרך לפרוד. אין כאן הוראת הרצה שעברה בדיקה. יוסף תיאר את תרומתו ב־CWC בסטרימינג, דיבור ופרונט, ופחות עבודה לאחרונה בבקאנד. מצב CWC.

AI-Docs ו־SQL investigations. גיא זיהה את עצמו כיוצר ai-docs ב־22.7.2025; יוסף מתחזק ומרחיב מיפויים ותיעוד, לרבות Chameleon. sql-investigations מתועד כמאגר אישי של יוסף לחקירות Chameleon, MetaVision ו־QFlow. ב־13.10 הוצגו DBs, טבלאות ודוגמאות, אבל יוסף אמר שהסקילים עוד בעשייה. להשתמש בתיעוד כמפת כניסה ולהצליב schema וקוד; אין להציג את החבילה כולה כממוזגת. תשתית ותיעוד, מקור יצירת AI-Docs.

הרצה ומסירה שאפשר לבדוק

אין בחומר שנגיש כעת פקודת build/run עכשווית ומאומתת לכל אחד מהמאגרים. העותק המקומי legacy/sheba/Project K/wildfire מצביע על commit c184c11 מ־23.4.2025; יש בו src/backend, src/fhir_backend, src/frontend, Dockerfiles, charts ו־argocd. ב־dev.Dockerfile של backend מופיע python -m backend, אבל README מערב שמות של שירותים אחרים. זה תיעוד היסטורי, לא דרך להרים את Rosetta של אוקטובר. עותק WSP המקומי אינו checkout עצמאי: היסטוריית Git שהוא יורש היא של תיקיית האב, ולכן אינה היסטוריית WSP.

השלמת המסירה המעשית — הצעה: לכל מאגר שנוגעים בו לרשום remote, ענף מקור/יעד ו־SHA, את ה־MR התלוי ואת בעל הסקירה. מתוך אותו ענף לקחת את קובץ Compose, שמות השירותים, Dockerfiles, config הנדרש וגרסאות packages; לזהות במפורש אם Alice/Wildfire/WSP מקומיים או מרוחקים. להרים רק את המסלול שנבדק ואת תלויותיו. פרטי גישה נשארים במנגנון הצוות ולא במסמך.

מבחן ראשון משותף: רשימת מאושפזים במחלקה → load למטופל → snapshot/events → refresh עם מידע חדש → תוצאה ב־Alice. מולו להריץ את שתי בדיקות ההשוואה לעיל. אחרי כן לבדוק מטופל שלא מתחמם, cleanup, כשל מקור והתאוששות, ולוודא ש־Studio וצרכן קיים ממשיכים לקבל תוצאה. רק אז לקדם מסקנה על קבלת המסירה; סקירת MR או קונטיינר פעיל אינם תחליף.

מקורות למסירה והשלמה הבאה

להשלמת המסירה: לזהות את קוד המקור שנמסר, להוסיף ענפים ופקודות מהקוד העכשווי, ולהכריע את שאלות התכנון והקבלה הפתוחות משיחת השעון. חלוקת העבודה נשארת זו המתועדת לעיל.