CyberSkill · Verification suite

Dev-only deep-check harnesses. Not compiled, not shipped. Owner doctrine: whole-set checks, never surface spot-checks.

Responsive preview
Manifest-driven — every template (grouped, filterable) rendered live at mobile 390 / tablet 768 / desktop 1280. Fresh iframes per selection. This is the user-facing "all variants available" tool; reach into iframe.contentDocument to confirm grids collapse 4→2→1, the app-shell sidebar becomes a top strip, and decks scroll.
Responsive overflow audit
Loads all 84 templates in fresh single-navigation iframes (race-free — reused iframes lose the @import race and give false positives) and fails if any has horizontal document overflow at mobile 390. Canvas decks/social scroll internally (0 document overflow). window.__overflow.pass must be true.
VN overflow scan
Forces Tiếng Việt across every toggle-able template and measures clipping / horizontal overflow. Results on window.__vn.
A11y harness
Every interactive .cs-* control: focus-ring probe, tap-target heights, and CSSOM checks for the coarse-pointer / reduced-motion / prefers-contrast rules.
Token contract
Applies all 15 element×variant scopes and asserts the 9 --cs-accent-* roles + core tokens resolve. window.__contract.
Component children test
Mounts void-element components with a stray child (the React #137 trigger) in error boundaries. window.__result.anyThrew must be false. Re-run on a fresh turn (loads the compiled bundle).
Consumer smoke test
Imports styles.css + _ds_bundle.js the way an external project would, mounts real components off the namespace, and asserts tokens resolve + brand token reaches a Button. window.__smoke.pass must be true.
Docs-consistency check
Reads _ds_manifest.json + VERSION (the compiler's truth) and asserts every count & version claim in the live doc prose matches. Scans README-above-changelog / SKILL / llms + the two CHANGELOG version pointers — never changelog bodies (they freeze historical counts). Catches stale template counts and lagging version pointers. window.__docs.pass must be true.
Namespace-portability guard
Fetches every manifest-indexed source (84 template entries + 56 cards) + the bundle-consuming kit pages and fails if any hardcodes the compiler's project-id namespace suffix (e.g. …_847b3c) instead of resolving it by prefix or via the window.CyberSkillDS alias. Keeps the system zero-touch on re-import into another project. window.__nsguard.pass must be true.
Language overflow audit
Whole-set language pass: forces Tiếng Việt on all 84 templates in fresh race-free iframes and fails on any VN-induced document overflow or text clipping @390 (also confirms VN applies everywhere). window.__language.pass must be true. vn-overflow.html is the detailed per-element companion.
Dark-theme audit
Whole-set theme pass: forces dark on all 84. Hard gate = dark actually applies + 0 document overflow in dark @390 (window.__theme.pass). Contrast is advisory only — a DOM walk can't read painted fg/bg reliably here (verified false reads on decks that render fine); trust docs/contrast-report.md + visual-diff for branded surfaces.
Component behavior test
Drives real interactions on the compiled components — Switch/Checkbox toggle, Accordion single-open, Tabs/SegmentedControl/Pagination selection, CommandPalette filter, and Menu/Popover/Dialog/Drawer open+close (trigger · Escape · overlay/close-button) — and asserts state (beyond mount-only component-children-test). window.__behavior.pass must be true. Loads the bundle; re-run on a fresh turn.
Visual-diff review
Review assist + advisory runner row: compares a live render against its stored baseline side-by-side or as a mix-blend-difference overlay (drift judged by eye — nested-iframe raster is unavailable). 9 per-tier baselines in baselines/ (template archetypes · kitchen-sink composite · UI-kit Pages); the runner's advisory row asserts baseline freshness (window.__visualdiff).
Contrast guard
Deterministic dark-safety: a static lint fails any base rule that sets color: brand-umber on a themeable surface without a [data-theme="dark"] override, plus a token-pair matrix scoring every semantic text×surface pairing (WCAG) in light + dark straight from tokens.json (no DOM, no false reads). Screen-template inline umber is advisory. window.__contrastguard.pass must be true.
Atomic View story coverage
Every primary component export must appear in guidelines/atomic-view.html (sub-parts + data consts excluded). Add a component without a story → fails. Loads the bundle; re-run on a fresh turn. window.__storycov.pass must be true.
Bilingual parity
Enforces the v3 bilingual doctrine: reads components/_i18n/strings.js and fails on any component missing an en/vi table, with mismatched key sets, or empty values. Keeps EN·VI in lockstep as components are wired. window.__bilingual.pass must be true.
A11y CSSOM gate
In the fast runner: coarse-pointer touch targets hold at each control's documented floor (44px default; icon/segmented/native-range tiered lower by design, parsed from source not DOM-rendered); focus-visible ring proven via static scan (universal rule + no unguarded silent outline removal \u2014 ancestor :focus-within pairing recognized); reduced-motion + high-contrast blocks present; every control keeps an accessible name. window.__a11ycss.pass.
A11y interaction gate
Keyboard + ARIA assertions on the compiled components: Dialog/Drawer focus trap + restore (initial focus, Tab wrap, Escape), roving tabindex (Tabs · SegmentedControl · Menubar arrows), combobox aria-activedescendant, and role/label contracts (Rating, InputOTP, DataGrid aria-sort, Carousel, Popconfirm, live regions). In the fast runner. window.__a11y.pass must be true; re-run on a fresh turn.
APCA dark packs — preview + gate
Live from tokens/elements.css: every dark elemental pack scored against APCA targets (bright ≥ 75 · accent ≥ 60 · button ink ≥ 75 · ink-on-tint ≥ 75). Since the v4.0.0 owner-approved cut this is a fast-runner gate (current must pass 15/15, __apcaPreview.currentFail === 0); it still derives + previews proposals for any future pack.
Template schema v2
Validates every opt-in templates/<slug>/content-schema.json (typed content-slot metadata, spec docs/template-schema-v2.md) against the JSON Schema + bidirectionally against the template's real {{ hole }}s. 3 exemplars (product/document/deck) ship in v4.2.0; coverage across all 84 reported informationally, not required. window.__schemav2.pass.
ESM smoke test
In the fast runner: the no-build module path — import { Button } from "_esm/cs.mjs" self-ensures React + bundle, resolves the namespace by prefix, re-exports all components. Asserts export/manifest parity (new component without regeneration fails) + brand token reaches a mounted Button. window.__esm.pass.
Density gate
In the fast runner: data-cs-density="compact" resolves the tightened control tokens and shrinks rendered controls (36/30/38); comfortable/default metrics stay byte-identical; the compact scope is @media (pointer: fine)-gated so the coarse 44px floor survives. window.__densitygate.pass.
Density overflow audit
Whole-set density pass: forces compact on all templates @1280 in fresh race-free iframes and fails on any horizontal overflow. window.__density.pass must be true.
Token pipeline parity
In the fast runner: re-derives every constant expected in the committed native token files (tokens/native/ — SwiftUI · Compose · Flutter) from tokens.dtcg.json and asserts verbatim presence, plus tokens/provenance.json integrity (source + target sha-256 pinning — the drift authority; release stamp informational, counts). window.__tokenpipe.pass must be true.
QR reader-scan sanity
Advisory (external decoder): renders QRCode, rasterizes with a quiet zone, decodes with jsQR, asserts exact byte round-trip incl. Vietnamese UTF-8. window.__qrscan.
▶ Gate runner
One-click health board — runs every fast deterministic gate in sequence (contrast-guard · docs-consistency · namespace-portability · token-contract · story-coverage · consumer-smoke · component-children · component-behavior · a11y · bilingual-parity) and reports pass/fail + an aggregate. The 4 whole-set state audits (~5 min each) stay separate. window.__run.pass must be true; a Copy import report button emits a paste-ready diagnostic after each run.

Exports proving Vietnamese survives every path live in _audit/exports/. Full notes + the state-forcing API (__dcSetProps) in _audit/README.md.