fix(ui): תרגום עברית לסטטוסי-תיק in_progress + qa_failed #223

Merged
chaim merged 1 commits from worktree-status-i18n into main 2026-06-12 06:58:08 +00:00
Owner

הבעיה

ב-StatusBadge הוצג סטטוס גולמי באנגלית (למשל in_progress) כשהשרת פולט סטטוס שאינו במפת-התוויות. הטיפוס CaseStatus ב-web-ui החסיר שני סטטוסים שהשרת אכן פולט:

  • in_progress — נקבע ב-workflow.set_outcome (cases.py מתעד new/in_progress/drafted/reviewed/final)
  • qa_failed — human-gate ב-app.py

לכן נפלו ל-fallback STATUS_LABELS[status] ?? status → אנגלית גולמית. (חיים ראה זאת על תיק 8174.)

התיקון (יישור frontend↔backend — חוזה X6 UI↔API)

  • lib/api/cases.ts — הוספת "in_progress" ו-"qa_failed" ל-CaseStatus.
  • status-badge.tsx — 4 מפות Record<CaseStatus>:
    • LABELS: בעבודה / בדיקת איכות נכשלה
    • ICONS: Hammer / AlertTriangle
    • DESCRIPTIONS + TONE (warn / danger)
  • status-donut.tsxGROUP_OF: in_progress→intake, qa_failed→writing.

בדיקות

  • tsc --noEmit עובר נקי (כולל אכיפת השלמת כל מפות Record<CaseStatus>).
  • ללא שינוי-עיצוב ויזואלי (תיקון תוכן/i18n ברכיב קיים) → חוסה תחת החריג המפורש בשער-העיצוב ב-web-ui/AGENTS.md.

Invariants

  • מקיים X6 (UI↔API contract — הטיפוס תואם לסטטוסי-השרת).
  • לא G2 (אין מסלול מקביל), מתקן את מקור-הדריפט בטיפוס ולא תסמין-בקריאה.

🤖 Generated with Claude Code

## הבעיה ב-`StatusBadge` הוצג סטטוס גולמי באנגלית (למשל `in_progress`) כשהשרת פולט סטטוס שאינו במפת-התוויות. הטיפוס `CaseStatus` ב-web-ui החסיר שני סטטוסים שהשרת אכן פולט: - `in_progress` — נקבע ב-`workflow.set_outcome` (cases.py מתעד new/in_progress/drafted/reviewed/final) - `qa_failed` — human-gate ב-`app.py` לכן נפלו ל-fallback `STATUS_LABELS[status] ?? status` → אנגלית גולמית. (חיים ראה זאת על תיק 8174.) ## התיקון (יישור frontend↔backend — חוזה X6 UI↔API) - **`lib/api/cases.ts`** — הוספת `"in_progress"` ו-`"qa_failed"` ל-`CaseStatus`. - **`status-badge.tsx`** — 4 מפות `Record<CaseStatus>`: - LABELS: `בעבודה` / `בדיקת איכות נכשלה` - ICONS: `Hammer` / `AlertTriangle` - DESCRIPTIONS + TONE (warn / danger) - **`status-donut.tsx`** — `GROUP_OF`: `in_progress→intake`, `qa_failed→writing`. ## בדיקות - `tsc --noEmit` עובר נקי (כולל אכיפת השלמת כל מפות `Record<CaseStatus>`). - ללא שינוי-עיצוב ויזואלי (תיקון תוכן/i18n ברכיב קיים) → חוסה תחת החריג המפורש בשער-העיצוב ב-`web-ui/AGENTS.md`. ## Invariants - **מקיים X6** (UI↔API contract — הטיפוס תואם לסטטוסי-השרת). - לא G2 (אין מסלול מקביל), מתקן את מקור-הדריפט בטיפוס ולא תסמין-בקריאה. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chaim added 1 commit 2026-06-12 06:57:56 +00:00
fix(ui): תרגום עברית לסטטוסי-תיק in_progress + qa_failed
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 5s
6fba565fcb
הבאג: ה-StatusBadge מציג מחרוזת גולמית באנגלית ("in_progress") כשהשרת
פולט סטטוס שאינו במפת-התוויות. CaseStatus ב-web-ui החסיר שני סטטוסים
שהשרת אכן פולט — in_progress (workflow.set_outcome) ו-qa_failed
(app.py human-gate) — ולכן נפלו ל-fallback `?? status` (אנגלית גולמית).

התיקון (יישור frontend↔backend SoT, X6 UI-API contract):
- CaseStatus type: הוספת "in_progress" + "qa_failed".
- status-badge.tsx: 4 מפות Record<CaseStatus> — LABELS (בעבודה / בדיקת
  איכות נכשלה), ICONS (Hammer / AlertTriangle), DESCRIPTIONS, TONE
  (warn / danger).
- status-donut.tsx: GROUP_OF — in_progress→intake, qa_failed→writing.

ללא שינוי-עיצוב ויזואלי (תיקון-תוכן/i18n של רכיב קיים) → חוסה תחת
החריג המפורש בשער-העיצוב ב-web-ui/AGENTS.md.

invariants: מקיים X6 (UI↔API contract — הטיפוס תואם לסטטוסי-השרת);
לא G2 (אין מסלול מקביל), לא G1-symptom (מתקן את מקור-הדריפט בטיפוס).
tsc --noEmit עובר נקי.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chaim merged commit 305c084d0c into main 2026-06-12 06:58:08 +00:00
chaim deleted branch worktree-status-i18n 2026-06-12 06:58:08 +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#223