DCS / Tools / Sentinel
Build quality · auto-scored · signed

Every DCS build gets a quality score. Out of 100.

Sentinel is the QA layer that runs after every Platform build. It scores Lighthouse, accessibility, completeness, and copy quality, then publishes a composite 0-100 score with a receipt. If anything regresses on a re-deploy, you'll see it before users do.

Anomaly detection cost-per-request · last 24h ANOMALY DETECTED 14:32 · cost ↑ 8.4× normal 1 ALERT Auto-paused vendor mistral · root cause: prompt loop · ETA 12m
The 4 axes

Four signals. One composite.

Lighthouse

Performance, Best Practices, SEO. Run from Google's official Lighthouse CLI. p50 / p95 of the 4 subscores → composite.

Contrast / a11y

WCAG 2.2 AA compliance: contrast ratios, semantic HTML, alt text, keyboard nav, ARIA roles, color-independence.

📐

Completeness

Does it have the sections it should? FAQ, contact, pricing, footer, sitemap, OG image, favicons, robots.txt — checked.

✍️

Copy quality

Claude-Haiku rates copy on clarity + tone + grammar + brand-fit. Cheap, fast, surprisingly opinionated.

How it scores

Composite = 0.30·LH + 0.25·a11y + 0.20·complete + 0.25·copy

Each axis returns 0-100. The composite weights performance + copy slightly higher than the others (those are what users actually feel). Weights are tunable per project.

🟢

≥ 85 — healthy

Production-ready. Ship it. Re-scored on every redeploy to catch regressions.

🟡

70-84 — needs review

Ship with caveats. Sentinel surfaces the lowest-axis issues + suggested fixes in your dashboard.

🔴

< 70 — blocking

Auto-blocks deploy unless overridden. Common failure: bad contrast on dynamic-color hero, missing FAQ on a service page.

Signed scores

Trust scores you can audit.

Every Sentinel score writes a receipt with the test inputs + outputs + the binary hashes of the Lighthouse/aXe/Haiku runs. Anyone can re-run the same tests against the same site and compare.

# Re-verify any Sentinel score:
$ npx @dcsplatform/sentinel-verify bafy…9f3c
→ Re-running Lighthouse on https://bella-cucina-v2.dcsai.app...
→ Re-running aXe contrast check...
→ Re-running completeness audit...
→ Calling Haiku for copy re-score...

✓ Composite re-verified: 87/100 (delta < 1.5)
✓ All axis scores within ±3 of recorded
✓ Receipt chain intact
FAQ

Common questions.

Why does this exist? Lighthouse is already free.
Lighthouse alone misses copy quality + completeness. Sentinel composes 4 signals into one number, runs it automatically per build, signs the result. The number is the contract: "an 87 today is still an 87 in 3 months unless someone changed something."
Can the score be gamed?
Hard to. Lighthouse is rerunnable by anyone. a11y is rule-based. Completeness checks structural HTML. Copy is judged by Claude-Haiku, which is independent of you. The receipt makes the inputs auditable so gaming gets caught.
Does it work on non-DCS sites?
Yes — point Sentinel at any URL via the API. Gets a score. Doesn't get receipt-signed unless the site is hosted on DCS (since signing requires our worker to attest the page state at scan time).
How often does it run?
On every build. Plus a weekly background sweep that re-scores all your sites + alerts if anything dropped >5 points.
Pricing?
Free with DCS Platform. $9/mo per non-DCS site if you want to score external builds.

Quality you can audit. Regressions you'll catch.

Every build scored. Every score signed. Free with Platform.

Build & get scored →Verify a score