fix(style-acq T9): מספור-אוטומטי אמיתי בייצוא DOCX (היה ללא מספור)
באג: ה-exporter הסיר את הקידומת "N." והחיל סגנון "List Paragraph" — שאין לו
numPr בתבנית (אין numbering.xml) → ההחלטות יצאו **ללא מספור** כלל.
- docx_exporter._ensure_decision_numbering: מזריק abstractNum עשרוני (RTL,
lvlJc=right) + num לחלק-המספור פעם אחת; _apply_list_numbering מחבר כל
פסקת-גוף לרשימה הרציפה. מספור Word אמיתי — מתעדכן בעריכה, copy/paste נקי.
אומת מבנית: numId יחיד, decimal, שתי פסקאות→אותו numId, docx נשמר.
- התאמת ANTI_PATTERNS (T7): הוסר manual_paragraph_numbers — "N." בתחילת-שורה
הוא ה-signal הנדרש לייצוא, לא אנטי-דפוס. נשאר inline (1)..(2)/markdown/bullets.
- voice-fingerprint §3.1: תוקן — הכותב כן מקדים "N. " בתחילת-שורה (signal),
הייצוא ממיר ל-auto-numbering. סתירה קודמת ("אל תקליד מספרים") יושבה.
⚠️ אימות-מבנה עבר; אימות ויזואלי ב-Word מומלץ על ייצוא ראשון. G11.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -43,13 +43,11 @@ GOLDEN_RATIOS: dict[str, dict[str, tuple[int, int]]] = {
|
||||
}
|
||||
|
||||
# ── Anti-patterns (what Dafna avoids) — detectable signals for style-distance (T7) ──
|
||||
# Derived from daphna-voice-fingerprint.md §3 (corrected 2026-06-06: sequential
|
||||
# paragraph numbering is REQUIRED — applied as Word auto-numbering at export — so the
|
||||
# anti-pattern is MANUAL numbers typed as text, not numbering itself).
|
||||
# Derived from daphna-voice-fingerprint.md §3 (corrected 2026-06-06). NOTE: a leading
|
||||
# "N." per paragraph is NOT an anti-pattern — it is the REQUIRED signal the DOCX
|
||||
# exporter converts to real Word auto-numbering (docx_exporter._ensure_decision_numbering).
|
||||
# The real anti-patterns are mid-paragraph mini-lists, markdown, and bullets.
|
||||
ANTI_PATTERNS: list[dict] = [
|
||||
{"name": "manual_paragraph_numbers",
|
||||
"regex": r"(?m)^\s*\d{1,3}\.\s",
|
||||
"note": "מספרים ידניים כטקסט בראש פסקה — אמורים להיות auto-numbering בייצוא"},
|
||||
{"name": "inline_numbered_fragments",
|
||||
"regex": r"\([0-9]\)[^\n]{0,200}\([0-9]\)",
|
||||
"note": "פיצול טיעון לרשימת-מיני (1)...(2) בתוך פסקת-אנליזה"},
|
||||
|
||||
Reference in New Issue
Block a user