fix(halacha): fresh CLI 429 is ground truth over the usage endpoint (rate-limit churn) #257
Reference in New Issue
Block a user
Delete Branch "worktree-halacha-ratelimit-groundtruth"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
הבעיה (נצפתה הלילה 2026-06-15)
PR #251 הפך את endpoint-המכסה ל-PRIMARY ואת לוג-ה-429 ל-fallback (רק כש-endpoint למטה). הלילה: ה-endpoint דיווח על החלון <100% (פנוי) בעוד ה-
claudeCLI המשיך לקבל 429 ("session limit"). המתזמר קראrate_limited=false, סיווגhung, ועשה restart-churn — חילץ-מחדש פסיקה שכבר הושלמה תחת ה-rate-limit ודרדר אותה (למשל4624/21ירד 3→1 הלכות, רק 4/18 chunks).delta_doneשלילי (תיקים-שהושלמו חוזרים אחורה).התיקון — 429-טרי הוא ground truth
DEFAULT_COOLDOWN_MIN=30כש-429-טרי בלי reset-מנותח.בזמן מוגבל הדריינר נעצר (בלי הלמת-429, בלי דרדור תיקים-שהושלמו) ומצית-מחדש רק כשהמכסה חזרה וגם אין 429-טרי.
בדיקות
8 unit-tests על מטריצת-ההחלטה (endpoint × 429 × stored-cooldown), כולל תרחיש-הלילה המדויק וה-veto.
py_compileנקי.מיטיגציה מיידית (כבר בוצעה)
הדריינר נעצר + הושבת (
drain_controls.disabled+pm2 stop) כדי לעצור את הדרדור עד שה-deploy ייכנס.Invariants
G1 (תיקון-במקור — לסמוך על הקריאה הכושלת, לא על endpoint מפגר) · G2 (אותו cooldown, בלי מסלול מקביל). נבנה על PR #251.
🤖 Generated with Claude Code