feat(operations-ui): BURST toggle + deadline dialog for the halacha drain #238

Merged
chaim merged 1 commits from worktree-halacha-burst-ops into main 2026-06-12 11:47:09 +00:00
Owner

מה

ה-UI לבקרת ה-burst ב-/operations — מימוש ה-mockup שאושר ב-Claude Design (02b-operations-burst.html).

  • כפתור-זהב יחיד ⚡ הפעל BURST בשורת legal-halacha-drain → פותח דיאלוג בחירת-מועד (datetime-local, ברירת-מחדל שבת 18:00 הקרובה, chips: שבת 18:00 / עוד 5 שעות / חצות).
  • כשפעיל: תגית-זהב ⚡ BURST · עד <מועד> + כפתור עצור BURST.
  • הפעלה ידנית בלבד; הערת "≤15 דק׳ לתוקף".

קבצים

  • operations.ts: burst_until ב-OpsService + hook useDrainBurst (POST …/burst).
  • page.tsx: רכיב BurstControl, מגודר ל-legal-halacha-drain.
  • types.ts: רוענן (npm run api:types) — ה-route החדש (+63/-0, אפס drift).

איכות

  • tsc --noEmit נקי · eslint נקי (exit 0). active נגזר מנוכחות burst_until (המתזמר מנקה אותו במועד; snapshot מרענן כל 5ש') — בלי Date.now() טמא ב-render.
  • שער-העיצוב: עבר אישור Claude Design (כלל-הברזל, web-ui/AGENTS.md).

Invariants

G1/G2 — בקרה יחידה מגובת-DB (drain_controls.burst_until), משותפת עם המתזמר במארח; אין מסלול מקביל.

🤖 Generated with Claude Code

## מה ה-UI לבקרת ה-burst ב-/operations — מימוש ה-mockup שאושר ב-Claude Design (`02b-operations-burst.html`). - כפתור-זהב יחיד **`⚡ הפעל BURST`** בשורת `legal-halacha-drain` → פותח דיאלוג בחירת-מועד (`datetime-local`, ברירת-מחדל שבת 18:00 הקרובה, chips: שבת 18:00 / עוד 5 שעות / חצות). - כשפעיל: תגית-זהב `⚡ BURST · עד <מועד>` + כפתור **`עצור BURST`**. - הפעלה ידנית בלבד; הערת "≤15 דק׳ לתוקף". ## קבצים - `operations.ts`: `burst_until` ב-`OpsService` + hook `useDrainBurst` (POST `…/burst`). - `page.tsx`: רכיב `BurstControl`, מגודר ל-`legal-halacha-drain`. - `types.ts`: רוענן (`npm run api:types`) — ה-route החדש (+63/-0, אפס drift). ## איכות - `tsc --noEmit` נקי · `eslint` נקי (exit 0). active נגזר מנוכחות `burst_until` (המתזמר מנקה אותו במועד; snapshot מרענן כל 5ש') — בלי `Date.now()` טמא ב-render. - שער-העיצוב: עבר אישור Claude Design (כלל-הברזל, web-ui/AGENTS.md). ## Invariants G1/G2 — בקרה יחידה מגובת-DB (`drain_controls.burst_until`), משותפת עם המתזמר במארח; אין מסלול מקביל. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-12 11:47:02 +00:00
feat(operations-ui): BURST toggle + deadline dialog for the halacha drain (#133)
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 7s
9154a1d817
Implements the chair-approved Claude Design mockup (02b-operations-burst): a single
gold " הפעל BURST" button on the legal-halacha-drain row that opens a deadline
dialog (datetime-local, default the upcoming Saturday 18:00, quick chips for Sat
18:00 / +5h / midnight). While a burst is active the row shows a gold pill with the
deadline + an "עצור BURST" stop button. Manual only.

- operations.ts: burst_until on OpsService + useDrainBurst hook (POST .../burst).
- page.tsx: BurstControl component, gated to legal-halacha-drain.
- types.ts: regenerated (npm run api:types) — the new burst route.

Active-state is derived from burst_until presence (the supervisor NULLs it at the
deadline, snapshot refetches every 5s) — no impure Date.now() in render.

Invariants: G1/G2 — single DB-backed control (drain_controls.burst_until), shared
with the host supervisor; no parallel path. UI passed the Claude Design gate.
chaim merged commit 81aa2ac368 into main 2026-06-12 11:47:09 +00:00
chaim deleted branch worktree-halacha-burst-ops 2026-06-12 11:47:10 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ezer-mishpati/legal-ai#238