diff --git a/README.md b/README.md
index 9930d48..3ea2a16 100644
--- a/README.md
+++ b/README.md
@@ -13,6 +13,8 @@ GSMTAP into this analyser.

+
+
## Prerequisites
**Required**
diff --git a/README_RUS.md b/README_RUS.md
index 9eb4082..b326965 100644
--- a/README_RUS.md
+++ b/README_RUS.md
@@ -13,6 +13,8 @@ SIM/UICC из UDP-потока GSMTAP (или импортирует файлы

+
+
## Требования
**Обязательно**
diff --git a/architecture_en.svg b/architecture_en.svg
new file mode 100644
index 0000000..4668e10
--- /dev/null
+++ b/architecture_en.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/architecture_ru.svg b/architecture_ru.svg
new file mode 100644
index 0000000..a2aa4bf
--- /dev/null
+++ b/architecture_ru.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/scripts/build_release_zip.py b/scripts/build_release_zip.py
index c69b40c..9fff673 100644
--- a/scripts/build_release_zip.py
+++ b/scripts/build_release_zip.py
@@ -40,6 +40,8 @@ ROOT_FILES = (
'README.md',
'README_RUS.md',
'frontend.png',
+ 'architecture_en.svg',
+ 'architecture_ru.svg',
'LICENSE',
)
diff --git a/tests/test_release_zip.py b/tests/test_release_zip.py
index c617e08..9e70a6b 100644
--- a/tests/test_release_zip.py
+++ b/tests/test_release_zip.py
@@ -81,6 +81,21 @@ class TestReleaseZip(unittest.TestCase):
self.assertIn('%s/frontend/%s' % (top, asset), self.names,
'precached %s is missing from the zip' % asset)
+ def test_readme_images_are_in_the_zip(self):
+ # Drift guard: the runtime tree's READMEs embed the screenshot and the
+ # architecture diagrams by relative path, so every referenced image
+ # must travel with the archive.
+ top = 'simtrace-analyser-%s' % __version__
+ for readme in ('README.md', 'README_RUS.md'):
+ text = (REPO / readme).read_text()
+ images = re.findall(r'!\[[^\]]*\]\(([^)\s]+)\)', text)
+ self.assertTrue(images, 'no images referenced by %s' % readme)
+ for image in images:
+ self.assertNotIn('://', image, image)
+ self.assertIn('%s/%s' % (top, image), self.names,
+ '%s references %s, which is missing from the zip'
+ % (readme, image))
+
def test_batch_files_use_crlf(self):
with zipfile.ZipFile(self.archive) as zf:
bats = [n for n in self.names if n.endswith('.bat')]