Skip to content
Wishdeal Factory Commission a build

Audits the Factory runs against itself

51 audits across 5 classes verify the catalog every hour. The audit suite has caught 2,800+ quality issues across 247 product pages over 154 iters. This page documents what every audit checks for, on what cadence.

Jump to: Catalog-wide (1) Per-surface (15) Cross-cutting (32) Meta-audit (1) Lint (1)

Live results from these audits are surfaced on the quality report. The full ship-log of 154 iterations is at /factory/log/ship-logs/. The 150-iter retrospective is at milestone-150.

Catalog-wide (1)

AuditCadenceWhat it catches
audit-fakeproofdaily 4:30amScans all buyer-facing pages for fake live-customer claims (specific numbers + named companies). Wishdeal Factory only ships when there is no live customer base.

Per-surface (15)

AuditCadenceWhat it catches
audit-adoptability-driftevery 15 minScores in adoptability.json must match the Adoptability number shown in each product Product JSON-LD.
audit-page-identityevery 30 minFor 10 per-product surfaces, verifies the title/H1 contains the product name. Catches Caddy fall-through where missing pages serve the homepage.
audit-hero-polish-driftevery 30 minWD_HERO_POLISH_v1 blocks on /builds// match the polished.h1 in their source hero-polish JSON file.
audit-og-coverageevery 30 minEvery /builds// page has a valid og:image meta tag pointing to an existing PNG.
audit-teaser-qualityevery 30 minEvery dossier teaser has product H1, tagline, score, category, unlock URL, and 5+ bullets.
audit-case-studies-qualityevery 30 minEvery /case-studies/ page uses the template marker + honest-framing language + matches product name.
audit-faq-qualityevery 30 minEvery /faq/ page has the template marker, product name match, and at least 8 question elements.
audit-unlock-contentevery 30 minEvery /unlock// page has product name in title + visible score + $5 price + email-capture form.
audit-adopt-contentevery 30 minEvery /adopt// page has product name + $99/$199 price + adopt-tier framing + email form.
audit-feedback-contentevery 30 minEvery /feedback/ page has form, email input, textarea, product reference in body.
audit-pricing-contentevery 30 minEvery /builds//pricing/ page has product name + 2+ $-amounts + /factory/ CTA. Template-agnostic across 4 layouts.
audit-vs-contentevery 30 minEvery /vs/ page either has gated honesty (in $5 dossier + unlock CTA) or named-incumbent comparisons (2+ blocks).
audit-how-it-works-contentevery 30 minEvery /how-it-works/ page has 3+ section blocks + recognized section keywords (Implementation plan, tech stack, MVP scope, build tasks).
audit-sales-kit-contentevery 30 minEvery /sales-kit/ page either has gated stub, full kit (5+ items), or LinkedIn outbound (5+ message cards).
audit-skeptic-memos-contentevery 30 minEvery /skeptic-memos/ page has gated stub OR 1+ memo with verdict label.

Cross-cutting (31)

AuditCadenceWhat it catches
audit-cross-surface-nameevery 30 minFor each renamed product, all 11 surfaces consistently use the brand name (no split-brain).
audit-jsonld-coverageevery 30 minEvery build page has parseable JSON-LD with required schema.org fields + brand-name consistency.
audit-meta-tags-coverageevery 30 minEvery build page has title + meta description (>=25c) + canonical + 5 og: tags + viewport + charset.
audit-internal-linksevery 30 minEvery /factory/ href on every build page resolves to an existing file.
audit-twitter-cardevery hourEvery build page has twitter:card + twitter:title + twitter:description + twitter:image.
audit-emoji-presenceevery hourNo literal or entity-encoded emojis in user-facing copy (skips decorative icon wrappers).
audit-cross-surface-taglineevery hourFor each product, canonical tagline matches across /pricing/, /vs/, /how-it-works/, /sales-kit/.
audit-page-load-sizeevery hourNo build page exceeds 80KB (Lighthouse-aware threshold for fast first-paint on mobile).
audit-html-validity-basicevery hourOpen/close tag count balance for 20 common tags + unterminated script/style detection.
audit-html-lang-attrevery hourEvery build page declares <html lang="en">. WCAG 3.1.1.
audit-favicon-coverageevery hourEvery build page has <link rel="icon"> declaration to avoid /favicon.ico 404.
audit-form-labelsevery hourEvery form input on /unlock/, /adopt/, /feedback/ has aria-label or matching <label for=id>. WCAG 3.3.2.
audit-cross-surface-utility-barevery hourAll 11 per-product surfaces have a top-navigation block.
audit-anchor-jump-noiseevery hourNo empty-hash <a href="#"> placeholder CTAs (broken in-page jumps).
audit-cross-surface-back-linkevery hourEvery sub-surface has a link back to the product hub.
audit-published-dateevery hourAll ship-log details + playbook essays declare a published date.
audit-utility-link-targetsevery hourEvery utility-bar nav link resolves to an existing /factory/ page.
audit-aria-hidden-decorativeevery hourDecorative <svg> elements declared aria-hidden or labeled. WCAG 4.1.2.
audit-link-purposeevery hourNo links with non-descriptive text ("click here", "learn more"). WCAG 2.4.4.
audit-keyboard-focus-stylesevery hourEvery build page declares a :focus or :focus-visible style. WCAG 2.4.7.
audit-css-class-conventionsevery hourAll CSS class names follow kebab-case convention.
audit-paragraph-lengthevery hourNo <p> tag exceeds 1000 visible chars (walls of text reduce scanability).
audit-list-vs-paragraphevery hourNo <p> tag masquerading as a list (5+ inline-numbered items).
audit-internal-anchorsevery hourEvery <a href="#xyz"> has a matching id="xyz" target.
audit-section-landmarksevery hourEvery build page has main/nav/footer ARIA landmarks.
audit-h1-uniquenessevery hourEvery build page has exactly one effective <h1> (aria-level overrides honored).
audit-button-anchor-consistencyevery hourNo <div>/<span>/<p> with btn class posing as button (must be <a> or <button>).
audit-skip-linkevery hourEvery build page has a WCAG 2.4.1 skip-to-content link.
audit-heading-hierarchyevery hourHeading levels don't skip (h1->h2->h3, not h1->h3). WCAG 1.3.1. aria-level overrides honored.
audit-bold-densityevery hourNo build page has >20% of paragraph text in <strong>/<b> (excessive bolding).
audit-readability-estimateevery hourEvery build page's Flesch-Kincaid grade level <= 14 (marketing-copy threshold).

Meta-audit (1)

AuditCadenceWhat it catches
audit-drift-detectorevery 5 minCompares 9 drift-prone audit snapshots against expected pass-state. Alerts on regressions. Pairs with 7 cron guard-rail injectors for self-healing.

Lint (1)

AuditCadenceWhat it catches
audit-em-dash-sweepevery 15 minStrips em-dashes from user-facing copy (Wes-feedback no em-dashes rule).

Generated 2026-05-16T01:53:02.305942+00:00. 51 audit systems. Cadence ranges from every 5 min (drift-detector) to daily (fakeproof). 7 cron guard-rail injectors run every 5 min to auto-restore one-shot accessibility fixes.