Gates

What has to pass
before this ships.

9 checks stand between a change and this domain. Every number below was written by the check that produced it: this page is generated by the pipeline it describes, so it cannot claim a gate passed when it did not. All are currently green.

Each gate reports two numbers, always the same two: how much it examined, and how much of that failed. More examined is better; anything found is worse.

  1. Harness

    the checks themselves, before they are trusted with anything

    • gate unit tests90tests0failingnpm run testjust now

      the gate scripts checked against fixtures of their own: a compliance check that has never been shown to catch a violation is an assumption, not a gate

  2. Source

    the files as written

    • prose check20posts0tellsnpm run check:prose24d ago

      every published post scanned for the vocabulary and syntax that mark text as machine-written, plus six structural measures of register · 4 structural warnings

  3. Build

    the transform from source into publishable output

    • prelaunch gate75output files0leaksnpm run build11d ago

      every built file searched for the names of 4 unlaunched entries, derived from draft frontmatter, never a hardcoded list

    • copy compliance48output files0violationsnpm run build11d ago

      every built file searched for 11 terms a partner's brand rules forbid, plus any founder-language within 200 characters of their name

    • derived CSP17built pages0unhashednpm run build11d ago

      Content-Security-Policy generated from the build itself: 13 directives, 4 SHA-256 script hashes read off the emitted HTML, no 'unsafe-inline' in script-src, object-src 'none', frame-ancestors 'none'; a hand-written policy would rot silently

  4. Output

    the files that will actually be served

    • build assertions28assertions0failingnpm run test:build11d ago

      assertions against the files in dist/: redirects, headers, feed, sitemap, OG cards

  5. Rendered

    what a browser does with them, in two engines

    • visual matrix476combinations0failingnpm run check:visual11d ago

      17 pages × 14 viewports × 2 browser engines, portrait and landscape, touch emulated on phone widths, asserting zero horizontal overflow and zero page errors in each

    • interaction harness40behaviors0failingnpm run check:interactions11d ago

      every console command, the grid overlay and its badge, the Konami flip and its persistence, the input guard, the WebGL shader compile, 404 digit physics, the contact form against a stubbed endpoint, hover layout stability, and the styled feed page, under the production CSP, in 2 engines

    • layout audit180page renders0findingsnpm run check:layout11d ago

      15 routes × 6 viewports × 2 engines, inspected for text drawn over text, tap targets under 24×24, contrast below WCAG AA, clipped text, and unreadably narrow measures

  6. Ship

    only reachable with every gate above green: a commit hook blocks the attempt locally, and CI blocks the deploy

  7. Deployed

    what the live edge serves, compared byte-for-byte with the build it was handed

    • edge drift12comparisons0driftsnpm run check:edge26d ago

      live robots.txt byte-for-byte against the repo, the security headers, the one-hostname rule, and the build’s own files reachable