README: SVG architecture diagram replaces mermaid; embed + text fallback; assets/readme added

This commit is contained in:
infra-bot
2026-08-27 16:30:01 +03:00
parent e41d31af24
commit edc1c68aba
4 changed files with 170 additions and 19 deletions
+17
View File
@@ -0,0 +1,17 @@
import io, collections, re
import xml.etree.ElementTree as ET
t = io.open('assets/readme/architecture.svg', encoding='utf-8').read()
ET.fromstring(t)
for bad in ('<script', 'foreignObject', '@import', 'http://fonts', 'https://fonts'):
assert bad not in t, 'sanitizer risk: ' + bad
print('SVG well-formed:', len(t), 'bytes; no script/foreignObject/remote fonts')
sizes = collections.Counter(re.findall(r'font-size="(\d+)"', t))
print('font sizes:', dict(sorted(sizes.items(), key=lambda kv: -int(kv[0]))))
r = io.open('README.md', encoding='utf-8').read()
assert 'mermaid' not in r, 'mermaid still present'
assert './assets/readme/architecture.svg' in r, 'embed missing'
assert 'Текстовая версия схемы' in r, 'fallback missing'
print('README ok: embed + text fallback, mermaid removed')