Sheet08 / 08
Redline · pre-load checkSystem
Rev A2026-10-22
StatusSample data

System: the drawing set behind the site

01

Tokens

One family, two voices: Archivo for prose and headings, IBM Plex Mono for data. Both are SIL Open Font License fonts, self-hosted. Radius is zero. Borders are full boxes or absent.

Color
SwatchTokenValueUse
--paper#F9F8F5Page
--paper-2#EEEDE8Tinted panels, table header rows
--ink#1C1E22Text, primary box borders
--ink-2#4B4F57Secondary text
--rule#B9BBC0Grid borders, non-text
--redline#D8381BIdentity, primary button, redline strokes
--redline-text#B52C13Red text at 15px
--review-text / --review-fill#7F5800 / #F2E3B8REVIEW only
--ready-text / --ready-fill#1F6B45 / #D6EADFREADY only
--block-fill#F6D9D2BLOCK fill
Type, px at desktop / tablet / mobile
RoleSizeSetting
Display72 / 56 / 44Archivo 600, line 1.02, cover headline only
H144 / 36 / 32Archivo 600, line 1.08
H230 / 28 / 26Archivo 600, line 1.15
H322 / 21 / 20Archivo 600, line 1.25
Lead21 / 20 / 19Archivo 400, line 1.4
Body17Archivo 400, line 1.55, max 68ch
Meta, labels, captions, chips15IBM Plex Mono 500, caps, tracking 0.06em
Floor15Nothing renders smaller, at any size

Spacing runs on 8px: section rhythm 96 / 64 / 48, stacks at 32 and 16. A 12-column grid, 24px gutters on desktop, 16px gutters and side padding on phones, 1632px container.

02

Components

Live examples below. The large components run on sheet 02 with real data.

Mark
VerdictChip
BLOCKREVIEWREADYBRC-28BLOCK
SeverityChip, SampleTag
BLOCKREVIEWSample data
Buttons and link

A disabled button always carries its reason in text beside the button.

AboutThisSheet
FactTile
Checked566legacy export rows
Figure

Any SVG or table goes here.

Fig 8.1 A figure frame with a numbered caption, sample data.
Callout

A full-border note for context which sits beside the work, never a left-rule callout.

Component list
ComponentRole
TitleBlockSticky full-grid header on every sheet
SheetIndexOverlayNative modal dialog, arrow keys, Esc, focus return
SheetFooterPrevious, next, drawn by, checks, contact, legal
AboutThisSheetTwo-line orientation note
FigureFull-border frame with a numbered mono caption
TimingRulerSVG ruler from data, vertical spine under 768px
MiniRulerZoomed ruler segment around one finding
VerdictChip, SeverityChipText plus fill, never color alone
FactTile, KpiTileComputed numbers only
BarFigureSVG bars from data
DataTableFull grid, sticky caption, cards under 620px of container
Ledger, TracePanelFindings with status, notes, SQL rows
RuleCardRule, SQL twin, UAT scenarios
SqlBench, SchemaPanelSQLite in WebAssembly, loaded on demand
MappingTableLegacy to target with transforms and live counts
DriftTable, SignOffChecklistParallel run and release paperwork
ExerciseTask, control, hint, check, answer, explanation
03

Motion

Motion shows state change and nothing else. No scroll-linked effects, no parallax, no preloader, nothing longer than one second.

Motion specification
ElementTriggerTransform and timingReduced motion
Cover rulerFirst paint, once per sessionAxis draws left to right 900ms, gate diamonds fill 120ms each, 40ms stagger, cubic-bezier(0.22, 1, 0.36, 1)Static, fully drawn
Verdict chipStatus changeFill and text crossfade, 180ms ease-outInstant
Ledger rowStatus changeBackground to the verdict fill and back, 620ms ease-outInstant
Trace panel, desktopOpen or closetranslateX(16px) and fade, 240ms cubic-bezier(0.2, 0, 0, 1)Instant
Trace sheet, mobileOpen or closetranslateY(100%) to 0, 260ms cubic-bezier(0.2, 0, 0, 1)Instant
Index overlayOpen or closeOpacity, 200ms ease-out1ms
Buttons and linksHoverFill darkens, underline 2px to 3px, 120ms ease-outInstant
Route changeNavigationFocus moves to the sheet title, scroll to topSame
04

Accessibility

  • Landmarks: header, main with one h1 per sheet, footer. A skip link comes first.
  • Every control works from the keyboard, with a visible 2px focus ring.
  • The sheet index is a native modal dialog: focus stays inside, Esc closes, focus returns to the Index button.
  • Figures carry a text alternative and a hidden data table for screen readers.
  • Color never carries meaning alone. Every chip has text, every redline has a rule tag.
  • Touch targets are 44px or larger. Nothing needs a swipe or a hover.
  • Reduced motion removes every animation except the index fade, cut to 1ms.
05

Adapting the set for the next project

The drawing-set shell
TitleBlock, SheetIndexOverlay, SheetFooter, AboutThisSheet, and figure numbering. Change the sheet list in src/app/sheets.ts, the mark, and the tokens in src/styles/tokens.css. The shell fits any multi-sheet application site.
The SQL twin pattern
A rule carries TypeScript and SQL, and a test proves agreement. Add tables in src/sql/tables.ts and rules in src/engine/rules with a matching .sql file.
The UAT generator
Scenarios come from each rule's Given, When, Then fields. Edit the rule and the test plan follows.
The Exercise component
Task, control, hint, check, answer, explanation. New exercises go in the Workbook sheet with their own check function.
The sample data contract
A generator with a fixed seed proves the clean plan has zero findings, then seeds known defects. Every figure and table header carries the sample data tag.

Sheet index

  1. 01CoverWho built Redline, what the check does, and where to start.
  2. 02The checkThe working tool: programs, rules, trace, ledger, gate, SQL bench, drift.2 of 3 blockedBLOCK
  3. 03Case studyContext, observations, solution, measurement plan, and limits.
  4. 04Readiness auditPrioritized findings with evidence, printable.
  5. 05WorkbookSix guided exercises on the sample data.
  6. 06First 90 daysSix two-week sprints with stories and acceptance criteria.
  7. 07FitRequirement to evidence map, with the gaps stated plainly.
  8. 08SystemTokens, components, motion spec, and how to adapt the set.
  9. ATTAttachmentsResume, cover letter, sample data, and session exports.

Arrow keys move. Enter opens. Esc closes.