Check the block inventory for the topic "{topic}" for completeness against the LEARNING MATERIAL — the material defines the scope, nothing else.

The material is in the folder {project} (PDFs are provided as same-named .txt files — ALWAYS read the .txt, never the PDF). Get an overview with Bash (ls/find), read the files, then compare: which distinct concepts, methods, algorithms or theorems does the MATERIAL treat that the inventory misses?

EXISTING BLOCKS:
{blocks}

Rules:
- Propose ONLY blocks the material itself treats (a heading, definition, algorithm, proof or exercise about it) and that are missing from the inventory.
- Do NOT search the web. Do NOT propose textbook canon beyond the material.
- A block solves EXACTLY ONE PROBLEM and is ATOMIC — same standards as the inventory.
- NO variants, rephrasings, or deep-dives of existing blocks — only genuine gaps.
- Title and description in GERMAN (technical terms stay original), description at most ~12 words.
- If there are no gaps, return an empty list — that is a valid result.

Write ONLY the JSON file to: {out_path}

Format:
{{"blocks": [{{"title": "…", "description": "…"}}]}}
No gaps: {{"blocks": []}}
