עלה בעבודה על PR #3502: הסוללה המלאה השאירה את data/ בשורש הריפו. מחוץ לתחום שלו, ולכן לא תוקן שם.
מה נבדק (main, 928addc)
remediation_manager.py#L72-L73: _DATA_DIR = os.path.join("data"), נתיב יחסי לתיקייה שהתהליך רץ ממנה. _write_incident (#L98-L104) מוסיף שורה ל-data/incidents_log.json.
predictive_engine.py#L73-L75: אותו דבר ל-data/predictions_log.json (הכתיבה ב-#L343).
monitoring/cleanup.py#L19-L21: עותק שלישי של אותו נתיב, Path("data").
.gitignore#L23-L24: שני הקבצים מוחרגים מגיט. כלומר התסמין הוסתר, והשורש נשאר.
- רק שלושה קבצי טסט מפנים את הנתיבים לתיקייה זמנית:
test_predictive_engine.py, test_cleanup_module.py, test_predictions_cleanup_and_feedback.py.
- נמדד (30.09), כל קובץ לבד בעותק נקי של הריפו:
tests/test_predictive_actions.py יוצר את data/predictions_log.json בשורש. תשעת קבצי הטסט האחרים שמייבאים את המודולים האלה לא יצרו קבצים כשרצו לבד.
למה זה חשוב
CLAUDE.md: "כל קלט/פלט בטסטים ב-tmp_path. לא כותבים ולא מוחקים בשורש הפרויקט".
- הקבצים מצטברים בין הרצות (JSONL שנפתח ב-
"a"), ולכן טסט שקורא אותם יכול לראות נתונים מהרצה קודמת. זו תלות בסדר ובהיסטוריה.
- בייצור, מיקום הקבצים תלוי בתיקייה שממנה השירות עלה.
כיוון לתיקון (לא החלטה — לדיון)
- מקור אחד לתיקיית הנתונים (היום יש שלושה עותקים, R6), שנקרא בזמן הכתיבה ולא בזמן import, עם ברירת מחדל שאינה תלויה ב-cwd.
- פיקסצ'ר
autouse ב-tests/conftest.py שמפנה אותה ל-tmp_path בכל טסט. אז שלוש ההפניות הנקודתיות מיותרות.
- לשקול להסיר אחר כך את שתי השורות מ-
.gitignore, כדי שקובץ שיופיע שוב ייראה ב-git status.
עלה בעבודה על PR #3502: הסוללה המלאה השאירה את
data/בשורש הריפו. מחוץ לתחום שלו, ולכן לא תוקן שם.מה נבדק (main,
928addc)remediation_manager.py#L72-L73:_DATA_DIR = os.path.join("data"), נתיב יחסי לתיקייה שהתהליך רץ ממנה._write_incident(#L98-L104) מוסיף שורה ל-data/incidents_log.json.predictive_engine.py#L73-L75: אותו דבר ל-data/predictions_log.json(הכתיבה ב-#L343).monitoring/cleanup.py#L19-L21: עותק שלישי של אותו נתיב,Path("data")..gitignore#L23-L24: שני הקבצים מוחרגים מגיט. כלומר התסמין הוסתר, והשורש נשאר.test_predictive_engine.py,test_cleanup_module.py,test_predictions_cleanup_and_feedback.py.tests/test_predictive_actions.pyיוצר אתdata/predictions_log.jsonבשורש. תשעת קבצי הטסט האחרים שמייבאים את המודולים האלה לא יצרו קבצים כשרצו לבד.למה זה חשוב
CLAUDE.md: "כל קלט/פלט בטסטים ב-tmp_path. לא כותבים ולא מוחקים בשורש הפרויקט"."a"), ולכן טסט שקורא אותם יכול לראות נתונים מהרצה קודמת. זו תלות בסדר ובהיסטוריה.כיוון לתיקון (לא החלטה — לדיון)
autouseב-tests/conftest.pyשמפנה אותה ל-tmp_pathבכל טסט. אז שלוש ההפניות הנקודתיות מיותרות..gitignore, כדי שקובץ שיופיע שוב ייראה ב-git status.