docs(examples): add reproducible screenshots of the sample KBs#290
Merged
plind-junior merged 1 commit intoJun 30, 2026
Merged
Conversation
the example KBs under examples/ were text-only: the READMEs told a reader to copy a fixture and run vouch status / search / show / audit without showing what those commands return. someone evaluating vouch on github had to install it and load a fixture before seeing anything. adds terminal screenshots rendered straight from the shipped fixtures: * docs/img/examples/render.py — a stdlib-only generator. copies a fixture to a throwaway .vouch, runs each documented command with colour off, normalises the one volatile token (the absolute kb path), and renders the output to a self-contained terminal-style svg. svg is text, so it diffs cleanly in prs and re-renders byte-for-byte. * docs/img/examples/*.svg — tiny/: status, search auth, show prop-001, audit. decision-log/: search free-tier and a supersession diff. * examples/README.md, examples/tiny/README.md, examples/decision-log/README.md embed the images. * make examples-screenshots regenerates them. * tests/test_example_screenshots.py asserts the renderer is pure, escapes xml, and the committed svgs match a fresh render. chose deterministic svg over the vhs/.tape path the issue suggested: vhs needs ttyd + ffmpeg, while this needs only python + the vouch cli and produces text-diffable output. the audit-trail shot uses tiny/ (the fixture that ships an audit log) and the supersession shot uses decision-log/; no fixture is modified. web review-ui and desktop gui captures are left as a follow-up since they need a browser/electron runtime to capture deterministically. closes vouchdev#286
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced Jun 30, 2026
claytonlin1110
pushed a commit
to claytonlin1110/vouch
that referenced
this pull request
Jun 30, 2026
the examples/ fixtures gained rendered screenshots in vouchdev#290 but the top-level readme never pointed at them. add a one-line nudge from the 30-second tour so a reader can see what the cli returns before installing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
examples/KBs were text-only — the READMEs told a reader to copy afixture and run
vouch status/search/show/auditwithout evershowing what those commands return. this adds screenshots rendered straight
from the shipped fixtures so the examples carry their own weight.
What's here
docs/img/examples/render.py— a stdlib-only generator. copies a fixtureto a throwaway
.vouch, runs each documented command with colour disabled,normalises the one volatile token (the absolute KB path), and renders the
output into a self-contained terminal-style SVG.
docs/img/examples/*.svg—tiny/:status,search auth,show prop-001,audit.decision-log/:search free-tierand asupersession
diff.examples/README.md,examples/tiny/,examples/decision-log/)embed the images next to the commands they show.
make examples-screenshotsregenerates them.tests/test_example_screenshots.pyasserts the renderer is pure, escapesXML, and the committed SVGs are byte-identical to a fresh render.
Decisions / deviations from the issue
.tape. the issue suggested a.tapere-renderedwith
vhs, butvhsneedsttyd+ffmpeg. SVG needs only python + thevouchCLI, is text (so it diffs in PRs and re-renders byte-for-byte), andthe test enforces that the committed images stay current — the same
determinism goal, lighter deps.
tiny/. thedecision-log/fixture ontestships claims only (no audit log), so the audit-trail capture uses
tiny/(which has a full audit log) and the supersession capture uses
decision-log/. no fixture is modified, per the issue's compatibility note.a browser/Electron runtime to capture deterministically, which is out of
reach for a text-renderable, CI-checked generator.
Test Plan
tests/test_example_screenshots.pypytest tests/ --ignore=tests/embeddings— green (rc=0)ruff check src tests— cleanmypy src— cleanmake examples-screenshotsis idempotent)Closes #286