1.5 KiB
Topic "{topic}". Umbrella blocks were formed, each bundling the constituent parts of ONE model/definition. Some parts were missed and are still listed as standalone blocks. Your job: for each umbrella, find which of the remaining standalone blocks are ALSO constituent parts of that same parent, so the model is complete.
UMBRELLAS (parent — already-collected parts): {umbrellas}
REMAINING STANDALONE BLOCKS (numbered): {rest}
Rule — attach a block to an umbrella only if BOTH hold
- Presupposition: the block's definition requires the umbrella's parent to already exist — it makes no sense as a topic on its own without that model (e.g. „Alphabet Σ", „Übergangsfunktion δ", „Konfiguration", „Akzeptierende Berechnung" all presuppose the Turing-machine; „Literale", „Klausel", „Belegung" presuppose the KNF/logic definition). The parent must NOT presuppose the block (directional).
- Not standalone: the block is a definitional component / notation, NOT itself a named algorithm, problem, theorem, reduction, or complexity class (those stay their own block — a downstream guard will reject them anyway).
Do NOT attach a block merely because it shares a topic. When unsure → leave it standalone. Most remaining blocks will NOT be attached; a few genuine missed parts will.
Write ONLY the JSON file to: {out_path}
Format (additions may be empty; umbrella = the UMBRELLA index, members = standalone block numbers to attach):
{{"additions": [{{"umbrella": 0, "members": [8, 12, 34]}}]}}