משיכת פרטי-תב"ע אוטומטית למרשם-התכניות (V38) + עיון בתכניות-מאושרות #442

Open
opened 2026-08-05 11:01:14 +00:00 by chaim · 0 comments
Owner

What & Why

מרחיב את מרשם-התכניות (V38, project_plans_registry): (A) UI לעיון+חיפוש בתכניות-מאושרות בדף /precedents טאב תכניות (backend כבר תומך ב-?review_status=&q=, חסר רק חוט-UI; דרך שער-עיצוב Claude Design). (B) משיכת פרטי-תב"ע אוטומטית ממקור-חיצוני בשני טריגרים: כפתור-ידני בטופס + העשרה-אוטו' בעת extract_plans. שני הטריגרים נכנסים pending_review (שער-יו"ר G10/INV-DM5; תוקף לא מומצא, כל ערך נושא source_url INV-AH).

ספייק-אימות (Phase B) הושלם 2026-06-17 — דוח: data/audit/plans-source-spike-2026-06-17.md. הכרעה: tabanow (תב"ע עכשיו) הוא מקור-ראשי — מחזיר נקי gazette_date+display_name+plan_type+purpose, scrape ישיר מהקונטיינר (בלי WAF/CAPTCHA → בלי גשר-מארח 8771, פשוט מ-X13). mavat חסום F5-ASM (דורש Camoufox-גשר, מאמץ גבוה, לא בארכיטקטורה כרגע). yalkut_number — אף מקור-חי לא חושף → נשאר השלמה-ידנית של היו"ר (follow-up: חילוץ י"פ מרשומות/ילקוט-הפרסומים לפי gazette_date). אופציונלי: backfill חד-פעמי מ-CKAN xplan2 לזריעת display_name/plan_type.

קבצים: web-ui plans.ts + plans-review-panel.tsx (Phase A+C3 כפתור); web/app.py /api/plans/fetch; mcp-server services/plans_fetch.py (חדש) + tools/plans.py (plan_fetch) + services/plans_extractor.py (העשרה ב-upsert_candidates). דפוס-מקור: court_fetch_orchestrator (אך בלי גשר). אומדן: A קטן, C בינוני.

הקשר ופירוט

--- עדכון 2026-06-17 (עריכה ישירה; update_task נחסם) ---
Phase A מוזג PR #289: סרגל-מצב ממתינים/מאושרות/כולן + חיפוש בטאב-תכניות (usePlansAll), PlanCard מסתעף לפי review_status עם 'החזר לתור'. עבר שער-עיצוב.
הכרעת-מקור Phase C (חיים): mavat דרך גשר-Camoufox — לא tabanow. בדיקת-Camoufox הוכיחה: החסימה=F5-ASM זיהוי-בוטים (לא IP) — Camoufox מהשרת עובר; mavat נותן את כל 5 השדות כולל yalkut_number (תב"ע-עכשיו חסר!) + עמוד + קישור-נבו. אומת 101-1031020 (י"פ 13697), 101-1053933 (י"פ 13836).
ארכיטקטורת Phase C: הרחבת court_fetch_service (8771, Camoufox+Xvfb, Bearer COURT_FETCH_SHARED_SECRET) ב-POST /plan-fetch; container services/plans_fetch.py; tools/plans.py plan_fetch; web/app.py POST /api/plans/fetch; כפתור 'משוך מ-מנהל-התכנון' ב-PlanForm (שער-עיצוב); העשרה-אוטו' ב-plans_extractor.upsert_candidates. endpoints: POST /rest/api/sv3/Search → MMI_ENTITY_ID → capture GET /rest/api/SV4/1?mid=; י"פ ב-rsInternet[LIS_DESC=='פרסום לאישור ברשומות'].ED_PUBLICATION_FILE; מלכודת window.onerror init-script. פרטים: memory project_mavat_plan_fetch + data/audit/plans-source-spike-2026-06-17.md.

Acceptance Criteria

⚠️ טרם הוגדרו. המשימה הועברה מ-TaskMaster ללא testStrategy.
לפני לקיחתה — להגדיר AC ולסמן status:ready (כלל התבנית: issue ללא AC אינו pickable).


הועבר מ-TaskMaster (tag legal-ai, id 150, status היה pending) ב-2026-08-05. הפניות (#150) בהודעות-commit ישנות מתייחסות למזהה ה-TaskMaster, לא למספר ה-issue הזה.

## What & Why מרחיב את מרשם-התכניות (V38, project_plans_registry): (A) UI לעיון+חיפוש בתכניות-מאושרות בדף /precedents טאב תכניות (backend כבר תומך ב-?review_status=&q=, חסר רק חוט-UI; דרך שער-עיצוב Claude Design). (B) משיכת פרטי-תב"ע אוטומטית ממקור-חיצוני בשני טריגרים: כפתור-ידני בטופס + העשרה-אוטו' בעת extract_plans. שני הטריגרים נכנסים pending_review (שער-יו"ר G10/INV-DM5; תוקף לא מומצא, כל ערך נושא source_url INV-AH). ספייק-אימות (Phase B) הושלם 2026-06-17 — דוח: data/audit/plans-source-spike-2026-06-17.md. הכרעה: tabanow (תב"ע עכשיו) הוא מקור-ראשי — מחזיר נקי gazette_date+display_name+plan_type+purpose, scrape ישיר מהקונטיינר (בלי WAF/CAPTCHA → בלי גשר-מארח 8771, פשוט מ-X13). mavat חסום F5-ASM (דורש Camoufox-גשר, מאמץ גבוה, לא בארכיטקטורה כרגע). yalkut_number — אף מקור-חי לא חושף → נשאר השלמה-ידנית של היו"ר (follow-up: חילוץ י"פ מרשומות/ילקוט-הפרסומים לפי gazette_date). אופציונלי: backfill חד-פעמי מ-CKAN xplan2 לזריעת display_name/plan_type. קבצים: web-ui plans.ts + plans-review-panel.tsx (Phase A+C3 כפתור); web/app.py /api/plans/fetch; mcp-server services/plans_fetch.py (חדש) + tools/plans.py (plan_fetch) + services/plans_extractor.py (העשרה ב-upsert_candidates). דפוס-מקור: court_fetch_orchestrator (אך בלי גשר). אומדן: A קטן, C בינוני. ## הקשר ופירוט --- עדכון 2026-06-17 (עריכה ישירה; update_task נחסם) --- Phase A ✅ מוזג PR #289: סרגל-מצב ממתינים/מאושרות/כולן + חיפוש בטאב-תכניות (usePlansAll), PlanCard מסתעף לפי review_status עם 'החזר לתור'. עבר שער-עיצוב. הכרעת-מקור Phase C (חיים): mavat דרך גשר-Camoufox — לא tabanow. בדיקת-Camoufox הוכיחה: החסימה=F5-ASM זיהוי-בוטים (לא IP) — Camoufox מהשרת עובר; mavat נותן את כל 5 השדות כולל yalkut_number (תב"ע-עכשיו חסר!) + עמוד + קישור-נבו. אומת 101-1031020 (י"פ 13697), 101-1053933 (י"פ 13836). ארכיטקטורת Phase C: הרחבת court_fetch_service (8771, Camoufox+Xvfb, Bearer COURT_FETCH_SHARED_SECRET) ב-POST /plan-fetch; container services/plans_fetch.py; tools/plans.py plan_fetch; web/app.py POST /api/plans/fetch; כפתור 'משוך מ-מנהל-התכנון' ב-PlanForm (שער-עיצוב); העשרה-אוטו' ב-plans_extractor.upsert_candidates. endpoints: POST /rest/api/sv3/Search → MMI_ENTITY_ID → capture GET /rest/api/SV4/1?mid=; י"פ ב-rsInternet[LIS_DESC=='פרסום לאישור ברשומות'].ED_PUBLICATION_FILE; מלכודת window.onerror init-script. פרטים: memory project_mavat_plan_fetch + data/audit/plans-source-spike-2026-06-17.md. ## Acceptance Criteria > ⚠️ **טרם הוגדרו.** המשימה הועברה מ-TaskMaster ללא `testStrategy`. > לפני לקיחתה — להגדיר AC ולסמן `status:ready` (כלל התבנית: issue ללא AC אינו pickable). --- <sub>הועבר מ-TaskMaster (tag `legal-ai`, id **150**, status היה `pending`) ב-2026-08-05. הפניות `(#150)` בהודעות-commit ישנות מתייחסות למזהה ה-TaskMaster, לא למספר ה-issue הזה.</sub>
chaim added the area:retrievaltype:featurepriority:p2-normalarea:extraction labels 2026-08-05 11:01:14 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ezer-mishpati/legal-ai#442