Files
hermes-webui/tests/test_readme_compat_section.py
T
nesquena-hermes f64b06ab4f Release v0.51.252 — Release HT (stage-q24) (#3530)
## Release v0.51.252 — Release HT (stage-q24)

Two trivially-safe @rodboev changes (independent).

### Fixed
| Issue | Author | Fix |
|-------|--------|-----|
| #2481 | @rodboev | The floating "selected-text reply" button now has `user-select:none`, so its own label can't get caught in a text selection (no bleed-through). CSS one-liner. |

### Docs
- README **Compatibility** section: upgrade WebUI + hermes-agent together until the stable agent API (#2491) lands. (@rodboev)

### Dropped from this batch
- **#2977 `/use` skill command** was staged here but **dropped** — the Codex regression gate found an async stale-directive race (`cmdUse()` awaits `/api/skills` but `send()` doesn't await the handler → a fast next send can miss it, or a stale directive leaks to a later message) plus an over-eager `finally` clear that silently discards the directive on a local slash-command early-return. Held with `changes-requested` + a detailed rework note (tracked pending promise + clear-on-consume). Concept approved; needs lifecycle hardening.

### Gate
- Full pytest suite: **7570 passed, 0 failed**
- ESLint: CLEAN · ruff: CLEAN · browser-smoke: CLEAN
- Codex (regression): **SAFE TO SHIP** — `user-select:none` scoped to the button only, README docs-only, no `/use` code remains

Co-authored-by: rodboev <rodboev@users.noreply.github.com>
2026-06-03 21:41:05 -07:00

35 lines
1.1 KiB
Python

from pathlib import Path
def test_readme_has_compatibility_section():
repo_root = Path(__file__).resolve().parents[1]
readme = (repo_root / "README.md").read_text(encoding="utf-8")
assert "## Compatibility" in readme, (
"README.md must contain a ## Compatibility section documenting the "
"tested hermes-agent compatibility policy"
)
assert "Upgrade both together" in readme, (
"README.md Compatibility section must include upgrade-together guidance "
'("Upgrade both together")'
)
assert "pin both image tags" in readme, (
"README.md Compatibility section must include Docker pin guidance "
'("pin both image tags")'
)
assert "docs/docker.md" in readme, (
"README.md Compatibility section must cross-link to docs/docker.md"
)
assert "docs/rfcs/agent-source-boundary.md" in readme, (
"README.md Compatibility section must cross-link to "
"docs/rfcs/agent-source-boundary.md"
)
assert "#2491" in readme, (
"README.md Compatibility section must reference issue #2491"
)