Chaim
4ac661b0a6
G12 Leak-Guard / leak-guard (pull_request) Successful in 5s
Lint — undefined names / undefined-names (pull_request) Successful in 11s
feat(halacha): עצירה-רכה של הדריינר בסף-ניצול + מקור-אמת יחיד למכסה
בהגיע סף-רך (5-שעות ≥75% / שבועי ≥65%) הדריינר מסיים את התיק שרץ ועוצר
לבד בין תיקים (===STOP===) — במקום שהסופרוויזר יקטול אותו ב-pm2 stop באמצע
חילוץ. ב-75% יש מכסה לסיים את התיק; הקטילה נשמרת רק ל-429 טרי אמיתי.
- חדש legal_mcp/services/usage_limits.py (stdlib-only): מקור-אמת יחיד —
subscription_usage / USAGE_CEILINGS / ceiling_status. מיובא גם מ-system-python
(supervisor) וגם מה-venv (drain). __init__ ריקים → import בטוח מחוץ ל-venv.
- supervisor: מייבא מהמודול (הסרת ההעתקים המקומיים, ~50 שורות פחות);
quota_exhausted/quota_available הפכו wrappers דקים; ענף cooldown — קטילה
(hold-stopped) רק אם log_rl (429 טרי), אחרת hold-soft בלי pm2 stop.
- drain: limit=4→1 (בדיקת-סף בין כל תיק); שער-סף ב-run_in_executor, fail-OPEN
כש-endpoint None (הסופרוויזר מגבה ב-429-kill); שמירת קצב 30ש' בין תיקים
(pl.INTER_PRECEDENT_COOLDOWN_SEC — limit=1 ביטל את המרווח הפנימי-לסבב).
- SCRIPTS.md עודכן (limit=1, שער-סף, hold-soft, מקור-אמת משותף).
אומת end-to-end (endpoint חי): (1) drain עם סף מורד → ===STOP=== usage ceiling
בלי לעבד תיק; (2) supervisor status=online+סף-רך → action=hold-soft, stop_drain
נקרא 0; (3) 429 טרי → hold-stopped, stop_drain נקרא 1. py_compile עובר.
court_fetch_service/usage_status (העתק שלישי, async/aiohttp, רגיש-דיפלוי) נדחה
במכוון לאיחוד-עתידי — לא נוגעים בגשר-המארח כאן.
Invariants: G1 (נרמול-במקור — endpoint יחיד), G2 (אין מסלול-בקרה מקביל — מודול
משותף יחיד, drain+supervisor קוראים אותו דבר), X16 (עמידות — עצירה לפני 429
מונעת חילוץ-מחדש משחית). G12 לא רלוונטי.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 04:11:09 +00:00
..
2026-05-10 05:58:52 +00:00
2026-06-10 09:52:35 +00:00
2026-05-31 18:42:13 +00:00
2026-06-13 11:28:16 +00:00
2026-06-12 07:25:54 +00:00
2026-05-27 10:06:22 +00:00
2026-04-14 15:28:16 +00:00
2026-05-03 20:04:33 +00:00
2026-05-26 08:34:40 +00:00
2026-06-08 06:53:31 +00:00
2026-05-26 11:26:52 +00:00
2026-06-06 19:45:43 +00:00
2026-06-14 13:46:26 +00:00
2026-06-15 03:37:53 +00:00
2026-06-06 18:10:01 +00:00
2026-04-03 10:21:47 +00:00
2026-04-09 16:45:49 +00:00
2026-06-06 19:55:45 +00:00
2026-06-14 09:58:45 +00:00
2026-05-26 11:26:52 +00:00
2026-04-16 18:49:10 +00:00
2026-06-08 11:59:21 +00:00
2026-04-16 18:49:30 +00:00
2026-06-08 08:57:23 +00:00
2026-06-08 08:57:23 +00:00
2026-06-15 04:11:09 +00:00
2026-06-08 08:57:23 +00:00
2026-05-31 14:58:13 +00:00
2026-05-31 14:58:13 +00:00
2026-06-12 10:31:56 +00:00
2026-06-12 10:50:12 +00:00
2026-06-15 03:21:10 +00:00
2026-05-04 17:47:05 +00:00
2026-05-31 08:57:42 +00:00
2026-05-31 14:12:45 +00:00
2026-06-07 18:18:41 +00:00
2026-06-07 20:12:58 +00:00
2026-06-11 16:13:24 +00:00
2026-06-06 21:29:46 +00:00
2026-06-15 04:11:09 +00:00
2026-06-06 19:55:45 +00:00
2026-06-12 04:22:48 +00:00
2026-06-08 05:01:03 +00:00
2026-06-12 07:19:48 +00:00
2026-06-12 06:59:34 +00:00
2026-06-07 18:18:41 +00:00
2026-06-08 08:07:45 +00:00
2026-06-07 20:33:18 +00:00
2026-06-10 09:40:42 +00:00
2026-06-07 21:04:44 +00:00
2026-06-07 20:31:53 +00:00
2026-06-07 21:04:44 +00:00
2026-06-13 08:08:19 +00:00
2026-06-13 08:08:19 +00:00
2026-06-13 08:08:19 +00:00
2026-06-08 05:13:49 +00:00
2026-06-07 19:43:53 +00:00
2026-06-13 11:28:16 +00:00
2026-06-11 17:48:38 +00:00
2026-06-06 15:34:49 +00:00
2026-05-26 11:26:52 +00:00
2026-05-03 19:24:52 +00:00
2026-06-11 16:50:50 +00:00
2026-06-06 19:45:43 +00:00
2026-04-14 15:55:55 +00:00
2026-05-04 17:25:45 +00:00
2026-05-26 09:34:23 +00:00
2026-06-07 19:43:53 +00:00
2026-06-03 07:55:42 +00:00
2026-06-11 22:09:38 +00:00
2026-05-03 16:43:48 +00:00
2026-06-12 06:24:10 +00:00
2026-04-03 10:21:47 +00:00
2026-04-16 18:49:30 +00:00
2026-06-15 04:11:09 +00:00
2026-06-10 09:40:42 +00:00
2026-06-11 19:57:12 +00:00
2026-06-08 10:57:57 +00:00
2026-05-31 11:14:44 +00:00
2026-05-04 17:25:45 +00:00
2026-05-30 11:26:19 +00:00
2026-05-26 09:17:33 +00:00
2026-05-03 18:43:41 +00:00
2026-05-03 18:43:41 +00:00
2026-05-03 18:43:41 +00:00
2026-05-03 18:43:41 +00:00
2026-05-03 18:43:41 +00:00