unification: sec02 MANIFEST → CANON v1 (per-item tables, cross-section block preserved)

This commit is contained in:
Dmitry Kokorin 2026-09-21 23:42:36 +03:00
parent 62b16fa4bf
commit dab9e312d9
2 changed files with 143 additions and 30 deletions

View file

@ -50,6 +50,10 @@ def parse_old(manifest):
for m in re.finditer(r'^## (.+?)\n(.*?)(?=^## |\Z)', c, re.M | re.S):
name, body = m.group(1).strip(), m.group(2).strip()
blocks[name] = body
# ### Cross-section sub-block (inside the big Files block) must survive
cross = re.search(r'### Cross-section[^\n]*\n(.*?)(?=^### |^## |\Z)', c, re.M | re.S)
if cross:
blocks['Cross-section (files live in other sections)'] = cross.group(1).strip()
return items, blocks, intro
# one-off source resolutions (2026-09-21): byte-verified against disk sizes / card notes