Governance

Archic Quality Standard

Last reconciliationFrozen 2026-08-14
v1.0.0

Pass or fail. Evidence before opinion.

Quality is pass/fail. Scores prioritize work; they never override a blocking failure. This standard is derived from the frozen Archic Design System gate and is machine-readable so every runner evaluates the same contract.

88Total checks
19Automated
55Hybrid

A · Brand coherence

8 checks
  1. The identity is consistent across every page and every statehybrid
  2. Typefaces used as specified — no stray system fonts, no unintended weightshybrid
  3. Colours from the token set only — no hardcoded hex anywhere (`grep -rE "#[0-9a-fA-F]{3,8}" src/` returns only tokens and documented exceptions)automated
  4. Tone of voice consistent — including error messages, empty states, confirmation emails and the 404manual
  5. Iconography consistent in weight, size, terminals and metaphorhybrid
  6. Favicon, app icons, OG images all present and correctautomated
  7. The site would look wrong with a competitor's logo on ithybrid
  8. **Direction Vector divergence check passed and recorded** in the project registryhybrid

B · Visual craft

12 checks
  1. All alignments correct — optically, not just mathematicallyhybrid
  2. Spacing from the scale everywhere; no arbitrary valueshybrid
  3. Rhythm consistent page to pagehybrid
  4. Hierarchy clear on every screen (blur test at 12 px produces the intended grouping)manual
  5. No orphans in headlines or pull quotes at any breakpointhybrid
  6. Tracking correct at every sizehybrid
  7. All images ≥2× density; no compression artefacts, no upscaling, no soft downscaleshybrid
  8. Crops correct at every breakpoint — **looked at, not assumed**manual
  9. Consistent grade across the whole image sethybrid
  10. Aspect ratios consistent within each sethybrid
  11. No layout shift on load — watch it load, don't just read the CLS numbermanual
  12. Text never sits on an unmanaged photographmanual

C · Interaction

10 checks
  1. Every interactive element has all six stateshybrid
  2. Hover ≤140 ms, everywherehybrid
  3. Focus visible on every element, ≥3:1, never removedhybrid
  4. Loading states hold layout — button widths do not changehybrid
  5. Transitions consistent with the declared motion intensityhybrid
  6. Dialogs: focus trapped, restored, Escape closes, scroll locked without shifthybrid
  7. Drawers slide from their own edge; swipe-dismiss on touchhybrid
  8. No hover-only information or actionshybrid
  9. Feedback within 100 ms of every actionhybrid
  10. Repeated-path interactions under 200 mshybrid

D · UX

11 checks
  1. Primary task completable in the minimum reasonable stepshybrid
  2. Navigation clear; current location always evidenthybrid
  3. One primary action per viewhybrid
  4. Every form: validation, errors, success, preserved inputhybrid
  5. Every error says what happened, why, and what to do nexthybrid
  6. Every empty state designed, not defaultedhybrid
  7. Destructive actions reversible or specifically confirmedhybrid
  8. Back button works; scroll position restoredhybrid
  9. Deep links work, including filtered viewshybrid
  10. 404 and 500 pages designed and helpfulhybrid
  11. The interaction signature exists and works on touchhybrid

E · Responsive

10 checks
  1. 320 px — no horizontal overflow anywhereautomated
  2. 375 px — the mobile composition, not a squeezehybrid
  3. 768 px — decided explicitly, not left to chancehybrid
  4. 1024 / 1440 / 2560 pxhybrid
  5. Landscape phone (short viewport — sticky headers do not eat the screen)hybrid
  6. 200% browser zoom — nothing lost, nothing overlappingautomated
  7. Touch targets ≥44 px, ≥8 px apartautomated
  8. Sticky elements do not cover content; safe areas respectedhybrid
  9. Tables have a real mobile strategyhybrid
  10. Forms usable with the on-screen keyboard openhybrid

F · Content

10 checks
  1. Zero Lorem ipsum, zero placeholder images, zero `TODO`automated
  2. Every headline passes the find-and-replace testhybrid
  3. Zero banned phrases from the anti-slop registryhybrid
  4. Spelling and grammar checked by a native speaker, in every languagemanual
  5. All facts verified with the client — prices, hours, addresses, phone numbers, names, dateshybrid
  6. **Every phone number dialled. Every email sent to. Every link clicked.**manual
  7. Every map pin checked against the real addressmanual
  8. Legal pages present and current (privacy, cookies, terms, and for Spain: aviso legal / LSSI)hybrid
  9. Every language complete — no untranslated stringshybrid
  10. Copyright year correct and auto-updatingautomated

G · Technical

17 checks
  1. LCP ≤2.0 s, INP ≤200 ms, CLS ≤0.05 on a mid-tier Android over 4Ghybrid
  2. Lighthouse ≥90 performance, ≥95 accessibility, ≥95 best practices, ≥95 SEOautomated
  3. axe DevTools: zero violationsautomated
  4. Primary task completable by keyboard alonehybrid
  5. Screen reader tested on the primary flowmanual
  6. Reduced motion verified **by using the site with it enabled**automated
  7. Semantic HTML; one `<h1>`; no skipped heading levelsautomated
  8. Meta titles and descriptions unique and written, not generatedautomated
  9. OG and Twitter cards present, tested in a real previewhybrid
  10. Structured data where relevant (LocalBusiness, Restaurant, Product, Article)hybrid
  11. `sitemap.xml`, `robots.txt`, canonical URLsautomated
  12. 301s from any old URLshybrid
  13. HTTPS, HSTS, security headersautomated
  14. Forms tested end to end — **including that the email actually arrives**manual
  15. Analytics and RUM installed and firinghybrid
  16. Cookie consent compliant and not blocking renderingmanual
  17. Tested in Safari, Chrome, Firefox, and Safari iOSmanual

H · System integrity

9 checks
  1. `node tools/validate-project.mjs project.config.json` exits 0hybrid
  2. `styles/foundation.css` and `styles/semantic-contract.css` match the frozen Archic release (`verify-client-foundation.mjs`)automated
  3. Semantic contract validator passes — every brand role explicitly mappedautomated
  4. `node tools/contrast.mjs styles/brand.css` exits 0 for the default theme **and every additional theme** (WCAG + APCA)hybrid
  5. No out-of-sRGB gamut failures in contrast validationautomated
  6. `node tools/static-audit.mjs .` has zero blocking findingsautomated
  7. No arbitrary z-index values outside the scaleautomated
  8. Brand file header complete: vector, archetype, fonts, licences, contrast verification datehybrid
  9. Asset provenance exists and matches the declared prototype/production policymanual

I · Polish pass

blocking

Nothing feels like a template, demo or unfinished product.