feat(eval): כיול-effort ייעודי לבלוק י' (דיון) עם אספקת-כיוון read-only (#212) #374
Reference in New Issue
Block a user
Delete Branch "worktree-agent-a9878f5b0b82c055b"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
מה ולמה
בלוק י' (דיון והכרעה) הוא הבלוק החשוב ביותר — ליבת-ההחלטה (ratio decidendi) — אך ה-
effortשלו (xhigh) נקבע 'by feel' (block_writer.py:72) ולא כויל אמפירית מעולם. ה-harness הכללי (#208,scripts/calibrate_effort.py) הוציא את בלוק-הדיון מ-CALIBRATABLE_BLOCKSכיwrite_block(block-yod)זורקValueError("לא ניתן לכתוב בלוק דיון ללא כיוון מאושר…")— בלוק-הדיון דורשdecisions.direction_doc.approved(brainstorm → approve_direction) שתיקי-הכיול חסרים.ה-PR מוסיף
scripts/calibrate_block_yod.py— harness ייעודי שמספק את הכיוון החסר ומכייל את בלוק-הדיון, תוך שימוש-חוזר מלא במכונת-המדידה של #208.שכבת אספקת-הכיוון (read-only — הליבה החדשה)
db.get_decision_by_case/db.get_decisionלתהליך-הזה-בלבד מזריקdirection_docשמיש ל-write_block(שמרענן את ה-decision פנימית). אפס כתיבה ל-DB — מצב-תיק-הייצור לא משתנה (איןUPDATE); ה-overlay מוסר ב-__exit__.approved+selected_direction, או סכמת-8126 עםdirection_id/structure, מנורמל ל-approved=Trueעל העותק בלבד).direction_docמינימלי שנגזר מ-decision.outcome+ סקשן-הדיון של הסופי באותו תיק, מתויגreconstructed. INV-LRN5: outcome+מצביע-לסופי-עצמי בלבד — אפס מהות חוצת-תיקים.ממצא-קורפוס (2026-06-30, dry-run מול DB חי)
מ-8 סופיים: 7 ניתנים-לכיול. רק 8126-03-25 הוא stored+scorable (8174-12-24 שמור-אך-חסר-סקשן-דיון). לכן
--allow-reconstructed falseנותן תא-יחיד, וברירת-המחדל (reconstructed פעיל) נותנת 7 — הנסיגה היא מה שמפעיל את ה-harness היום.Invariants — הצהרה
style_distance.block_distance_to_final+_score_cell/recommend_effort/_finals_for_calibrationמ-calibrate_effort(#208). אין מסלול-מדידה/harness מקביל.precedents=[]— אפס מהות (הלכה/עובדה) נגררת מתיק לתיק.block_writer.write_block→claude_session.query→claude -p(Opus 4.8 נעו��, מנוי, מקומי-בלבד; לא בקונטיינר/worktree-ללא-CLI).צ'קליסט — פרוטוקול כתיבת-קוד
docs/spec/00-constitution.md(G8/G2) +docs/spec/07-learning.md(INV-LRN4/5) לפני הכתיבהmcp-server/srcנקי; ה-harness ב-scripts/warningומדולג; הדוח מסמןsupply_mode=skipgap-audit.md— לא נגעתי ב-GAP/FU ממופה (יחידה חדשה מעל #208)--self-testALL PASS (28 בדיקות)אימות
--self-test→ ALL PASS (28 checks): מדידה (block_distance_to_final), לוגיקת אספקת-כיוון (usable/normalize/reconstruct/plan), ו-overlay install+revert (target מקבל כיוון, non-target לא נגוע, מסלולget_decisionמכוסה, מוסר אחרי ה-context).--dry-runמול DB חי (read-only): 7/8 scorable, אספקת-כיוון 2 stored · 6 reconstructed · 0 skipped, 28 ייצורים מתוכננים (4 efforts × 7 cases).--allow-reconstructed false→ 1 scorable (נאמן בלבד).--case 1200-12-25→ מסנן לתיק-בודד.grepאימת אפסupdate_decision/UPDATE/INSERT/.execute(ב-harness.פקודת הכיול-החי (לבצע ע"י היו"ר — long, צורך-מכסה):
🤖 Generated with Claude Code