obsidian-render-check
Section titled “obsidian-render-check”Confirm an Obsidian render from WSL, no human look-and-confirm — an agent
verifies its own KB-rendering change (web-testing-system Phase F, 2026-09-03).
Wraps the documented obsidian-cli harness (eval + the two-call
setTimeout workaround).
Project
Section titled “Project”- Location:
~/utils/obsidian-render-check/(WSL-side; stdlib-only Python, nouvvenv needed) - Entry point:
obsidian-render-check.py
Quick Start
Section titled “Quick Start”python3 ~/utils/obsidian-render-check/obsidian-render-check.py "Core/IT/Tasks/foo.md" --expect "text that must render"Exit 0 if the text is found in the note’s rendered (reading-mode) content; exit 1 with the actual rendered content shown otherwise.
Verified working (2026-09-03)
Section titled “Verified working (2026-09-03)”Both directions, against a live task file in the running Obsidian app:
--expect text absent → FAIL, actual content printed; text present → PASS.
Gotchas
Section titled “Gotchas”Same as obsidian-cli: exactly one vault open, call Obsidian.exe
directly (stale PATH), never setTimeout inside eval — this tool splits
into two eval calls with a real wall-clock pause between them instead.
The “installer out of date” noise line is stripped automatically; only the
=> <value> line is treated as the result.
--screenshot flag exists but isn’t wired to dev:screenshot yet — text-match
verification was the actual need; add screenshot support when a case needs it.