Skip to content

docs: show the console in the README, plus two fixes it exposed - #97

Merged
richardmhope merged 1 commit into
mainfrom
readme-screenshots
Jul 31, 2026
Merged

docs: show the console in the README, plus two fixes it exposed#97
richardmhope merged 1 commit into
mainfrom
readme-screenshots

Conversation

@richardmhope

Copy link
Copy Markdown
Contributor

Follow-up to #96, which merged while this was being captured.

Screenshots

Seven shots of a locally-seeded instance, embedded in the README behind a <details> gallery with the overview as the hero:

overview-light / overview-dark the same screen in both themes
findings-light the queue and its URL-backed filter bar
finding-detail-light evidence, triage, and the FindingEvent trail
scan-live-dark a scan mid-flight, two of four tasks finished
source-detail-light scan history and the connection form
engines-light the fleet, with two rule-pack versions in force

Palette-quantised and served at 1x — 664 KB for the set, down from 4.3 MB raw, because these live in git for good. Every reference resolves and nothing is orphaned; docs/ is already in .dockerignore, so none of it reaches an image.

Two fixes the screenshots exposed

Both are the kind of thing that only shows up on a rendered page, which is rather the point of looking at one.

.field-hint inherited its label's shouting. Hints sit inside .stack > label, which is mono, uppercase and letter-spaced because it is a field label. So every line of form guidance rendered as A JUDGEMENT CAN ONLY GO BACK TO OPEN, NEVER STRAIGHT TO ANOTHER JUDGEMENT…. It is prose, so it now resets font, case and tracking rather than inheriting them.

The audit trail printed a raw UUID. An assign event records the assignee's id — correct, because that is what survives a rename — but the history rendered from → to verbatim, so the trail read assign — → 966d7342-4991-4f42-97b1-dd2aef9085e1. A person filter substitutes the display name where the reader is allowed to know it (the names map is already in the context, and is admin-only by construction) and shortens the id where they are not. Assign events now read unassigned → **Chidi Vance**.

On reproducing them

docs/web.md now says the screenshots are hand-captured and will drift — a stale one is a doc bug, not a broken build.

It also says why they cannot simply be regenerated by a script in this repo: doing so needs a database of fabricated findings and a way to sign in, and the console is OIDC-only (ADR 0005). A development bypass — a login route that trusts a query string — is exactly the kind of thing that survives into a production image, so both the seeding script and the /dev-login wrapper live outside the tree. Nothing under apps/ knows either exists.

make check green: ruff, mypy, 985 tests.

🤖 Generated with Claude Code

…t exposed

Seven screenshots of a locally-seeded instance: the overview in both themes, the
findings queue, a triaged finding with its event trail, a scan mid-flight, a
source, and the engine fleet. Palette-quantised and served at 1x — 664 KB for the
set, since these live in git for good.

Capturing them found two defects that only show up on a rendered page:

* `.field-hint` sits inside `.stack > label`, so every line of form guidance
  inherited the label's mono/uppercase/tracked treatment and rendered as shouted
  monospace. It is prose, so it now resets all three rather than inheriting them.
* An assign event records the assignee's *id*, which is what stays correct when
  somebody is renamed — but the history rendered it raw, so the trail read
  "assign — → 966d7342-…". A `person` filter substitutes the name where the
  reader is allowed to know it and shortens the id where they are not.

docs/web.md notes that the screenshots are hand-captured and why reproducing them
needs a seeding script and a login shim that deliberately live outside the tree:
the console is OIDC-only, and a dev bypass that trusts a query string is exactly
the kind of thing that survives into a production image.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@richardmhope
richardmhope merged commit 6e2198a into main Jul 31, 2026
3 checks passed
@richardmhope
richardmhope deleted the readme-screenshots branch July 31, 2026 06:09
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