test: align README presentation guards with the #4306 refresh (#4311)

* test: align README presentation guards with the #4306 refresh

The 'Refresh README presentation' change (#4306) swapped the ASCII banner
for a centered wordmark image and moved the native quickstart into
docs/setup.md, which left four base tests failing on dev and froze the
merge gate:

- test_security_regressions::test_readme_native_quickstart_uses_loopback
  now also accepts the loopback guidance from docs/setup.md, where the
  quickstart moved (no behaviour change; the guidance is intact there).
- test_readme_ascii_fenced guards the new wordmark title instead of the
  removed ASCII banner, and keeps a defensive check that any reintroduced
  box-drawing banner stays inside a code fence (the original #1390 mode).
- The five unreferenced demo gifs under docs/ (chat, compare, document,
  notes, research) are removed so test_docs_no_orphan_images passes; they
  were de-referenced by the refresh. Recoverable from history if a docs
  page wants to embed them again.

* chore: refresh PR checks

---------

Co-authored-by: Alexandre Teixeira <alexandremagteixeira@gmail.com>
This commit is contained in:
Kenny Van de Maele
2026-06-15 17:25:38 +02:00
committed by GitHub
parent ffd0aaf69b
commit 1747c13133
7 changed files with 27 additions and 19 deletions
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 MiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 MiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1003 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

+21 -16
View File
@@ -1,16 +1,18 @@
"""Regression guard for issue #1390 — the README banner / ASCII art was not in a """Regression guard for the README title presentation.
fenced code block, so GitHub's markdown collapsed its leading whitespace and the
box-drawing rules, rendering it misaligned instead of monospace-as-typed.
This pins that the decorative banner stays inside a ``` code fence. Originally (#1390) the README opened with an ASCII-art banner that had to live
inside a ``` code fence, otherwise GitHub's markdown collapsed its leading
whitespace and box-drawing rules and rendered it misaligned. The README refresh
(#4306) dropped that banner in favour of a centered wordmark image, so the guard
now pins the wordmark identity instead, while still catching the original failure
mode if an un-fenced ASCII banner is ever reintroduced.
""" """
from pathlib import Path from pathlib import Path
README = Path(__file__).resolve().parent.parent / "README.md" README = Path(__file__).resolve().parent.parent / "README.md"
# Distinctive bits of the banner (box-drawing rule + the kaomoji version line). # Box-drawing rule from the legacy ASCII banner (the #1390 failure mode).
_RULE = "" * 10 _RULE = "" * 10
_BANNER_LINE = "Odysseus vers. 1.0"
def _fenced_segments(text: str): def _fenced_segments(text: str):
@@ -20,15 +22,18 @@ def _fenced_segments(text: str):
return parts[1::2] return parts[1::2]
def test_readme_banner_is_inside_a_code_fence(): def test_readme_opens_with_wordmark_title():
# The README must still open with a recognizable Odysseus title: now the
# centered wordmark image rather than an H1 / ASCII banner.
head = "\n".join(README.read_text(encoding="utf-8").splitlines()[:15])
assert 'alt="Odysseus"' in head, "README must open with the Odysseus wordmark image"
def test_reintroduced_ascii_banner_stays_fenced():
# Defensive: if a box-drawing banner is ever added back, it must be fenced so
# GitHub renders it monospace-as-typed (the original #1390 regression).
text = README.read_text(encoding="utf-8") text = README.read_text(encoding="utf-8")
assert _BANNER_LINE in text, "banner line missing from README" if _RULE not in text:
return
inside = "\n".join(_fenced_segments(text)) inside = "\n".join(_fenced_segments(text))
assert _BANNER_LINE in inside, "banner version line must be inside a ``` code fence" assert _RULE in inside, "ASCII banner rule must be inside a ``` code fence"
assert _RULE in inside, "banner rule line must be inside a ``` code fence"
def test_readme_title_stays_a_heading():
# The H1 must remain a real heading, not get swallowed into the fence.
first = README.read_text(encoding="utf-8").splitlines()[0]
assert first.strip() == "# Odysseus"
+6 -3
View File
@@ -121,9 +121,12 @@ def test_docker_compose_binds_web_ui_to_loopback_by_default():
def test_readme_native_quickstart_uses_loopback(): def test_readme_native_quickstart_uses_loopback():
readme = Path("README.md").read_text(encoding="utf-8") # The README refresh (#4306) moved the native quickstart into docs/setup.md,
assert "python -m uvicorn app:app --host 127.0.0.1 --port 7000" in readme # so accept the loopback guidance from either the README or the setup guide.
assert "0.0.0.0` only when you intentionally want" in readme docs = Path("README.md").read_text(encoding="utf-8")
docs += "\n" + Path("docs/setup.md").read_text(encoding="utf-8")
assert "python -m uvicorn app:app --host 127.0.0.1 --port 7000" in docs
assert "0.0.0.0` only when you intentionally want" in docs
def test_ollama_cookbook_runner_does_not_force_public_bind(): def test_ollama_cookbook_runner_does_not_force_public_bind():