{
  "schemaVersion": 1,
  "version": "1.0.0+5b4307882dc4",
  "count": 70,
  "items": [
    {
      "id": "CLF041",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Limit",
      "logic": "necessary vs sufficient",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X] is necessary but not sufficient for [Y]."
        },
        {
          "lang": "de",
          "formula": "[X] ist notwendig, aber nicht hinreichend für [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-is-necessary-but-not-sufficient-for-y-clf041/"
    },
    {
      "id": "CLF042",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Limit",
      "logic": "insufficient evidence",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X] alone is not enough to [V]."
        },
        {
          "lang": "de",
          "formula": "[X] allein reicht nicht aus, um [V]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-alone-is-not-enough-to-verb-clf042/"
    },
    {
      "id": "CLF043",
      "set_id": "CND",
      "group_id": "CLF",
      "move": "Condition",
      "logic": "necessary prerequisite",
      "formulas": [
        {
          "lang": "en",
          "formula": "Without [X], [Y] cannot [V]."
        },
        {
          "lang": "de",
          "formula": "Ohne [X] kann [Y] nicht [V]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/without-x-y-cannot-verb-clf043/"
    },
    {
      "id": "CLF044",
      "set_id": "CND",
      "group_id": "CLF",
      "move": "Condition",
      "logic": "only-if boundary",
      "formulas": [
        {
          "lang": "en",
          "formula": "Only if [X] can [Y]."
        },
        {
          "lang": "de",
          "formula": "Nur wenn [X], kann [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/only-if-x-can-y-clf044/"
    },
    {
      "id": "CLF045",
      "set_id": "CND",
      "group_id": "CLF",
      "move": "Condition",
      "logic": "prerequisite sequencing",
      "formulas": [
        {
          "lang": "en",
          "formula": "Before we can [X], we need to [Y]."
        },
        {
          "lang": "de",
          "formula": "Bevor wir [X] können, müssen wir [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/before-we-can-x-we-need-to-y-clf045/"
    },
    {
      "id": "CLF046",
      "set_id": "NEG",
      "group_id": "CLF",
      "move": "Decide",
      "logic": "trade-off",
      "formulas": [
        {
          "lang": "en",
          "formula": "There is a trade-off between [X] and [Y]."
        },
        {
          "lang": "de",
          "formula": "Es gibt einen Zielkonflikt zwischen [X] und [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/there-is-a-trade-off-between-x-and-y-clf046/"
    },
    {
      "id": "CLF047",
      "set_id": "NEG",
      "group_id": "CLF",
      "move": "Decide",
      "logic": "balanced evaluation",
      "formulas": [
        {
          "lang": "en",
          "formula": "The advantage of [X] is [Y]; the downside is [Z]."
        },
        {
          "lang": "de",
          "formula": "Der Vorteil von [X] ist [Y]; der Nachteil ist [Z]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-advantage-of-x-is-y-the-downside-is-z-clf047/"
    },
    {
      "id": "CLF048",
      "set_id": "NEG",
      "group_id": "CLF",
      "move": "Decide",
      "logic": "priority risk",
      "formulas": [
        {
          "lang": "en",
          "formula": "If we prioritize [X], we risk sacrificing [Y]."
        },
        {
          "lang": "de",
          "formula": "Wenn wir [X] priorisieren, riskieren wir, [Y] zu opfern."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-we-prioritize-x-we-risk-sacrificing-y-clf048/"
    },
    {
      "id": "CLF049",
      "set_id": "NEG",
      "group_id": "CLF",
      "move": "Decide",
      "logic": "decision reduction",
      "formulas": [
        {
          "lang": "en",
          "formula": "The choice comes down to [X] or [Y]."
        },
        {
          "lang": "de",
          "formula": "Die Entscheidung läuft auf [X] oder [Y] hinaus."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-choice-comes-down-to-x-or-y-clf049/"
    },
    {
      "id": "CLF050",
      "set_id": "CLR",
      "group_id": "CLF",
      "move": "Reframe",
      "logic": "decision reframing",
      "formulas": [
        {
          "lang": "en",
          "formula": "The question is not whether [X], but how [Y]."
        },
        {
          "lang": "de",
          "formula": "Die Frage ist nicht, ob [X], sondern wie [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-question-is-not-whether-x-but-how-y-clf050/"
    },
    {
      "id": "CLF051",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Infer",
      "logic": "evidence vs proof",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X] suggests that [Y], but it doesn't prove it."
        },
        {
          "lang": "de",
          "formula": "[X] deutet darauf hin, dass [Y], beweist es aber nicht."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-suggests-that-y-but-it-doesn-t-prove-it-clf051/"
    },
    {
      "id": "CLF052",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Infer",
      "logic": "alternative explanation",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X] is consistent with [Y], but it could also mean [Z]."
        },
        {
          "lang": "de",
          "formula": "[X] passt zu [Y], könnte aber auch [Z] bedeuten."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-is-consistent-with-y-but-it-could-also-mean-z-clf052/"
    },
    {
      "id": "CLF053",
      "set_id": "PRB",
      "group_id": "CLF",
      "move": "Infer",
      "logic": "best explanation",
      "formulas": [
        {
          "lang": "en",
          "formula": "The most likely explanation is that [X]."
        },
        {
          "lang": "de",
          "formula": "Die wahrscheinlichste Erklärung ist, dass [X]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-most-likely-explanation-is-that-x-clf053/"
    },
    {
      "id": "CLF054",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Compare",
      "logic": "competing hypotheses",
      "formulas": [
        {
          "lang": "en",
          "formula": "One possibility is that [X]; another is that [Y]."
        },
        {
          "lang": "de",
          "formula": "Eine Möglichkeit ist, dass [X]; eine andere ist, dass [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/one-possibility-is-that-x-another-is-that-y-clf054/"
    },
    {
      "id": "CLF055",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Challenge",
      "logic": "cannot rule out",
      "formulas": [
        {
          "lang": "en",
          "formula": "We cannot rule out [X]."
        },
        {
          "lang": "de",
          "formula": "Wir können [X] nicht ausschließen."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-cannot-rule-out-x-clf055/"
    },
    {
      "id": "CLF056",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Test",
      "logic": "prediction from hypothesis",
      "formulas": [
        {
          "lang": "en",
          "formula": "If [X] were true, we would expect [Y]."
        },
        {
          "lang": "de",
          "formula": "Wenn [X] zuträfe, würden wir [Y] erwarten."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-x-were-true-we-would-expect-y-clf056/"
    },
    {
      "id": "CLF057",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Test",
      "logic": "necessary implication",
      "formulas": [
        {
          "lang": "en",
          "formula": "For [X] to be true, [Y] would need to be the case."
        },
        {
          "lang": "de",
          "formula": "Damit [X] zutrifft, müsste [Y] der Fall sein."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/for-x-to-be-true-y-would-need-to-be-the-case-clf057/"
    },
    {
      "id": "CLF058",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Challenge",
      "logic": "explanatory gap",
      "formulas": [
        {
          "lang": "en",
          "formula": "This explains [X], but it doesn't explain [Y]."
        },
        {
          "lang": "de",
          "formula": "Das erklärt [X], aber nicht [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-explains-x-but-it-doesn-t-explain-y-clf058/"
    },
    {
      "id": "CLF059",
      "set_id": "CAU",
      "group_id": "CLF",
      "move": "Cause",
      "logic": "causal chain",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X] leads to [Y], which in turn leads to [Z]."
        },
        {
          "lang": "de",
          "formula": "[X] führt zu [Y], was wiederum zu [Z] führt."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-leads-to-y-which-in-turn-leads-to-z-clf059/"
    },
    {
      "id": "CLF060",
      "set_id": "CAU",
      "group_id": "CLF",
      "move": "Cause",
      "logic": "multi-factor cause",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X] results from a combination of [Y] and [Z]."
        },
        {
          "lang": "de",
          "formula": "[X] ergibt sich aus einer Kombination von [Y] und [Z]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 6,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 6,
            "variation_count": 5,
            "unique_example_count": 6,
            "unique_variation_count": 5,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-results-from-a-combination-of-y-and-z-clf060/"
    },
    {
      "id": "CLF061",
      "set_id": "CLR",
      "group_id": "CLF",
      "move": "Reframe",
      "logic": "corrective reframing",
      "formulas": [
        {
          "lang": "en",
          "formula": "It's not that [X]; it's that [Y]."
        },
        {
          "lang": "de",
          "formula": "Es geht nicht darum, dass [X], sondern darum, dass [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 5,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-s-not-that-x-it-s-that-y-clf061/"
    },
    {
      "id": "CLF062",
      "set_id": "CLR",
      "group_id": "CLF",
      "move": "Reframe",
      "logic": "relative reframing",
      "formulas": [
        {
          "lang": "en",
          "formula": "Not so much [X] as [Y]."
        },
        {
          "lang": "de",
          "formula": "Nicht so sehr [X] als vielmehr [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 5,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/not-so-much-x-as-y-clf062/"
    },
    {
      "id": "CLF063",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Compare",
      "logic": "direct contrast",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X], whereas [Y]."
        },
        {
          "lang": "de",
          "formula": "[X], wohingegen [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 5,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-whereas-y-clf063/"
    },
    {
      "id": "CLF064",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Compare",
      "logic": "dimensioned comparison",
      "formulas": [
        {
          "lang": "en",
          "formula": "Compared with [X], [Y] offers [Z]."
        },
        {
          "lang": "de",
          "formula": "Im Vergleich zu [X] bietet [Y] [Z]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 5,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/compared-with-x-y-offers-z-clf064/"
    },
    {
      "id": "CLF065",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Limit",
      "logic": "scope qualification",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X] may be true for [Y], but not for [Z]."
        },
        {
          "lang": "de",
          "formula": "[X] mag für [Y] gelten, aber nicht für [Z]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 5,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-may-be-true-for-y-but-not-for-z-clf065/"
    },
    {
      "id": "CLF066",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Challenge",
      "logic": "assumption challenge",
      "formulas": [
        {
          "lang": "en",
          "formula": "That assumes that [X], which may not hold."
        },
        {
          "lang": "de",
          "formula": "Das setzt voraus, dass [X], was möglicherweise nicht zutrifft."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 5,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/that-assumes-that-x-which-may-not-hold-clf066/"
    },
    {
      "id": "CLF067",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Test",
      "logic": "diagnostic test",
      "formulas": [
        {
          "lang": "en",
          "formula": "A useful test would be whether [X]."
        },
        {
          "lang": "de",
          "formula": "Ein sinnvoller Test wäre, ob [X]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 5,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-useful-test-would-be-whether-x-clf067/"
    },
    {
      "id": "CLF068",
      "set_id": "CAU",
      "group_id": "CLF",
      "move": "Cause",
      "logic": "causal contribution",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X] may have contributed to [Y], but it was not the only cause."
        },
        {
          "lang": "de",
          "formula": "[X] mag zu [Y] beigetragen haben, war aber nicht die einzige Ursache."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 5,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-may-have-contributed-to-y-but-it-was-not-the-clf068/"
    },
    {
      "id": "CLF069",
      "set_id": "NEG",
      "group_id": "CLF",
      "move": "Decide",
      "logic": "decision with rationale",
      "formulas": [
        {
          "lang": "en",
          "formula": "Given [X], we decided to [Y] because [Z]."
        },
        {
          "lang": "de",
          "formula": "Angesichts [X] haben wir beschlossen, [Y], weil [Z]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 5,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/given-x-we-decided-to-y-because-z-clf069/"
    },
    {
      "id": "CLF070",
      "set_id": "EVD",
      "group_id": "CLF",
      "move": "Test",
      "logic": "revision criterion",
      "formulas": [
        {
          "lang": "en",
          "formula": "I would revise [X] if [Y]."
        },
        {
          "lang": "de",
          "formula": "Ich würde [X] neu bewerten, wenn [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 5,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 5,
            "variation_count": 4,
            "unique_example_count": 5,
            "unique_variation_count": 4,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-would-revise-x-if-y-clf070/"
    },
    {
      "id": "XTHCDG001",
      "set_id": "CDG",
      "group_id": "CDG",
      "move": "Cause",
      "logic": "trigger versus cause",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X] may have triggered [Y], but that does not make it the underlying cause."
        },
        {
          "lang": "de",
          "formula": "[X] kann [Y] ausgelöst haben, ist damit aber nicht automatisch die zugrunde liegende Ursache."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-may-have-triggered-y-but-that-does-not-make-it-xthcdg001/"
    },
    {
      "id": "XTHCDG002",
      "set_id": "CDG",
      "group_id": "CDG",
      "move": "Cause",
      "logic": "competing causal explanations",
      "formulas": [
        {
          "lang": "en",
          "formula": "If [X] were the main cause, we would expect [Y]; if [Z] were, we would expect [W]."
        },
        {
          "lang": "de",
          "formula": "Wenn [X] die Hauptursache wäre, würden wir [Y] erwarten; wenn es [Z] wäre, würden wir [W] erwarten."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-x-were-the-main-cause-we-would-expect-y-if-z-xthcdg002/"
    },
    {
      "id": "XTHCDG003",
      "set_id": "CDG",
      "group_id": "CDG",
      "move": "Cause",
      "logic": "causal mechanism",
      "formulas": [
        {
          "lang": "en",
          "formula": "The link from [X] to [Y] only makes sense if [Z] happens in between."
        },
        {
          "lang": "de",
          "formula": "Der Zusammenhang zwischen [X] und [Y] ergibt nur Sinn, wenn dazwischen [Z] passiert."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-link-from-x-to-y-only-makes-sense-if-z-xthcdg003/"
    },
    {
      "id": "XTHCDG004",
      "set_id": "CDG",
      "group_id": "CDG",
      "move": "Cause",
      "logic": "necessary versus sufficient cause",
      "formulas": [
        {
          "lang": "en",
          "formula": "[X] may be necessary for [Y], but it is not sufficient on its own."
        },
        {
          "lang": "de",
          "formula": "[X] kann für [Y] notwendig sein, ist allein aber nicht hinreichend."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-may-be-necessary-for-y-but-it-is-not-xthcdg004/"
    },
    {
      "id": "XTHCDG005",
      "set_id": "CDG",
      "group_id": "CDG",
      "move": "Cause",
      "logic": "change-based diagnosis",
      "formulas": [
        {
          "lang": "en",
          "formula": "What changed before [X], and what stayed the same?"
        },
        {
          "lang": "de",
          "formula": "Was hat sich vor [X] verändert, und was ist gleich geblieben?"
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-changed-before-x-and-what-stayed-the-same-xthcdg005/"
    },
    {
      "id": "XTHDEC001",
      "set_id": "DEC",
      "group_id": "DEC",
      "move": "Decide",
      "logic": "decision criteria first",
      "formulas": [
        {
          "lang": "en",
          "formula": "We should agree on the decision criteria before comparing [X] and [Y]."
        },
        {
          "lang": "de",
          "formula": "Wir sollten uns auf die Entscheidungskriterien einigen, bevor wir [X] und [Y] vergleichen."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-should-agree-on-the-decision-criteria-before-xthdec001/"
    },
    {
      "id": "XTHDEC002",
      "set_id": "DEC",
      "group_id": "DEC",
      "move": "Decide",
      "logic": "reversibility",
      "formulas": [
        {
          "lang": "en",
          "formula": "If this decision is reversible, we can favour speed over certainty."
        },
        {
          "lang": "de",
          "formula": "Wenn diese Entscheidung reversibel ist, können wir Geschwindigkeit höher gewichten als Sicherheit."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-this-decision-is-reversible-we-can-favour-xthdec002/"
    },
    {
      "id": "XTHDEC003",
      "set_id": "DEC",
      "group_id": "DEC",
      "move": "Decide",
      "logic": "cost of delay",
      "formulas": [
        {
          "lang": "en",
          "formula": "The cost of waiting is [X], while the cost of acting now is [Y]."
        },
        {
          "lang": "de",
          "formula": "Die Kosten des Wartens sind [X], während die Kosten des sofortigen Handelns [Y] sind."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-cost-of-waiting-is-x-while-the-cost-of-xthdec003/"
    },
    {
      "id": "XTHDEC004",
      "set_id": "DEC",
      "group_id": "DEC",
      "move": "Decide",
      "logic": "risk tradeoff",
      "formulas": [
        {
          "lang": "en",
          "formula": "The choice is not between risk and no risk, but between [X] risk and [Y] risk."
        },
        {
          "lang": "de",
          "formula": "Die Wahl besteht nicht zwischen Risiko und keinem Risiko, sondern zwischen [X]-Risiko und [Y]-Risiko."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-choice-is-not-between-risk-and-no-risk-but-xthdec004/"
    },
    {
      "id": "XTHDEC005",
      "set_id": "DEC",
      "group_id": "DEC",
      "move": "Decide",
      "logic": "optionality",
      "formulas": [
        {
          "lang": "en",
          "formula": "We can preserve optionality by [doing X] while postponing [Y]."
        },
        {
          "lang": "de",
          "formula": "Wir können Handlungsspielraum bewahren, indem wir [X] tun und [Y] aufschieben."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-can-preserve-optionality-by-doing-x-while-xthdec005/"
    },
    {
      "id": "XTHFRM001",
      "set_id": "FRM",
      "group_id": "FRM",
      "move": "Frame",
      "logic": "problem framing",
      "formulas": [
        {
          "lang": "en",
          "formula": "A more useful way to frame [X] is as [Y], rather than [Z]."
        },
        {
          "lang": "de",
          "formula": "Hilfreicher ist es, [X] als [Y] statt als [Z] zu betrachten."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-more-useful-way-to-frame-x-is-as-y-rather-than-xthfrm001/"
    },
    {
      "id": "XTHFRM002",
      "set_id": "FRM",
      "group_id": "FRM",
      "move": "Frame",
      "logic": "define success before solution",
      "formulas": [
        {
          "lang": "en",
          "formula": "Before we solve [X], we need to decide what counts as [Y]."
        },
        {
          "lang": "de",
          "formula": "Bevor wir [X] lösen, müssen wir festlegen, was als [Y] gilt."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/before-we-solve-x-we-need-to-decide-what-counts-xthfrm002/"
    },
    {
      "id": "XTHFRM003",
      "set_id": "FRM",
      "group_id": "FRM",
      "move": "Frame",
      "logic": "constraint framing",
      "formulas": [
        {
          "lang": "en",
          "formula": "The constraint we should design around is [X], not [Y]."
        },
        {
          "lang": "de",
          "formula": "Die Randbedingung, an der wir uns orientieren sollten, ist [X], nicht [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-constraint-we-should-design-around-is-x-not-xthfrm003/"
    },
    {
      "id": "XTHFRM004",
      "set_id": "FRM",
      "group_id": "FRM",
      "move": "Frame",
      "logic": "frame consequence",
      "formulas": [
        {
          "lang": "en",
          "formula": "If we define the problem as [X], we will optimise for [Y]."
        },
        {
          "lang": "de",
          "formula": "Wenn wir das Problem als [X] definieren, werden wir auf [Y] optimieren."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-we-define-the-problem-as-x-we-will-optimise-xthfrm004/"
    },
    {
      "id": "XTHFRM005",
      "set_id": "FRM",
      "group_id": "FRM",
      "move": "Frame",
      "logic": "distinction reframing",
      "formulas": [
        {
          "lang": "en",
          "formula": "The question changes once we distinguish [X] from [Y]."
        },
        {
          "lang": "de",
          "formula": "Die Frage verändert sich, sobald wir [X] von [Y] unterscheiden."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-question-changes-once-we-distinguish-x-from-xthfrm005/"
    },
    {
      "id": "XTHHYP001",
      "set_id": "HYP",
      "group_id": "HYP",
      "move": "Test",
      "logic": "testable hypothesis",
      "formulas": [
        {
          "lang": "en",
          "formula": "If our hypothesis is right, we should observe [X] when [Y]."
        },
        {
          "lang": "de",
          "formula": "Wenn unsere Hypothese stimmt, sollten wir [X] beobachten, wenn [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-our-hypothesis-is-right-we-should-observe-x-xthhyp001/"
    },
    {
      "id": "XTHHYP002",
      "set_id": "HYP",
      "group_id": "HYP",
      "move": "Test",
      "logic": "falsifying evidence",
      "formulas": [
        {
          "lang": "en",
          "formula": "I would revise this hypothesis if [X]."
        },
        {
          "lang": "de",
          "formula": "Ich würde diese Hypothese revidieren, wenn [X]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-would-revise-this-hypothesis-if-x-xthhyp002/"
    },
    {
      "id": "XTHHYP003",
      "set_id": "HYP",
      "group_id": "HYP",
      "move": "Test",
      "logic": "alternative hypothesis",
      "formulas": [
        {
          "lang": "en",
          "formula": "What would distinguish [X] from the alternative that [Y]?"
        },
        {
          "lang": "de",
          "formula": "Woran könnten wir erkennen, ob [X] zutrifft oder stattdessen [Y]?"
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-would-distinguish-x-from-the-alternative-xthhyp003/"
    },
    {
      "id": "XTHHYP004",
      "set_id": "HYP",
      "group_id": "HYP",
      "move": "Test",
      "logic": "information gain",
      "formulas": [
        {
          "lang": "en",
          "formula": "The most informative next test would be [X], because it would separate [Y] from [Z]."
        },
        {
          "lang": "de",
          "formula": "Der informativste nächste Test wäre [X], weil er [Y] von [Z] unterscheiden würde."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-most-informative-next-test-would-be-x-xthhyp004/"
    },
    {
      "id": "XTHHYP005",
      "set_id": "HYP",
      "group_id": "HYP",
      "move": "Test",
      "logic": "absence of evidence",
      "formulas": [
        {
          "lang": "en",
          "formula": "We have not confirmed [X], but we have not ruled it out either."
        },
        {
          "lang": "de",
          "formula": "Für [X] haben wir noch keine Bestätigung; ausgeschlossen ist es aber auch nicht."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-have-not-confirmed-x-but-we-have-not-ruled-it-xthhyp005/"
    },
    {
      "id": "XTHMETA001",
      "set_id": "META",
      "group_id": "META",
      "move": "Learn",
      "logic": "recognition versus recall",
      "formulas": [
        {
          "lang": "en",
          "formula": "I can recognise [X], but I cannot reliably produce it without [Y] yet."
        },
        {
          "lang": "de",
          "formula": "Ich erkenne [X], kann es aber noch nicht zuverlässig ohne [Y] selbst produzieren."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-can-recognise-x-but-i-cannot-reliably-produce-xthmeta001/"
    },
    {
      "id": "XTHMETA002",
      "set_id": "META",
      "group_id": "META",
      "move": "Learn",
      "logic": "confusion diagnosis",
      "formulas": [
        {
          "lang": "en",
          "formula": "The part I still confuse is the difference between [X] and [Y]."
        },
        {
          "lang": "de",
          "formula": "Was ich noch verwechsle, ist der Unterschied zwischen [X] und [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-part-i-still-confuse-is-the-difference-xthmeta002/"
    },
    {
      "id": "XTHMETA003",
      "set_id": "META",
      "group_id": "META",
      "move": "Learn",
      "logic": "error pattern detection",
      "formulas": [
        {
          "lang": "en",
          "formula": "The recurring pattern in my errors is that I [X] when I should [Y]."
        },
        {
          "lang": "de",
          "formula": "Das wiederkehrende Muster in meinen Fehlern ist, dass ich [X], obwohl ich [Y] sollte."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-recurring-pattern-in-my-errors-is-that-i-x-xthmeta003/"
    },
    {
      "id": "XTHMETA004",
      "set_id": "META",
      "group_id": "META",
      "move": "Learn",
      "logic": "next practice target",
      "formulas": [
        {
          "lang": "en",
          "formula": "The next thing I should practise is [X], because it is the smallest gap blocking [Y]."
        },
        {
          "lang": "de",
          "formula": "Als Nächstes sollte ich üben, [X], weil das die kleinste Lücke ist, die [Y] noch blockiert."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-next-thing-i-should-practise-is-x-because-it-xthmeta004/"
    },
    {
      "id": "XTHMETA005",
      "set_id": "META",
      "group_id": "META",
      "move": "Learn",
      "logic": "learning from feedback",
      "formulas": [
        {
          "lang": "en",
          "formula": "The general lesson from this correction is that when [X], I should [Y]."
        },
        {
          "lang": "de",
          "formula": "Die allgemeine Lehre aus dieser Korrektur ist, dass ich bei [X] [Y] sollte."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-general-lesson-from-this-correction-is-that-xthmeta005/"
    },
    {
      "id": "XTHPST001",
      "set_id": "PST",
      "group_id": "PST",
      "move": "Perspective",
      "logic": "steelman opposing concern",
      "formulas": [
        {
          "lang": "en",
          "formula": "The strongest concern on the other side is that [X]."
        },
        {
          "lang": "de",
          "formula": "Der stärkste Einwand der anderen Seite ist, dass [X]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-strongest-concern-on-the-other-side-is-that-xthpst001/"
    },
    {
      "id": "XTHPST002",
      "set_id": "PST",
      "group_id": "PST",
      "move": "Perspective",
      "logic": "position versus interest",
      "formulas": [
        {
          "lang": "en",
          "formula": "Their position is [X], but the underlying interest may be [Y]."
        },
        {
          "lang": "de",
          "formula": "Ihre Position ist [X], aber das zugrunde liegende Interesse könnte [Y] sein."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/their-position-is-x-but-the-underlying-interest-xthpst002/"
    },
    {
      "id": "XTHPST003",
      "set_id": "PST",
      "group_id": "PST",
      "move": "Perspective",
      "logic": "facts versus values",
      "formulas": [
        {
          "lang": "en",
          "formula": "We may agree on [X] and still disagree on how much weight to give [Y]."
        },
        {
          "lang": "de",
          "formula": "Wir können uns bei [X] einig sein und [Y] trotzdem unterschiedlich gewichten."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-may-agree-on-x-and-still-disagree-on-how-much-xthpst003/"
    },
    {
      "id": "XTHPST004",
      "set_id": "PST",
      "group_id": "PST",
      "move": "Perspective",
      "logic": "neutral reformulation",
      "formulas": [
        {
          "lang": "en",
          "formula": "A more neutral way to state the disagreement is that [X] prioritises [Y], while [Z] prioritises [W]."
        },
        {
          "lang": "de",
          "formula": "Neutraler formuliert priorisiert [X] [Y], während [Z] [W] priorisiert."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-more-neutral-way-to-state-the-disagreement-is-xthpst004/"
    },
    {
      "id": "XTHPST005",
      "set_id": "PST",
      "group_id": "PST",
      "move": "Perspective",
      "logic": "perspective-conditioned reasoning",
      "formulas": [
        {
          "lang": "en",
          "formula": "From [X]'s perspective, [Y] is reasonable if [Z]."
        },
        {
          "lang": "de",
          "formula": "Aus Sicht von [X] ist [Y] sinnvoll, wenn [Z]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/from-x-s-perspective-y-is-reasonable-if-z-xthpst005/"
    },
    {
      "id": "XTHSYS001",
      "set_id": "SYS",
      "group_id": "SYS",
      "move": "Trace consequences",
      "logic": "second-order effect",
      "formulas": [
        {
          "lang": "en",
          "formula": "The immediate effect may be [X], while the second-order effect could be [Y]."
        },
        {
          "lang": "de",
          "formula": "Die unmittelbare Wirkung kann [X] sein, während die Wirkung zweiter Ordnung [Y] sein könnte."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-immediate-effect-may-be-x-while-the-second-xthsys001/"
    },
    {
      "id": "XTHSYS002",
      "set_id": "SYS",
      "group_id": "SYS",
      "move": "Trace consequences",
      "logic": "bottleneck transfer",
      "formulas": [
        {
          "lang": "en",
          "formula": "This removes the bottleneck at [X], but may move it to [Y]."
        },
        {
          "lang": "de",
          "formula": "Das beseitigt den Engpass bei [X], kann ihn aber zu [Y] verlagern."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-removes-the-bottleneck-at-x-but-may-move-it-xthsys002/"
    },
    {
      "id": "XTHSYS003",
      "set_id": "SYS",
      "group_id": "SYS",
      "move": "Trace consequences",
      "logic": "local global tradeoff",
      "formulas": [
        {
          "lang": "en",
          "formula": "Optimising [X] locally can make [Y] worse overall."
        },
        {
          "lang": "de",
          "formula": "Wenn wir [X] lokal optimieren, kann sich [Y] insgesamt verschlechtern."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/optimising-x-locally-can-make-y-worse-overall-xthsys003/"
    },
    {
      "id": "XTHSYS004",
      "set_id": "SYS",
      "group_id": "SYS",
      "move": "Trace consequences",
      "logic": "symptom driver distinction",
      "formulas": [
        {
          "lang": "en",
          "formula": "This treats the symptom [X] without changing the underlying driver [Y]."
        },
        {
          "lang": "de",
          "formula": "Das behandelt das Symptom [X], ohne den zugrunde liegenden Treiber [Y] zu verändern."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-treats-the-symptom-x-without-changing-the-xthsys004/"
    },
    {
      "id": "XTHSYS005",
      "set_id": "SYS",
      "group_id": "SYS",
      "move": "Trace consequences",
      "logic": "structural persistence",
      "formulas": [
        {
          "lang": "en",
          "formula": "The system will keep producing [X] as long as [Y] remains unchanged."
        },
        {
          "lang": "de",
          "formula": "Das System wird weiterhin [X] erzeugen, solange [Y] unverändert bleibt."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-system-will-keep-producing-x-as-long-as-y-xthsys005/"
    },
    {
      "id": "XTHUNC001",
      "set_id": "UNC",
      "group_id": "UNC",
      "move": "Calibrate",
      "logic": "evidence assumption split",
      "formulas": [
        {
          "lang": "en",
          "formula": "What we know is [X]; what we are still assuming is [Y]."
        },
        {
          "lang": "de",
          "formula": "Was wir wissen, ist [X]; was wir noch annehmen, ist [Y]."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-we-know-is-x-what-we-are-still-assuming-is-xthunc001/"
    },
    {
      "id": "XTHUNC002",
      "set_id": "UNC",
      "group_id": "UNC",
      "move": "Calibrate",
      "logic": "probability update",
      "formulas": [
        {
          "lang": "en",
          "formula": "The evidence makes [X] more likely, but it does not rule out [Y]."
        },
        {
          "lang": "de",
          "formula": "Die Hinweise machen [X] wahrscheinlicher, schließen [Y] aber nicht aus."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-evidence-makes-x-more-likely-but-it-does-not-xthunc002/"
    },
    {
      "id": "XTHUNC003",
      "set_id": "UNC",
      "group_id": "UNC",
      "move": "Calibrate",
      "logic": "belief revision criterion",
      "formulas": [
        {
          "lang": "en",
          "formula": "I would revise this view if [X] turned out to be true."
        },
        {
          "lang": "de",
          "formula": "Ich würde diese Einschätzung ändern, wenn sich [X] als zutreffend erweisen würde."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-would-revise-this-view-if-x-turned-out-to-be-xthunc003/"
    },
    {
      "id": "XTHUNC004",
      "set_id": "UNC",
      "group_id": "UNC",
      "move": "Calibrate",
      "logic": "confidence calibration",
      "formulas": [
        {
          "lang": "en",
          "formula": "Our confidence should be lower because [X] is still unknown."
        },
        {
          "lang": "de",
          "formula": "Unser Vertrauen in die Schlussfolgerung sollte geringer sein, weil [X] noch unklar ist."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/our-confidence-should-be-lower-because-x-is-xthunc004/"
    },
    {
      "id": "XTHUNC005",
      "set_id": "UNC",
      "group_id": "UNC",
      "move": "Calibrate",
      "logic": "discriminating evidence",
      "formulas": [
        {
          "lang": "en",
          "formula": "The most useful next evidence would be [X], because it would distinguish [Y] from [Z]."
        },
        {
          "lang": "de",
          "formula": "Der nützlichste nächste Hinweis wäre [X], weil er [Y] von [Z] unterscheiden würde."
        }
      ],
      "quality": {
        "status": "curated",
        "indexable": true,
        "min_unique_examples": 3,
        "translations_complete": true,
        "has_variation_duplicates": false,
        "languages": {
          "en": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          },
          "de": {
            "example_count": 3,
            "variation_count": 2,
            "unique_example_count": 3,
            "unique_variation_count": 2,
            "variation_duplicate_count": 0,
            "primary_repeated_in_variations": false,
            "translations_complete": true
          }
        }
      },
      "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-most-useful-next-evidence-would-be-x-because-xthunc005/"
    }
  ]
}
