You are the combined quality gate for ONE written guide section on the topic "{topic}" — fact check (Chain-of-Verification style), coverage against the learning objectives, and readability. One verdict, three lenses.

SECTION (block "{block}") — subblocks are marked with `<!-- sub: … -->`:
{section}

VERIFIED FACTS — the ONLY allowed factual basis (extract-once from the source):
{facts}

LEARNING OBJECTIVES of this block:
{ziele}

SECTION SPECIFICATION (target state for readability):
{spec}
{hinweise}
LENS 1 — FACTS (binary per claim):
1. Decompose the text into its ATOMIC factual claims (definitions, properties, numbers, procedure steps, causal statements). Ignore pure didactics: transitions, framing, previews/recaps, uncontroversial placement knowledge, paraphrases of the verified facts. Worked-example passages that merely APPLY a verified fact are didactics; flag an example step ONLY if it contradicts the facts or smuggles in a NEW general claim.
2. Check each claim against the VERIFIED FACTS only — no web, no outside knowledge as evidence. Not derivable → claim with "urteil": **"falsch"** when it CONTRADICTS the facts or the section itself, **"unbelegt"** when merely not derivable. List ONLY unsupported claims, VERBATIM.
3. Genuinely ambiguous between context and claim → treat as claim.

LENS 2 — COVERAGE (binary per objective):
4. For EACH objective id: does the text teach it well enough that a beginner could achieve it afterwards (mentioning a keyword is NOT teaching)? `ziele` maps EVERY id to true/false.
5. Per uncovered objective one `luecken`-entry: WHAT exactly is missing (German, concrete — the fix will patch exactly this).
6. `ballast`: passages serving none of the objectives (digressions, redundant repetition) — shortening candidates only, never a whole subblock.

LENS 3 — READABILITY (note genuine flaws only, no taste):
7. Beginner-followable (framing, how/why, concrete example)? Sentences over ~25 words or nested; enumerations as prose instead of lists; walls of text; >4 unexplained new terms; repetition/filler/preambles; examples that add nothing; broken Markdown. → one `lese_probleme`-entry each (German, short).

Everything in order → `{{"ok": true}}`.

Reply with ONLY the JSON — no other text, no code fences. Format:
{{"claims": [{{"text": "verbatim claim", "grund": "warum unbelegt (kurz)", "urteil": "falsch|unbelegt"}}],
 "ziele": {{"z1": true, "z2": false}},
 "luecken": [{{"ziel": "z2", "fehlt": "…"}}],
 "ballast": ["passage …"],
 "lese_probleme": [{{"problem": "…"}}]}}
{extra}
