4b01283e3bde45ea3c75b808f650f06543ca6e6a
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 12s
אודיט #122 חשף שלקחי-הפאנל (decision_lessons) זרמו לכותב אוטומטית (block_writer → get_recent_decision_lessons) ללא סינון-אישור — הפאנל כתב, והכותב צרך מיד, בעקיפת שער-היו"ר (INV-LRN1/G10). מנגד, מה שהיו"ר אישר ב-promote הלך לערוץ נפרד (appeal_type_rules). תוצאה: דליפה — תוכן לא-מאושר השפיע על הכתיבה. התיקון — שער-אישור מפורש: - עמודת review_status (proposed|approved|rejected) ל-decision_lessons (SCHEMA_V34). - get_recent_decision_lessons (צרכן-הכותב) מחזיר רק review_status='approved'. - הפאנל (style_lesson_panel) כותב 'proposed' (ברירת-מחדל) → לא זורם עד אישור. - לקח שהיו"ר מקליד ידנית ב-/training = 'approved' מיידית (מדלג על שער-ההצעה). - UI (lessons-tab, טאב "קורפוס" ב-/training): תג-סטטוס + כפתורי אשר/דחה/בטל-אישור. הכרעת-יו"ר (2026-06-11): כל הלקחים שקדמו לשער (41) מתאפסים ל-'proposed' — שום לקח לא זורם עד אישור מפורש (ברירת-המחדל של העמודה מיישמת זאת על הקיימים). Invariants: - INV-LRN1 / G10 (מקיים) — עדכון-ידע לערוץ-הכותב דורש אישור-יו"ר מפורש; אין auto-commit. - INV-LRN5 (נשמר) — substance ממילא מסונן בפאנל; השער הוא על style_method בלבד. - G1 (מקיים) — סינון-במקור (get_recent) ולא תיקון-בקריאה אצל הכותב. - G2 (מקיים) — אותו פנקס decision_lessons; אין מסלול מקביל. api:types: להריץ npm run api:types אחרי deploy (review_status נוסף ל-payload; הטיפוסים הידניים ב-training.ts כבר מעודכנים, tsc עובר). ref: #122 · #126 · data/audit/learning-loop-activity-20260611.md Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Description
AI Legal Decision Drafting System — MCP server, web upload, RAG search
Languages
Python
64.1%
TypeScript
33.4%
JavaScript
1.3%
Shell
0.8%
CSS
0.3%
Other
0.1%