mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 10:24:57 +03:00
feat(skd-decompile): Python-порт зеркалом PS v0.88
Зеркало skd-decompile.ps1 v0.88 (~3022 строки) → skd-decompile.py v0.88 (~3140 строк). По образцу пары skd-compile.ps1 ↔ skd-compile.py. - runner.mjs --filter skd-decompile --runtime python: 16/16 зелёные - runner.mjs --filter skd-decompile (PS, регрессия): 16/16 - runner.mjs --filter skd-compile --runtime python (регрессия): 23/23 - verify-roundtrip на titan2-subset (13 отчётов): PS ≡ Py байт-в-байт - verify-roundtrip на sample30 (20 общих отчётов): тот же распред 8 BP + 12 diff, у Py чуть меньше diff-строк на edge-кейсах empty multilang content Нетривиальные места порта: - ET в Python не понимает prefix-aware XPath → тонкая обёртка XNode + ручной _xpath_steps/_all/_single для PS-style путей - ET.Element (C-impl) не позволяет навешивать атрибуты → per-element nsmap хранится во внешнем _NSMAP_BY_ID[id(el)], заполняется через iterparse + start-ns - JSON-сериализатор (convert_to_compact_json, try_inline_json, lineLimit=400, inline-when-fits) портирован 1-в-1 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in: