Skip to content

docs: terminal screenshots, plural fix, and a container image - #31

Merged
ivanvyd merged 1 commit into
mainfrom
docs/screenshots-and-container
Aug 1, 2026
Merged

docs: terminal screenshots, plural fix, and a container image#31
ivanvyd merged 1 commit into
mainfrom
docs/screenshots-and-container

Conversation

@ivanvyd

@ivanvyd ivanvyd commented Aug 1, 2026

Copy link
Copy Markdown
Owner

Screenshots

The docs described the output without ever showing it. Four terminal frames now do — rendered as SVG, not screenshotted, so the assets stay text (they diff, they scale, no binary blobs) and regenerating after an output change produces a visibly different file rather than a stale PNG nobody notices.

Three are real output captured against a live workspace, with that workspace's identifiers replaced before the transcripts were stored. chat is reconstructed from the literal strings in ChatCommand.cs, because the REPL refuses to start without a terminal and cannot be piped to a file.

docs/assets/generate.py and the transcripts are both committed, so the images are reproducible rather than binaries nobody can rebuild.

A bug the screenshots found

Capturing real output surfaced auth check reporting "1 Agents visible". Wording.Count now agrees in number, applied to all four call sites with the same bug — including "1 rows" in export/chat and pack's question(s), which is the form you write when you have given up. Four tests cover it.

Container image

A Dockerfile for the case that actually justifies one: running a Question Pack on a schedule where installing .NET is inconvenient. Non-root (uid 10001), self-contained on runtime-deps, and globalization left enabled so non-ASCII cell values don't silently become question marks.

No image is published to a registry. Publishing one is a promise to rebuild for every base-image CVE, and docs/containers.md says so rather than implying an image exists. It also says plainly that chat cannot work in a container, and that the OAuth broker is absent by design since a container is an unattended context.

Gates

183 tests pass, 8 skip, format clean, all links and image paths resolve, no sensitive strings in the tree.

The documentation described the output without ever showing it. Four terminal
frames now do, rendered as SVG rather than screenshotted: the assets stay text,
so they diff and scale, and regenerating after an output change produces a
visibly different file instead of a stale PNG nobody notices.

Three are real output captured from a live workspace, with that workspace's
identifiers replaced before the transcripts were stored. chat is the exception
and is reconstructed from the literal strings in ChatCommand.cs, because the
REPL refuses to start without a terminal and cannot be piped to a file. The
generator and the transcripts are both committed, so the images are reproducible
rather than binaries nobody can rebuild.

Capturing real output found a real defect: auth check reported "1 Agents
visible". Wording.Count now agrees in number, applied to the four call sites
that had the same bug -- including "1 rows" on export and chat, and pack's
"question(s)", which is the form you write when you have given up.

Added a Dockerfile for the case that actually justifies one: running a Question
Pack on a schedule where installing .NET is inconvenient. Non-root, self-contained
on runtime-deps, globalization left on so non-ASCII cell values do not silently
become question marks. No image is published to a registry -- publishing one is a
promise to rebuild it for every base-image CVE, and docs/containers.md says so
rather than implying an image exists.
@ivanvyd
ivanvyd merged commit 42f5631 into main Aug 1, 2026
10 checks passed
@ivanvyd
ivanvyd deleted the docs/screenshots-and-container branch August 1, 2026 11:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant