Skip to content

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).

  • Location: ~/utils/obsidian-render-check/ (WSL-side; stdlib-only Python, no uv venv needed)
  • Entry point: obsidian-render-check.py
Terminal window
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.

Both directions, against a live task file in the running Obsidian app: --expect text absent → FAIL, actual content printed; text present → PASS.

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.