feat(sync): שחרור in_review מ-NON_WRITABLE_STATUSES — הכרעת-יו"ר שיטתית (legal-ai #626) #10

Merged
chaim merged 1 commits from feat/626-non-writable-in-review into main 2026-08-26 10:36:55 +00:00
Owner

מה ולמה

הסרת "in_review" מ-NON_WRITABLE_STATUSES בג'וב sync-case-status — מימוש הכרעת-יו"ר
מפורשת ב-legal-ai#626:
חיים נשאל במפורש אם השחרור של issues תקועים ב-in_review הוא נקודתי (שלושת התיקים שהניעו
את השאלה) או שיטתי (שינוי הכלל), והשיב "התכוונתי לשיטתי".

"blocked" נשאר ב-Set — כתיבה עליו מסתירה חוסם קיים, שאלה נפרדת שלא נשאלה.

מה משתנה בפועל

  • src/sync-target.ts: NON_WRITABLE_STATUSES = Set(["blocked"]) (היה ["in_review", "blocked"]).
    ה-JSDoc מעל עודכן — הוא היה מתעד את הסיבה ל-in_review בסט; עכשיו הוא מתעד את ההכרעה
    להסירו, המחיר (issue שממתין ליו"ר עשוי להידרס בריצת-הסנכרון הבאה ולרדת מתור-הביקורת),
    ומסלול-החזרה.
  • src/sync-target.test.ts: הטסט הקיים "שורש יחיד ב-in_review: לא נכתב" הפך כדי לשקף את
    ההתנהגות החדשה (in_review כן נבחר), ולא הוכפל. נוסף טסט ל-isWritableStatus על שלושת
    הערכים (in_review→true, blocked→false, done→false).

CLOSED_ISSUE_STATUSES (done/cancelled) לא נגעו — אין נסיגה לבאג #446.

פריסה

npm run build בעץ הראשי (לא ב-worktree) → הותקן ל-שני המקומות: /home/chaim/plugin-legal-ai
(נתיב-הטעינה החי בפועל — plugins.package_path בקונפיג של Paperclip, לא /data/paperclip/...
כפי שגוף ה-issue הניח) וגם /data/paperclip/plugins/node_modules/@marcusgroup/plugin-legal-ai/
pm2 restart paperclip (10:17:42 UTC, פלאגין נטען 10:17:55). אומת חי דרך import של
dist/sync-target.js מנתיב-הטעינה: NON_WRITABLE=['blocked'], isWritableStatus('in_review')=true.

⚠️ ממצא נלווה, לא בטיפול כאן: הג'וב sync-case-status נכשל כרגע בכל ריצה על שלב מוקדם
יותר (fetch failed ל-legalApiBaseUrl שלא נפתר) — נפתח legal-ai#637
בנפרד. כלומר עד שהתקלה הזו תיפתר, ההכרעה כאן נכונה בקוד אך לא תיצור עדיין שינוי סטטוסים
בפועל בייצור.

Refs legal-ai#626 (Closes חוצה-ריפו לא נתמך ב-Gitea; ה-issue ייסגר ידנית אחרי מיזוג שני ה-PRים
— זה ו-legal-ai#638).

אימות

npx tsc --noEmit → נקי. node --test src/sync-target.test.ts → 16/16 עברו. npx biome check src/ → נקי.

## מה ולמה הסרת `"in_review"` מ-`NON_WRITABLE_STATUSES` בג'וב `sync-case-status` — מימוש הכרעת-יו"ר מפורשת ב-[legal-ai#626](https://gitea.nautilus.marcusgroup.org/ezer-mishpati/legal-ai/issues/626): חיים נשאל במפורש אם השחרור של issues תקועים ב-`in_review` הוא נקודתי (שלושת התיקים שהניעו את השאלה) או שיטתי (שינוי הכלל), והשיב **"התכוונתי לשיטתי"**. `"blocked"` **נשאר** ב-Set — כתיבה עליו מסתירה חוסם קיים, שאלה נפרדת שלא נשאלה. ## מה משתנה בפועל - `src/sync-target.ts`: `NON_WRITABLE_STATUSES = Set(["blocked"])` (היה `["in_review", "blocked"]`). ה-JSDoc מעל עודכן — הוא היה מתעד את הסיבה ל-`in_review` בסט; עכשיו הוא מתעד את ההכרעה להסירו, המחיר (issue שממתין ליו"ר עשוי להידרס בריצת-הסנכרון הבאה ולרדת מתור-הביקורת), ומסלול-החזרה. - `src/sync-target.test.ts`: הטסט הקיים "שורש יחיד ב-in_review: לא נכתב" הפך כדי לשקף את ההתנהגות החדשה (in_review כן נבחר), ולא הוכפל. נוסף טסט ל-`isWritableStatus` על שלושת הערכים (`in_review`→true, `blocked`→false, `done`→false). `CLOSED_ISSUE_STATUSES` (`done`/`cancelled`) **לא נגעו** — אין נסיגה לבאג #446. ## פריסה `npm run build` בעץ הראשי (לא ב-worktree) → הותקן ל-**שני** המקומות: `/home/chaim/plugin-legal-ai` (נתיב-הטעינה החי בפועל — `plugins.package_path` בקונפיג של Paperclip, לא `/data/paperclip/...` כפי שגוף ה-issue הניח) וגם `/data/paperclip/plugins/node_modules/@marcusgroup/plugin-legal-ai/` → `pm2 restart paperclip` (10:17:42 UTC, פלאגין נטען 10:17:55). אומת חי דרך import של `dist/sync-target.js` מנתיב-הטעינה: `NON_WRITABLE=['blocked']`, `isWritableStatus('in_review')=true`. ⚠️ **ממצא נלווה, לא בטיפול כאן:** הג'וב `sync-case-status` נכשל כרגע בכל ריצה על שלב מוקדם יותר (`fetch failed` ל-`legalApiBaseUrl` שלא נפתר) — נפתח [legal-ai#637](https://gitea.nautilus.marcusgroup.org/ezer-mishpati/legal-ai/issues/637) בנפרד. כלומר עד שהתקלה הזו תיפתר, ההכרעה כאן נכונה בקוד אך לא תיצור עדיין שינוי סטטוסים בפועל בייצור. Refs legal-ai#626 (Closes חוצה-ריפו לא נתמך ב-Gitea; ה-issue ייסגר ידנית אחרי מיזוג שני ה-PRים — זה ו-legal-ai#638). ## אימות `npx tsc --noEmit` → נקי. `node --test src/sync-target.test.ts` → 16/16 עברו. `npx biome check src/` → נקי.
chaim added 1 commit 2026-08-26 10:36:31 +00:00
הג'וב sync-case-status יכתוב מעתה גם על שורש-issue ב-in_review. blocked
ו-CLOSED_ISSUE_STATUSES (done/cancelled — הגנת #446) נותרים כפי שהם.
ההערה מעל הסט מתעדת את ההכרעה, את מחירה (issue ממתין-ליו"ר עשוי לרדת
מתור-הביקורת תוך 15 דק') ואת מסלול-החזרה.

Refs ezer-mishpati/legal-ai#626
chaim merged commit 41305fbb36 into main 2026-08-26 10:36:55 +00:00
chaim deleted branch feat/626-non-writable-in-review 2026-08-26 10:36:55 +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/plugin-legal-ai#10