בלוק י' (דיון והכרעה) הוא הבלוק החשוב ביותר אך ה-effort שלו (xhigh) נקבע 'by feel' ולא כויל אמפירית. ה-harness הכללי (#208) לא יכל לכייל אותו כי write_block(block-yod) זורק "ללא כיוון מאושר" — בלוק-הדיון דורש decisions.direction_doc.approved שתיקי-הכיול חסרים. scripts/calibrate_block_yod.py מוסיף שכבת אספקת-כיוון read-only מעל מכונת המדידה של #208: - overlay על db.get_decision_by_case/get_decision לתהליך-הזה-בלבד מזרים direction_doc שמיש ל-write_block — אפס כתיבה ל-DB, מצב-תיק-הייצור לא משתנה (reverted ב-__exit__). - אסטרטגיה per-תיק: stored (כיוון-מאושר שמור, נאמן) → reconstructed (מינימלי מ-decision.outcome + סקשן-הדיון של הסופי באותו תיק, INV-LRN5: אפס מהות חוצת-תיקים, מתויג reconstructed) → skip. - משתמש-חוזר ב-style_distance.block_distance_to_final + _score_cell/ recommend_effort מ-calibrate_effort (G2 — אין מסלול-מדידה מקביל). - כתיבה אינקרמנטלית per-תיק + שער-per-תא לא-פטאלי (INV-G8). ממצא-קורפוס: מ-8 סופיים 7 ניתנים-לכיול; רק 8126-03-25 stored+scorable (8174-12-24 שמור-אך-חסר-סקשן-דיון) → הנסיגה reconstructed היא מה שמפעיל את ה-harness היום. Invariants: G8 (eval-harness), G2 (שימוש-חוזר ב-style_distance/block_writer, אין fork), INV-LRN5 (כיוון משוחזר = סגנון/שיטה בלבד, אפס מהות חוצת-תיקים), claude_session local-only (ייצור דרך claude -p, מקומי-בלבד). אימות: --self-test ALL PASS (28 checks: מדידה + אספקת-כיוון + overlay install/revert) · --dry-run מול DB חי (read-only): 7/8 scorable, 28 ייצורים מתוכננים · --allow-reconstructed false → 1 (נאמן בלבד) · --case מסנן. אפס mutation calls ב-harness (read-only מאומת). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.0 KiB
1.0 KiB