Problem
macdoc convert --to docx 產出的 .docx 完全不帶 w14:paraId,導致 macdoc 自己的產物永遠無法通過 word reverse 的 DSL 升級門檻,只能落在 raw channel。
實測(2026-08-19):
$ printf '# Test\n\nHello world paragraph one.\n\nSecond paragraph here.\n' > simple.md
$ macdoc convert simple.md --to docx --output simple.docx
$ unzip -p simple.docx word/document.xml | grep -o 'w14:paraId' | wc -l
0
$ macdoc word reverse simple.docx --to-mdocx simple.mdocx.swift --coverage
--- Aggregate: 0.0% DSL (0 / 8572 XML bytes across 9 parts) ---
一份只有兩個純段落、零表格的文件——理論上是 DSL 升級最理想的輸入——仍然 0.0%,因為段落沒有 w14:paraId 就不具升級資格。
對照組:真實 Word 產生的 REC-O-01 官方表單有 115 個 w14:paraId(但因含表格,part-level 全有全無而整份降 raw)。
Type
bug
Expected
需要先裁定這是哪一種情況(本 issue 的第一個任務就是回答它):
- 刻意如此 —
w14:paraId 屬 Word 2010 transitional 擴充,md→docx 這條路徑刻意不發。若是,該把「macdoc 自產的 docx 無法 DSL 升級」寫進文件,而不是讓使用者自己踩。
- 缺口 — 應該發但沒發。若是,
md-to-word-swift 的段落生成應補上 w14:paraId。
Actual
不發,且此事實未見於任何文件。
Impact
使用者最自然的驗證路徑就是「用 macdoc 產一份 docx,再 word reverse 看看」——而這條路必然得到 0.0% DSL,看起來像功能壞掉。實際上是前提不滿足,但沒有任何訊息說明。
與 #158 相關但不同:#158 是「表格導致 part-level 降 raw」(已寫在既有文件的邊界內);這裡是「macdoc 自產物連基本資格都沒有」,且未被任何文件涵蓋。
來源:surfaced during /idd-diagnose #158 sister concern surfacing (Step 3.6)
Problem
macdoc convert --to docx產出的 .docx 完全不帶w14:paraId,導致 macdoc 自己的產物永遠無法通過word reverse的 DSL 升級門檻,只能落在 raw channel。實測(2026-08-19):
一份只有兩個純段落、零表格的文件——理論上是 DSL 升級最理想的輸入——仍然 0.0%,因為段落沒有
w14:paraId就不具升級資格。對照組:真實 Word 產生的
REC-O-01官方表單有 115 個w14:paraId(但因含表格,part-level 全有全無而整份降 raw)。Type
bug
Expected
需要先裁定這是哪一種情況(本 issue 的第一個任務就是回答它):
w14:paraId屬 Word 2010 transitional 擴充,md→docx 這條路徑刻意不發。若是,該把「macdoc 自產的 docx 無法 DSL 升級」寫進文件,而不是讓使用者自己踩。md-to-word-swift的段落生成應補上w14:paraId。Actual
不發,且此事實未見於任何文件。
Impact
使用者最自然的驗證路徑就是「用 macdoc 產一份 docx,再
word reverse看看」——而這條路必然得到 0.0% DSL,看起來像功能壞掉。實際上是前提不滿足,但沒有任何訊息說明。與 #158 相關但不同:#158 是「表格導致 part-level 降 raw」(已寫在既有文件的邊界內);這裡是「macdoc 自產物連基本資格都沒有」,且未被任何文件涵蓋。