feat(ia): IA גל-3 — ניווט מבוסס-משימה + קידוד X17 ל-canonical (#132, X17)
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 5s
All checks were successful
G12 Leak-Guard / leak-guard (pull_request) Successful in 5s
גל-3 (האחרון) מבקלוג #127 — ניווט (INV-IA4) + השלמת קידוד-הספ. שינויי-UI קלים + docs. א) הורדת /feedback מהניווט-הראשי (INV-IA4): "הערות יו״ר" ירד מ-WORK_LINKS. הוא משימה *מתוך* מרכז-האישורים — כרטיס chair_feedback ב-/api/chair/pending כבר deep-link ל-/feedback. הדף קיים ונגיש מהתיבה, לא יעד-ניווט מבוסס-פורמט. ב) שמות-חיפוש עקביים (PRE-1, INV-IA6): ה-typeahead ב-precedent-attacher (חיפוש /api/precedents/search = פסיקה שכבר צורפה) קיבל כותרת מבהירה "פסיקה שכבר צירפת בעבר — לחץ למילוי אוטומטי", להבדילו מחיפוש-הקורפוס ב-/precedents (precedent-library). ג) קידוד X17 ל-canonical: X17 נוסף לאינדקס-הספ ב-00-constitution §7 (טבלה + "X1–X17"), ול-CLAUDE.md (טבלת מסמכי-ייחוס, שורת ia-audit-redesign+X17). דלתות-הספ (X6 INV-UI7/8, 07-learning §0.4, 00-constitution G2) כבר קודדו בגל-2. בדיקות: tsc --noEmit ✓ · eslint ✓ (לבד מ-learning-panel:109 קיים-מראש). אין שינויי-backend. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -39,10 +39,13 @@ type NavItem = { href: string; label: string; groupLabel?: string };
|
||||
type NavMenuDef = { id: string; label: string; items: NavItem[] };
|
||||
|
||||
// Work cluster — direct links, the daily hubs.
|
||||
// INV-IA4 (#132): "הערות יו״ר" (/feedback) dropped from the primary nav — it's a
|
||||
// task surfaced *inside* מרכז אישורים (the chair_feedback card in /api/chair/pending
|
||||
// deep-links to /feedback), not a top-level format-based destination. The page
|
||||
// still exists and is reached from the approvals box.
|
||||
const WORK_LINKS: NavItem[] = [
|
||||
{ href: "/", label: "בית" },
|
||||
{ href: "/approvals", label: "מרכז אישורים" },
|
||||
{ href: "/feedback", label: "הערות יו״ר" },
|
||||
{ href: "/archive", label: "ארכיון" },
|
||||
];
|
||||
|
||||
|
||||
@@ -127,13 +127,17 @@ export function PrecedentAttacher({
|
||||
className="mt-1"
|
||||
/>
|
||||
{!picked && library.data && library.data.length > 0 && citation.length >= 2 && (
|
||||
<ul
|
||||
className="
|
||||
mt-1 rounded border border-rule bg-surface shadow-sm
|
||||
max-h-44 overflow-y-auto divide-y divide-rule
|
||||
"
|
||||
role="listbox"
|
||||
>
|
||||
<div className="mt-1 rounded border border-rule bg-surface shadow-sm overflow-hidden">
|
||||
{/* PRE-1 (INV-IA6): this typeahead reuses precedents you already
|
||||
attached to past cases — distinct from the corpus search in
|
||||
/precedents (ספריית הפסיקה). Label it so the two don't blur. */}
|
||||
<p className="px-3 py-1.5 text-[0.68rem] text-ink-muted bg-rule-soft/40 border-b border-rule">
|
||||
פסיקה שכבר צירפת בעבר — לחץ למילוי אוטומטי
|
||||
</p>
|
||||
<ul
|
||||
className="max-h-44 overflow-y-auto divide-y divide-rule"
|
||||
role="listbox"
|
||||
>
|
||||
{library.data.map((m) => (
|
||||
<li key={m.id}>
|
||||
<button
|
||||
@@ -155,7 +159,8 @@ export function PrecedentAttacher({
|
||||
</button>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user