fix(supervisor): re-probe claude.ai quota instead of blindly waiting for the reported reset #242
Reference in New Issue
Block a user
Delete Branch "worktree-supervisor-quota-probe"
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?
הבעיה (מה ש-chaim שאל: "למה זה לא חזר לעבוד מיד כשהמכסה התאפסה?")
כשהדריינר פגע ב-429, הסופרוייזר רשם את שעת-האיפוס שה-claude.ai דיווח (
"resets 6:50pm UTC") והמתין בעיוורון עד אותה שעה — קרא אותה מחדש מה-state בכל טיק בלי לבדוק אם המכסה כבר חזרה. claude.ai משחרר מכסה לרוב מוקדם מהמדווח, אז הדריינר ישב רדום שעות אחרי שכבר יכול היה לרוץ, ורק בעיטה ידנית (ניקוי cooldown + הצתה) החזירה אותו.התיקון
בכל טיק שבו היינו אחרת ב-
hold, להריץ בדיקת-מכסה חיה זולה (quota_available()→ קריאתclaude -pזעירה,cost≈0) ולהתחדש מיד כשהיא מצליחה — לכל היותר בדיקה אחת לטיק (כל 15 דק'), ורק כשאנחנו חושבים שאנחנו חסומים. שמרני בכישלון (exit≠0 / timeout / הודעת-מגבלה → נשאר ב-hold), כך שבדיקה תקולה לא מחזירה את הדריינר אל תוך 429 אמיתי. נוסףclaude_bin()שמאתר את ה-CLI גם כש-PATH ריק תחת pm2 cron.אימות
quota_available()נבדק בפועל → החזירTrue(תאם למציאות שהמכסה חזרה; ה-claudeאותר נכון).ast.parse.web/, אז אין deploy לקונטיינר; סנכרון לסקריפט ה-host יבוצע אחרי merge.Invariants
🤖 Generated with Claude Code