Design System Lab

The site's own design system, taken apart: the archetypes a tool page is built from, the severity colours, the band that holds a tool's answer, four recurring interface moves, and the fixed list of verdict words. Every figure below is computed from the tokens and rules pah.moi actually ships.

Rendered when the site was built, from the same core the interactive panels use. No JavaScript required.

8 archetypes
The archetypes a tool is composed from
ArchetypeWhat it doesIts tellWhere it is worn
VerdictGrades what it was given and says so once, at the top.The answer band, immediately after the input.8 tools · file-forensics, email-analyzer, security-headers, packet-analyzer, unicode, hasher, hashprint, binary-inspector
ReadoutReads a stream and reports what is in it, line by line.A tally that keeps its empty rows, so the scale does not jump as the numbers change.5 tools · log-parser, cvss, grep, keyboard-tester, regex-reference
InspectorOpens one artifact and lays its parts out in order.A ledger: keys in a right-aligned column, values in a left-aligned one.5 tools · jwt, certs, openssl, http, dig
BuilderAssembles a command or a pattern out of choices.The output is the thing you copy, and the copy button always sits in the same place.6 tools · nmap, wget, ssh-config, cron, chmod, editor
ConverterTurns one representation into another and concludes nothing.No answer band at all. A conversion has no verdict to report.8 tools · subnet, base, epoch, aspect-ratio, display, display-planner, text-width, contrast
CanvasColour is the subject rather than the emphasis.The only archetype that uses colour as part of the content, and the page tells you that.2 tools · theme-builder, ascii-studio
GeneratorMakes something new from entropy or from rules.A strength reading, stated as a number rather than as praise.2 tools · passwd, encoder
Gated (overlay)Any of the seven, when what you paste is sensitive.A consent gate before the instrument, and nothing leaves the tab either way.worn by any of the seven
6 tokens

WCAG 1.4.3 asks 4.50:1 for normal text and 1.4.6 asks 7.00:1. Every figure below is the token as text on that surface, because the scale is outlined and never filled.

Severity tokens on the three page surfaces, dark appearance
TokenBandHexOn rootOn panelOn elevatedClears AA
--severity-noneNone / informational#bcc7d211.20:110.59:19.89:1yes
--severity-lowLow#96cdf211.27:110.66:19.95:1yes
--severity-mediumMedium#e6d17912.59:111.91:111.12:1yes
--severity-highHigh#fbb69c11.23:110.62:19.92:1yes
--severity-criticalCritical#fbabd410.87:110.28:19.60:1yes
--severity-passPass (a verdict, not a band)#94dcb212.03:111.37:110.62:1yes
Severity tokens on the three page surfaces, light appearance
TokenBandHexOn rootOn panelOn elevatedClears AA
--severity-noneNone / informational#3f4a558.35:17.60:19.04:1yes
--severity-lowLow#14527a7.70:17.01:18.34:1yes
--severity-mediumMedium#6b4a067.43:16.77:18.05:1yes
--severity-highHigh#8f2e147.55:16.87:18.17:1yes
--severity-criticalCritical#7d1a4d9.11:18.30:19.87:1yes
--severity-passPass (a verdict, not a band)#0e59347.76:17.07:18.41:1yes
5 states
Every state of the answer band, including the two that render nothing
StateChipVerdict sentenceWhyThe rule it showsSeen on
pass[ PASS ]Every key you typed matched the profile.8 of 8 correct, in order, with no retries.A band follows a conclusion the page already drew./learn/keyboard/
partial[ PARTIAL ]Most of the sequence matched.6 of 8 correct: two keys were right but out of order.The chip shows the band. The sentence beside it says the same thing in plain words./learn/keyboard/
fail[ FAIL ]The prediction did not hold.You committed to ZF set; the step cleared it.One vocabulary. No second display word above the chip./learn/cpu/
measurementno band63 bits in, 72 bits out.LZ77 grew this input, which is correct behaviour on 3 bytes.A measurement gets no band, because there is nothing to grade./learn/compression/
nothing-yetno bandChange one character in the second message.Two identical messages flip zero bits, which measures nothing.When nothing has been measured there is no band and no placeholder. The page shows a hint about what to do next./learn/avalanche/
4 moves
The four moves that make a page recognisable
MoveDefined inWhat it promisesWhat it prevents
Section ruletoolset-style-guide §2A region has a name you can land on with a heading key, and a count that was computed.A hand-typed count. A typed number can drift out of step with the list under it.
Counted disclosuretoolset-style-guide §7Reference sections start collapsed, and the heading says how many items are inside, even when there are none.Content deleted to buy density, and empty sections you can only find by opening them.
Ledger rowtoolset-style-guide §3Keys sit muted in a right-aligned column so the values are what your eye lands on.A key and its value competing for the same emphasis on every row.
Button tierstoolset-style-guide §6At most one primary button per view, and zero is allowed; disabled is dimmed, not dashed.Five buttons shouting equally loudly, and a dashed border used for two different meanings.
1 critical · 5 high · 6 medium · 1 low · 9 none · 6 pass

28 words in the register, and it is closed: a word that is not here may not be chipped.

The closed verdict register, read from the module that enforces it
WordChipTone
NONE[ NONE ]its own band
LOW[ LOW ]its own band
MEDIUM[ MEDIUM ]its own band
HIGH[ HIGH ]its own band
CRITICAL[ CRITICAL ]its own band
PASS[ PASS ]pass
VALID[ VALID ]pass
STRONG[ STRONG ]pass
OK[ OK ]pass
FAIL[ FAIL ]high
MATCH[ MATCH ]pass
VERIFIED[ VERIFIED ]pass
MISMATCH[ MISMATCH ]high
INVALID[ INVALID ]high
DECODED[ DECODED ]none
PARTIAL[ PARTIAL ]medium
BEST GUESS[ BEST GUESS ]medium
FALLBACK[ FALLBACK ]medium
NO DECODE[ NO DECODE ]high
NO EVIDENCE[ NO EVIDENCE ]graded
WEAK[ WEAK ]graded
LIKELY[ LIKELY ]graded
DETECTED[ DETECTED ]graded
UNVERIFIED[ UNVERIFIED ]none
NOT MEASURED[ NOT MEASURED ]none
CAUTION[ CAUTION ]medium
WARN[ WARN ]medium
NOTE[ NOTE ]none

Both halves of the arithmetic on this page have a tool of their own: the Contrast Checker runs the same WCAG ratio over your two colours rather than the shipped tokens, and the Theme Builder composes the palettes whose severity scale this lab deliberately does not retune.

About this lab3 paragraphs

Five panels, in the order a page is built: the archetypes a tool is composed from, the severity scale with every ratio recomputed here, the answer band and the two states in which it correctly renders nothing, the four signature moves, and the closed verdict roster.

Every number on this page is computed here, not copied from somewhere else. Every contrast ratio is worked out from the palette hexes the site actually ships. The arithmetic is done in whole numbers rather than floating point: a 256-entry integer table for the sRGB transform, luminance in units of 10-11, and ratios held as integers a hundred times their true size. You read the same figure on every machine, and it cannot drift from the stylesheet it grades. The verdict words come from the same code that defines them for the whole site, so retiring a word there removes it from this page in the same change.

What it does not do is read your current theme. The severity scale is deliberately not retuned per palette, so the two appearances below are the whole of it in all seventeen themes. Reading the rest of your theme would mean sampling the live page, which this lab cannot do without leaving pure computation. It is on the list of things to add rather than faked.