feat(feedback): סימון "יושם" מפעיל CEO לקיפול הלקח לקובץ הנכון
סוגר את לולאת פידבק-יו"ר→ידע-סוכנים. עד כה resolve רק עדכן את ה-DB; עכשיו לחיצה ב-/feedback מעירה את ה-CEO שמקפל את הלקח לקובץ לפי הקטגוריה. - paperclip_client.py: wake_ceo_for_feedback_fold() — יוצר issue ב-Paperclip עם הלקח + rubric ניתוב (style→SKILL.md, wrong_structure→block-schema, אחר→lessons.md), מעיר CEO. משכפל את דפוס wake_for_precedent_extraction - db.py: get_chair_feedback(id) — שליפת הערה בודדת עם case_number/appeal_type - app.py: resolve endpoint מקבל fold (ברירת מחדל true); BackgroundTask fire-and-forget; guard — רק עם lesson_extracted. מחזיר fold_queued - legal-ceo.md: dispatch ל-feedback_fold_ + סעיף "קיפול הערת יו"ר" עם rubric - frontend: useResolveFeedback מקבל fold; /feedback שולח fold=true עם toast; drafts-panel שולח fold=false (bookkeeping per-case, בלי קיפול כפול) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -89,13 +89,17 @@ export function useResolveFeedback() {
|
||||
mutationFn: ({
|
||||
feedbackId,
|
||||
applied_to,
|
||||
fold,
|
||||
}: {
|
||||
feedbackId: string;
|
||||
applied_to: string[];
|
||||
/** When true (default server-side), wakes the CEO to fold the lesson
|
||||
* into the right knowledge file. Pass false for pure bookkeeping. */
|
||||
fold?: boolean;
|
||||
}) =>
|
||||
apiRequest<{ status: string }>(
|
||||
apiRequest<{ status: string; fold_queued: boolean }>(
|
||||
`/api/feedback/${feedbackId}/resolve`,
|
||||
{ method: "PATCH", body: { applied_to } },
|
||||
{ method: "PATCH", body: { applied_to, ...(fold === undefined ? {} : { fold }) } },
|
||||
),
|
||||
onSuccess: () => {
|
||||
qc.invalidateQueries({ queryKey: feedbackKeys.all });
|
||||
|
||||
Reference in New Issue
Block a user