---
title: How quality gates work
description: Why the publish path is guarded by deterministic gates instead of LLM judges — with the measurements that forced that design.
locale: en
version: 0.2.0
canonical: https://enterium-developer-docs.pages.dev/developers/how-it-works/quality-gates/
---

> Documentation index: https://enterium-developer-docs.pages.dev/developers/llms.txt — every page of this portal has a Markdown twin at <route>.md; the frozen API contract is at https://enterium-developer-docs.pages.dev/developers/api/openapi.json.

**The problem:** an autonomous pipeline that publishes without human review
needs something on the publish path that says *no*. The obvious 2024-era
answer — "have an LLM judge the article" — was tried here and measured.
It failed.

## The measurements that set the design

Two results shaped everything:

1. **Cheap LLM judges anti-correlate with human quality ratings** on this
   workload — articles the judge scored highest, humans scored lower. A
   gate built on that signal would have *inverted* quality.
2. **Naive corpus-grounding produced ~73% false positives** when used to
   detect fabricated claims — checking a sentence against the corpus
   flags mostly innocent phrasing, not invention.

The conclusion is the platform's quality doctrine: **deterministic gates
decide; LLMs only advise.** Where an LLM verdict is unavoidable, it must be
*evidence-anchored*: a verbatim quote from the text is required for any
non-zero score, and the quote is mechanically checked to actually occur as
a substring — a judge cannot praise what it cannot cite.

## The gates on the publish path

```mermaid
flowchart LR
    ART[Candidate article] --> D[Topic dedup<br/>embedding similarity]
    D --> G[Claim verification<br/>grounding gate]
    G --> Q[Quality scoring<br/>brand + language signals]
    Q --> PUB[Publish]
    D -- too similar --> DEFER[Deferred<br/>not discarded]
    G -- ungrounded claim --> QN[Quarantined<br/>for review]
```

- **Topic dedup** — the candidate is embedded and compared against the
  contract's already-published topics *and* its batch peers. A duplicate is
  **deferred**, not deleted: the verdict is "not now", because topic space
  frees up as content ages. The same comparator also runs earlier, on the
  Collect side, so most duplicates are never generated at all — one core,
  two seams.
- **Claim verification** — numerical and normative claims are checked
  against retrieved *sources*, not against the corpus alone ("verify
  against the world, not against yourself" — the lesson of the 73%
  false-positive measurement). An article with unverifiable claims is
  quarantined.
- **Quality scoring** — deterministic signal battery (brand-safety,
  language consistency, structural checks) stamped onto every article:
  telemetry that feeds audits and remediation.

## One set of gates, three vocabularies

The same gates appear under three names across this portal, which is a
historical accident worth naming once. [Content lifecycle](../../platform/content-lifecycle/#the-publish-path-and-its-gates)
lists them as the publish-path table above. The
[writing framework](../writing-framework/) calls the single quality step at
the end of the generation pipeline *the gate* — it is the same claim
verification and scoring, seen from inside the pipeline. And
[copywriting evaluation](../copy-evaluation/) speaks of two co-equal gates,
TRUE∧ACCURATE and EASY∧PLEASANT — those are the *criteria*: claim
verification serves the first; the readability rubric and the anti-template
battery serve the second. "Publishes without human review" means no human
reads each article before it goes live: the readability rubric was
calibrated by humans offline, but at night it runs mechanically.

## The failure philosophy: quarantine, not regeneration

A gate failure does **not** trigger regeneration. Measured on live data,
the overwhelming majority of blind retries fail the same gate again —
burning money to re-lose the same argument. A failed article goes to
quarantine and returns only when something *material* changed (the corpus
gained relevant facts, the topic freed up). Every re-entry path is
enumerated; there is no silent retry loop.

## Trade-offs

Deterministic gates have false positives too — a defer verdict on a
genuinely fresh angle, a grounding block on a claim whose source phrasing
differs in units. The design accepts this: on an autonomous publish path, a
wrongly-held article costs a day; a wrongly-published fabrication costs
trust. Signals are tuned against measured false-positive rates, and every
gate's verdict is recorded with the article, so a human can overrule with
full context.

## See it in two minutes

Read the gate verdicts on any article via the API (`quality`/`publish`
domains), or see where the gates sit in
[Content lifecycle](../../platform/content-lifecycle/#the-publish-path-and-its-gates).
