← INDEX

VALIDATION

PARADIGM STRESS TEST. EXECUTED 2026-07-10.

VERDICT: viable and defensible for expert operator tools with high session frequency (ledgers, incident command, publishing — this repo's three products). Contraindicated for novice-facing, low-frequency, or anxiety-adjacent tasks. Four structural amendments required for WCAG conformance; none require abandoning brutalist constraints.

01 — COGNITIVE LOAD FRICTION

Removing soft hierarchy cues does not remove hierarchy — it relocates it from the pre-attentive visual channel (~200ms, no working-memory cost) to the semantic/lexical channel, which requires foveation and reading. The system trades perceptual bandwidth for reading bandwidth.

NOVICE (FIRST ~5 SESSIONS)

Expect 20–40% longer time-to-first-action on first exposure: with no elevation cues, "what is clickable" must be read serially, not seen.

Uniform 2px borders create a wall-of-cells effect — every region has identical visual weight. Whitespace and the 3px dividers carry the entire gestalt load.

Counterweight: zero decorative distractors shrinks the search space. The novice penalty is real but bounded.

EXPERT (>20 SESSIONS)

Fixed positions + zero animation → spatial memory fully amortizes. Motor plans replace visual search.

Synchronous state removes the "did it really save?" verification loop; each action closes its own feedback loop in the same frame.

Dense tabular layouts beat progressive disclosure for expert lookup tasks across the published literature.

Structural requirement: hierarchy is text-borne, so the 48/32/24/16/13 type scale is load-bearing. One mis-leveled heading costs more here than in a soft system — there is no redundant cue to recover from.

02 — WCAG 2.2 CONFLICT MATRIX

#CONSTRAINTCLASHLEVELBRUTALIST REMEDIATION
C1Pure #000/#FFF everywhere (21:1)Sustained max contrast → halation/glare for astigmatic readers (~10%)AAA-adjKeep default; ship user-invoked PAPER MODE (#111 on #F2F2F2, still >12:1). A visible mechanical toggle is more brutalist than silently softening.
C2#FF0000 / #00FF00 as sole encodings1.4.1 Use of ColorA — HARD FAILColor never carries meaning alone: every alert row gets a text prefix (ERR:, OK:) or ▮ glyph. #00FF00 only legal on black (1.4:1 on white).
C3Zero animation, instant DOM swaps2.3.3 Animation from InteractionsAAA — PASS FREEShip it. prefers-reduced-motion users get the default experience.
C4Zero transitions → zero focus affordance if unstyled2.4.7 Focus Visible; 2.4.11 Focus Not ObscuredAA3px solid #FF0000 outline, 0px radius, 2px offset, every focusable. Instant, ugly, unmissable.
C5Dense tables, minimal padding2.5.8 Target Size Minimum 24pxAAKeep 13px text; pad interactive cells to ≥24px hit area. Density = information per screen, not pixels per button.
C6ALL-CAPS body copyReadability (advisory) — caps remove word-shape cues; ~10–15% slower, worse for dyslexic readersADVISORYUppercase restricted to labels/headings ≤6 words. Body and table data mixed case. Caps become a signal of chrome vs. data.
C7Form labels as bare cells1.3.1 Info and Relationships; 3.3.2 Labels or InstructionsABrutality is a CSS concern; DOM stays semantic: label[for], th[scope], fieldset. No div-soup — screen readers get a better document than most soft UIs.
C8Raw error dumps in-flow4.1.3 Status MessagesAArole="alert" / aria-live="assertive" on error blocks. Mechanical honesty must be announced mechanically.

Two hard Level-A conflicts (C2, C7), both repairable inside the doctrine. The flat DOM is structurally favorable to assistive tech; every risk sits at the perceptual layer.

03 — QUANTITATIVE TESTING PROTOCOL

Between-subjects A/B (within-subjects is contaminated by spatial-learning carryover). Variant A: this build. Variant B: identical feature set and information architecture in a modern SaaS skin (shadows, optimistic toasts, skeleton loaders) — isolating the rendering paradigm. n ≥ 40 per arm per cohort (novice / expert), d = 0.5, α = .05, β = .20. Sessions on days 1, 3, 7, 14, 30: the paradigm's bet is on the learning curve, so single-session tests are structurally biased against it.

KEYMETRICDEFINITIONINSTRUMENT
TSVTASK SUCCESS VELOCITYCorrect completions per minute per session; report the day-1 → day-30 slope, not point valuesEvent-log timestamps; success rubric scored blind
ERRERROR RECOVERY RATE% of user-caused error states resolved without help; median time-to-recoveryError-state instrumentation + recording audit
OFIOPERATOR FATIGUE INDEXPer 90-min session: NASA-TLX + blink-rate delta + within-session error-rate slopeSurvey + webcam blink tracking + logs
—GUARDRAILSSUS at day 1 and day 30; voluntary return rate; rage-click rateStandard

WIN CONDITION

Expert TSV slope superior; ERR ≥ parity; day-30 SUS ≥ parity — even if day-1 SUS loses badly (it will).

FAIL CONDITION

OFI significantly worse at day 30 (halation/caps fatigue), or novice ERR inferior — honesty producing confusion, not transparency.

KILL CRITERION

Novice day-7 abandonment >2× variant B. No learning-curve argument survives users who never reach the curve.

04 — EDGE CASE MATRIX: HONESTY VS. PANIC

Transparency builds trust only when the disclosed signal is actionable or interpretable by its reader. Disclosure the reader cannot act on converts into perceived loss of control — and perceived control, not information volume, is the trust variable. Honesty is an asset with a competence-dependent yield curve.

DISCLOSUREEXPERTNOVICETHRESHOLD RULE
Raw latency readout (142ms)Trust ↑ — live, measured systemNeutral-to-noiseSafe always: glanceable, low-stakes.
Latency during degradation (8,412ms)Trust ↑↑ — system admits distress before failingAnxiety ↑ without anchorPair number with bound: 8,412ms — RETRY AT 10,000ms. Number + plan = control; number alone = countdown.
Raw stack trace on errorDiagnostic goldPANIC THRESHOLD — machine speaking in tonguesTwo-layer error: plain declarative line (WRITE FAILED. YOUR DATA IS INTACT. RETRY BELOW.) + full trace beneath. Never replace the trace — layer it.
Synchronous "data not saved"ExpectedFrightening, but trust-building iff paired with consequence + exitThree mandatory clauses: WHAT failed, WHAT survived, WHAT to do next. Omitting clause 2 is where honesty becomes cruelty.
Literal empty state (0 RECORDS)CorrectReads as breakageOne line of mechanical orientation: 0 RECORDS. CREATE ONE ABOVE. Zero decoration.

STRUCTURAL GUIDELINES

  1. 01EVERY DISCLOSED FAILURE CARRIES A NEXT ACTION. Transparency without an exit is a trap, not honesty.
  2. 02STATE THE BLAST RADIUS. "YOUR DATA IS INTACT" (or its honest converse) is the single highest-leverage anti-panic clause. Uncertainty about loss — not the error — produces panic retries and forced reloads: that is how user panic becomes system failure.
  3. 03SEVERITY IS TYPOGRAPHIC, NOT CHROMATIC-ONLY. Reserve #FF0000 + ERR: for states requiring action, or operators renormalize and true alerts lose signal (alarm fatigue).
  4. 04HONESTY ABOUT THE FUTURE. Synchronous UIs never leave a frozen frame: show WRITING… 2/5 as literal text. A progress line is a fact, not a delight mechanism.
  5. 05NEVER FAKE, NEVER SOFTEN, ALWAYS BOUND. Disclose the true value; attach the bound or plan that makes it interpretable.

AMENDMENTS ADOPTED

A1Color never sole carrier — text prefix or glyph mandatory on alert/data states. (C2)
A2Universal 3px #FF0000 focus outline. (C4)
A3Uppercase restricted to labels/headings; body and data mixed case. (C6)
A4Two-layer error format (declarative line + raw trace) with blast-radius clause; latency readouts always bounded. (§4)

DISCUSSION