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": []}}