{
  "provenance": {
    "source": "Metkagram",
    "source_url": "https://metkagram.github.io",
    "source_repository": "https://github.com/metkagram/metkagram.github.io",
    "creator": "Metkagram",
    "creator_url": "https://github.com/metkagram",
    "maintainer": "Applied Systems Lab at MetalHatsCats",
    "maintainer_url": "https://metalhatscats.com",
    "license": "Metkagram Source-Available Terms",
    "license_url": "https://metkagram.github.io/en/licensing/",
    "rights_status": "source-available-not-open-source",
    "rights_url": "https://metkagram.github.io/rights.json",
    "historical_license": "CC BY-NC 4.0 before 2026-08-17; prior grants remain valid for copies received under those terms",
    "attribution_required": true,
    "attribution_text": "Source: Metkagram — https://metkagram.github.io/",
    "attribution_html": "Source: <a href=\"https://metkagram.github.io/\">Metkagram</a>",
    "terms_url": "https://metkagram.github.io/en/licensing/",
    "privacy_url": "https://metkagram.github.io/en/legal/privacy/",
    "contact_email": "metalhatscats@gmail.com",
    "contact_url": "https://www.linkedin.com/company/metalhatscats",
    "collaboration_url": "https://metkagram.github.io/en/licensing/",
    "dataset_version": "1.0.0+8bda5f7406ae",
    "release_date": "2026-09-01",
    "canonical_url": "https://metkagram.github.io/api/v1/search-index.json",
    "record_type": "search_index",
    "content_hash": "19d64b7fede834a2f0c2a4d8c631af02a4b03ed0afc436c23160638d1346b597"
  },
  "data": {
    "patterns": [
      {
        "id": "C1ARG001",
        "title_en": "The case for [X] rests on the assumption that [Y]",
        "title_ru": "Аргумент в пользу … основан на предположении, что …",
        "description_en": "Makes the assumption behind an argument explicit so you can examine whether the conclusion really depends on it.",
        "description_ru": "Показывает, на каком допущении держится аргумент. Полезно, когда нужно сделать предпосылку явной и проверить, выдерживает ли её вывод.",
        "group_id": "ARG",
        "set_id": "ARG",
        "formulas": [
          "The case for [X] rests on the assumption that [Y].",
          "Das Argument für [X] beruht auf der Annahme, dass [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1ARG001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-case-for-a-funding-proposal-rests-on-the-c1arg001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1arg001.json"
      },
      {
        "id": "LEX001",
        "title_en": "obstacle",
        "title_ru": "Проблемы и препятствия",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Представь дорогу, по которой ты ведёшь проект или жизнь. Иногда перед тобой не просто яма — а бетонная стена. Ты не можешь её перепрыгнуть, объехать, игнорировать. Нужно найти способ пробиться, иначе всё встанет. Эти слова — кирпичи этой стены. Понимая их, ты понимаешь, что именно тебя тормозит.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "obstacle",
          "das Hindernis"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/obstacle-lex001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex001.json"
      },
      {
        "id": "LEX002",
        "title_en": "setback",
        "title_ru": "Откат и неудача",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты строишь башню из усилий. Каждый день — ещё один этаж. Но вдруг — бах — часть конструкции рушится, и ты скатываешься вниз. Это не конец, но больно. Эти слова описывают моменты, когда ты временно теряешь высоту.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "setback",
          "der Rückschlag"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/setback-lex002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex002.json"
      },
      {
        "id": "LEX003",
        "title_en": "struggle",
        "title_ru": "Борьба и трудности",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты плывёшь против течения. Вода бьёт в лицо, мышцы горят, берег кажется недостижимым. Но ты продолжаешь, потому что нет пути назад. Эти слова описывают внутреннюю и внешнюю борьбу — то, что закаляет, но требует всего.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "struggle",
          "der Kampf / sich abmühen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/struggle-lex003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex003.json"
      },
      {
        "id": "LEX004",
        "title_en": "burden",
        "title_ru": "Нагрузка и тяжесть",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "На твоих плечах — рюкзак. Сначала он лёгкий. Но с каждым днём ты добавляешь туда заботы, ожидания, чужие требования. В какой-то момент спина гнётся. Эти слова описывают ту тяжесть, которую мы несём — иногда молча.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "burden",
          "die Last / die Bürde"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/burden-lex004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex004.json"
      },
      {
        "id": "LEX005",
        "title_en": "challenge",
        "title_ru": "Вызов и сложность",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Стоишь перед стеной скал. Высоко, страшно, скользко. Но внутри просыпается азарт — дух, который говорит: «Попробуй, проверь себя». Эти слова описывают моменты, где трудно, но именно это двигает нас вперёд.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "challenge",
          "die Herausforderung"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/challenge-lex005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex005.json"
      },
      {
        "id": "LEX006",
        "title_en": "flaw",
        "title_ru": "Изъян и ошибка",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты строишь сложный механизм. Всё блестит, крутится — почти идеально. Но один винтик плохо затянут. Он крошечный, но именно он ломает всё. Эти слова — про скрытые трещины, которые могут пустить всё под откос.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "flaw",
          "der Fehler / der Makel"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/flaw-lex006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex006.json"
      },
      {
        "id": "LEX007",
        "title_en": "to address + issue",
        "title_ru": "Проблема",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты открываешь дверь — а за ней беспорядок. Не катастрофа, но что-то не так: странный запах, шум, неполадки. Надо разобраться. Эти слова — про те моменты, когда всё вроде бы работает, но что-то требует внимания.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          " to address + issue",
          "das Problem / das Thema"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-address-issue-lex007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex007.json"
      },
      {
        "id": "LEX008",
        "title_en": "to have a drawback / to face a drawback",
        "title_ru": "Недостаток и обратная сторона",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты находишь классный инструмент: быстро режет, удобно лежит в руке. Но потом понимаешь — батарея садится за 5 минут. Всё, что кажется полезным, часто имеет свою цену. Эти слова — про скрытые минусы за внешним плюсом.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to have a drawback / to face a drawback",
          "einen Nachteil haben / auf einen Nachteil stoßen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-have-a-drawback-to-face-a-drawback-lex008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex008.json"
      },
      {
        "id": "LEX009",
        "title_en": "to create / face / identify a bottleneck",
        "title_ru": "Узкое место",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Вся система работает — как поток машин по трассе. Но вот узкий мост, одна полоса. Всё замедляется, очередь растёт, и даже сильный мотор не спасает. Эти слова — про то, где ограничение тормозит всю систему.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to create / face / identify a bottleneck",
          "einen Engpass verursachen / erkennen / beseitigen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-create-face-identify-a-bottleneck-lex009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex009.json"
      },
      {
        "id": "LEX010",
        "title_en": "to have / point out / consider the downside",
        "title_ru": "Минус и слабая сторона",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты находишь короткий путь через лес. Быстро, удобно, красиво. Но там волки. Эти слова — про тень на фоне выгоды. Всё хорошее имеет свою плату, и важно видеть не только свет, но и его оборотную сторону.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to have / point out / consider the downside",
          "den Nachteil haben / auf den Nachteil hinweisen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-have-point-out-consider-the-downside-lex010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex010.json"
      },
      {
        "id": "LEX011",
        "title_en": "to face / impose / overcome a constraint",
        "title_ru": "Ограничение",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты хочешь разогнаться — полная мощность, максимальная скорость. Но кто-то поставил тебе ограничитель: пояс с грузами, наручники, узкие рамки. Эти слова — про невидимые стены, которые не дают сделать больше, даже если ты можешь.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to face / impose / overcome a constraint",
          "mit einer Einschränkung konfrontiert sein / eine Einschränkung auferlegen / überwinden"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-face-impose-overcome-a-constraint-lex011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex011.json"
      },
      {
        "id": "LEX012",
        "title_en": "to have / expose / address a shortcoming",
        "title_ru": "Слабое место",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как броня. Почти непробиваемая — но где-то есть шов, трещина, тонкое место. Именно туда и попадает удар. Эти слова — про слабости, которые не всегда видны, но решают всё в критический момент.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to have / expose / address a shortcoming",
          "eine Schwäche haben / eine Schwäche aufdecken / eine Schwäche beheben"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-have-expose-address-a-shortcoming-lex012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex012.json"
      },
      {
        "id": "LEX013",
        "title_en": "to experience / cause / suffer from overload",
        "title_ru": "Перегрузка",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Представь проводку, через которую пускают слишком много тока. В какой-то момент — дым, искры, замыкание. Так же и с человеком: слишком много задач, эмоций, сигналов — и система начинает сбоить. Эти слова — про момент, когда слишком много — это уже опасно.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to experience / cause / suffer from overload",
          "unter Überlastung leiden / eine Überlastung verursachen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-experience-cause-suffer-from-overload-lex013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex013.json"
      },
      {
        "id": "LEX014",
        "title_en": "to cause / experience / clear up confusion",
        "title_ru": "Путаница",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты стоишь на развилке, где таблички перепутаны. Все указывают в разные стороны, стрелки зачёркнуты, а карта устарела. Эти слова — про внутренний и внешний хаос, в котором трудно принять решение или понять, что происходит.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to cause / experience / clear up confusion",
          "Verwirrung stiften / erleben / aufklären"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-cause-experience-clear-up-confusion-lex014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex014.json"
      },
      {
        "id": "LEX015",
        "title_en": "to face / deal with / live in uncertainty",
        "title_ru": "Неопределённость",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты идёшь по дороге в густом тумане. Видно лишь на шаг вперёд. Каждый следующий шаг — как прыжок в неизвестность. Эти слова — про состояние, когда нельзя опереться ни на прошлое, ни на будущее. Только интуиция и риск.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to face / deal with / live in uncertainty",
          "mit Unsicherheit konfrontiert sein / in Unsicherheit leben"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-face-deal-with-live-in-uncertainty-lex015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex015.json"
      },
      {
        "id": "LEX016",
        "title_en": "to feel / be under / handle pressure",
        "title_ru": "Давление",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты — как сосуд под напором. Внешне ты спокоен, но внутри растёт давление: сроки, ожидания, страхи, ответственность. Если не сбросить — взорвёт. Эти слова — про ту силу, которая давит извне или изнутри, заставляя действовать на пределе.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to feel / be under / handle pressure",
          "unter Druck stehen / mit Druck umgehen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-feel-be-under-handle-pressure-lex016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex016.json"
      },
      {
        "id": "LEX017",
        "title_en": "to feel / create / reduce tension",
        "title_ru": "Напряжение",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как струна на скрипке: натянута до предела. Ещё чуть-чуть — и порвётся. В воздухе чувствуется напряжение, как перед грозой. Эти слова — про невидимую силу между людьми, событиями или внутри нас, которая не даёт расслабиться.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to feel / create / reduce tension",
          "Spannung spüren / erzeugen / abbauen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-feel-create-reduce-tension-lex017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex017.json"
      },
      {
        "id": "LEX018",
        "title_en": "to have / face / accept limitations",
        "title_ru": "Ограничение возможностей",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты хочешь развернуться на полной скорости, как спортивная машина. Но ты в узком коридоре: стены, правила, рамки. Возможности есть — но не можешь их реализовать. Эти слова — про границы, которые мешают раскрыться полностью.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to have / face / accept limitations",
          "Grenzen haben / mit Begrenzungen umgehen / Einschränkungen akzeptieren"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-have-face-accept-limitations-lex018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex018.json"
      },
      {
        "id": "LEX019",
        "title_en": "to have / resolve / escalate a conflict",
        "title_ru": "Конфликт",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как две машины, мчащиеся по одной полосе навстречу друг другу. Ни одна не хочет свернуть. И вот — столкновение. Эти слова — про столкновение интересов, мнений, характеров. Где жарко, где искры, где нужен выбор: сражаться или искать выход.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to have / resolve / escalate a conflict",
          "einen Konflikt haben / lösen / verschärfen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-have-resolve-escalate-a-conflict-lex019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex019.json"
      },
      {
        "id": "LEX020",
        "title_en": "to face / offer / overcome resistance",
        "title_ru": "Сопротивление",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты толкаешь дверь, но она будто заперта изнутри. Или ведёшь команду вперёд — а кто-то упирается, держится за старое, не даёт двигаться. Эти слова — про силы, которые мешают изменениям, даже если они нужны. Иногда это страх. Иногда — принцип.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to face / offer / overcome resistance",
          "Widerstand leisten / auf Widerstand stoßen / Widerstand überwinden"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-face-offer-overcome-resistance-lex020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex020.json"
      },
      {
        "id": "LEX101",
        "title_en": "to make matters worse",
        "title_ru": "Усугубление ситуации",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты тонешь, изо всех сил держишься на плаву — и тут сверху ещё груз. Эти фразы используют, когда кажется, что хуже уже не будет… но становится ещё хуже. Они добавляют драму и реализм в описании проблем.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to make matters worse",
          "um die Sache noch schlimmer zu machen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX101",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-make-matters-worse-lex101/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex101.json"
      },
      {
        "id": "LEX102",
        "title_en": "on top of that",
        "title_ru": "Накопление проблем",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Представь, что на тебя уже льётся дождь — и тут сверху ещё кто-то выливает ведро воды. Эти фразы добавляют слой за слоем к уже плохой ситуации. Они создают эффект перегрузки — как капля, которая переполняет чашу.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "on top of that",
          "obendrein / zusätzlich dazu"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX102",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/on-top-of-that-lex102/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex102.json"
      },
      {
        "id": "LEX103",
        "title_en": "against all odds",
        "title_ru": "Несмотря ни на что",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты идёшь через бурю, против ветра, по колено в грязи — и всё равно доходишь. Эти фразы — о победе, которая произошла, несмотря на все прогнозы, преграды и здравый смысл. Это про силу воли, когда все ставки были против тебя.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "against all odds",
          "allen Widrigkeiten zum Trotz"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX103",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/against-all-odds-lex103/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex103.json"
      },
      {
        "id": "LEX104",
        "title_en": "to be at stake",
        "title_ru": "На кону",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты сидишь за покерным столом. На столе — всё: деньги, репутация, будущее. Один шаг — и ты теряешь или выигрываешь. Эти фразы — про моменты, когда решения имеют цену. И цена — не мелочь, а нечто важное.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to be at stake",
          "auf dem Spiel stehen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX104",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-be-at-stake-lex104/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex104.json"
      },
      {
        "id": "LEX105",
        "title_en": "to be / get out of control",
        "title_ru": "Вне контроля",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты держишь руль — а машина уже несётся сама. Система вышла из повиновения: события развиваются сами по себе, и ты лишь наблюдаешь. Эти фразы — про моменты, когда контроль утрачен, и начинается хаос.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to be / get out of control",
          "außer Kontrolle geraten / sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX105",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-be-get-out-of-control-lex105/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex105.json"
      },
      {
        "id": "LEX106",
        "title_en": "to do something to no avail",
        "title_ru": "Безрезультатно",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты лезешь вверх по склону, срываешь ногти, тратишь силы — а в конце скатываешься обратно. Эти фразы — про усилия, которые не дали плода. Всё делалось правильно, но — без толку.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to do something to no avail",
          "etwas vergeblich tun / ohne Erfolg versuchen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX106",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-do-something-to-no-avail-lex106/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex106.json"
      },
      {
        "id": "LEX107",
        "title_en": "to face / be in / be caught in a dilemma",
        "title_ru": "Столкнуться с дилеммой",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Два выхода, и оба ведут в тупик. Один — потеря времени, другой — риск. Эти фразы — про моменты, где нет хорошего варианта. Нужно выбирать меньшее зло или идти на ощупь.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to face / be in / be caught in a dilemma",
          "vor einer Zwickmühle stehen / in einer Zwickmühle stecken"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX107",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-face-be-in-be-caught-in-a-dilemma-lex107/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex107.json"
      },
      {
        "id": "LEX108",
        "title_en": "under no circumstances + inversion",
        "title_ru": "Ни при каких условиях",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты начертил черту. За ней — запрет, опасность или предательство себя. Эти фразы — как сигнал «стоп»: что бы ни происходило, это — не обсуждается. Они задают жёсткие границы в речи и действиях.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "under no circumstances + inversion",
          "unter keinen Umständen + Inversion"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX108",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/under-no-circumstances-inversion-lex108/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex108.json"
      },
      {
        "id": "LEX109",
        "title_en": "to take a toll on something/someone",
        "title_ru": "Негативно сказаться",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты словно машина, которая едет без техобслуживания. Сначала незаметно — потом начинает скрипеть, ломаться, сыпаться. Эти фразы — про цену, которую платишь не сразу. Последствия накапливаются и бьют позже.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to take a toll on something/someone",
          "seinen Tribut fordern / jemanden belasten"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX109",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-take-a-toll-on-something-someone-lex109/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex109.json"
      },
      {
        "id": "LEX110",
        "title_en": "to hit a wall",
        "title_ru": "Зайти в тупик",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты бежишь, вкладываешь силы, движешься вперёд — и вдруг удар: глухая стена. Нет прохода, нет прогресса. Эти фразы — про момент, когда всё останавливается. Ни усилия, ни воля больше не работают — нужно менять подход.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to hit a wall",
          "an eine Grenze stoßen / nicht mehr weiterkommen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX110",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-hit-a-wall-lex110/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex110.json"
      },
      {
        "id": "LEX201",
        "title_en": "to increase / change / improve significantly",
        "title_ru": "Значительное усиление",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как к усилителю звука: добавляешь мощность — и всё становится громче, весомее. Эти слова — как рычаг, который делает твоё сообщение сильнее, внушительнее. Без них фраза звучит тихо, с ними — как удар.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to increase / change / improve significantly",
          "sich deutlich / erheblich verbessern / verändern"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX201",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-increase-change-improve-significantly-lex201/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex201.json"
      },
      {
        "id": "LEX202",
        "title_en": "to be particularly + adjective / focused on",
        "title_ru": "Особое выделение",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты освещаешь сцену — и фокусируешь свет на одном актёре. Всё остальное уходит в тень. Эти слова позволяют выделить главное, подчеркнуть то, что имеет наибольшее значение в контексте.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to be particularly + adjective / focused on",
          "besonders + Adjektiv / sich besonders interessieren für"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX202",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-be-particularly-adjective-focused-on-lex202/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex202.json"
      },
      {
        "id": "LEX203",
        "title_en": "obviously + clause",
        "title_ru": "Очевидность",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты смотришь на картину — и всё ясно без слов. Настолько ясно, что объяснять даже неловко. Эти слова — про то, что не требует доказательств. Они ставят точку, где мог быть спор.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "obviously + clause",
          "offensichtlich + Verb / Klar ist, dass ..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX203",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/obviously-clause-lex203/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex203.json"
      },
      {
        "id": "LEX204",
        "title_en": "literally + verb / phrase",
        "title_ru": "Буквальное подчеркивание",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты говоришь что-то настолько сильное, что собеседник думает — ну это, наверное, преувеличение. Но ты добавляешь: «буквально». Это как печать: «Я не шучу». Эти слова делают акцент, что сказанное — не метафора, а реальность.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "literally + verb / phrase",
          "buchstäblich + Verb / Phrase"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX204",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/literally-verb-phrase-lex204/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex204.json"
      },
      {
        "id": "LEX205",
        "title_en": "definitely + verb / will / be",
        "title_ru": "Уверенное утверждение",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как удар молотка по столу: без колебаний, с полной уверенностью. Эти слова — про решительность. Они убирают сомнения, добавляют вес сказанному и показывают: ты знаешь, о чём говоришь.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "definitely + verb / will / be",
          "definitiv / auf jeden Fall + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX205",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/definitely-verb-will-be-lex205/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex205.json"
      },
      {
        "id": "LEX206",
        "title_en": "to be / feel / change slightly",
        "title_ru": "Лёгкое уточнение",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты крутишь ручку громкости — не на максимум, а на пол-деления. Почти незаметно, но чувствуется. Эти слова помогают передать тонкие отличия, не перегибая, а точно настраивая сообщение.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to be / feel / change slightly",
          "sich leicht verändern / leicht + Adjektiv sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX206",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-be-feel-change-slightly-lex206/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex206.json"
      },
      {
        "id": "LEX207",
        "title_en": "extremely + adjective / adverb",
        "title_ru": "Крайнее усиление",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Это как выкрутить всё на максимум: температура зашкаливает, эмоции на пике. Эти слова поднимают твою фразу на уровень «крайне важно», «чрезвычайно опасно» — когда ситуация или качество выходит за рамки обычного.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "extremely + adjective / adverb",
          "äußerst / extrem + Adjektiv / Adverb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX207",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/extremely-adjective-adverb-lex207/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex207.json"
      },
      {
        "id": "LEX208",
        "title_en": "somewhat + adjective / modified verb",
        "title_ru": "Отчасти, в некоторой степени",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты добавляешь щепотку соли, а не горсть. Это не «да» и не «нет», а «вроде как». Эти слова создают нюанс, делают речь гибкой и честной — когда не всё чёрно-белое.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "somewhat + adjective / modified verb",
          "etwas / einigermaßen + Adjektiv / Adverb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX208",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/somewhat-adjective-modified-verb-lex208/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex208.json"
      },
      {
        "id": "LEX209",
        "title_en": "overall + clause / as an adverb",
        "title_ru": "В целом, обобщение",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты смотришь не на пиксель, а на всю картину. Эти слова дают возможность подняться над деталями и вынести общее суждение. Они особенно сильны в завершении мысли или в подведении итогов.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "overall + clause / as an adverb",
          "insgesamt / im Großen und Ganzen + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX209",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/overall-clause-as-an-adverb-lex209/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex209.json"
      },
      {
        "id": "LEX210",
        "title_en": "by far + the superlative",
        "title_ru": "Безусловное превосходство",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты сравниваешь бегунов — и один из них финиширует на полкруга раньше всех. Эти слова подчёркивают, что разница огромна, а лидер — очевиден. Они усиливают суперлатив до предела.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "by far + the superlative",
          "bei weitem + der/die/das Superlativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX210",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/by-far-the-superlative-lex210/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex210.json"
      },
      {
        "id": "LEX211",
        "title_en": "to a large extent + clause / verb",
        "title_ru": "В значительной степени",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Это как налить воду в стакан почти до краёв — ещё не переливается, но почти полон. Эти слова помогают выразить, что не всё, но большая часть — именно так. Они показывают серьёзность влияния или масштаба.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to a large extent + clause / verb",
          "in großem Maße / weitgehend + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX211",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-a-large-extent-clause-verb-lex211/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex211.json"
      },
      {
        "id": "LEX212",
        "title_en": "to some extent + clause / verb",
        "title_ru": "В какой-то степени",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Это как полупрозрачное стекло — ты что-то видишь, но не полностью. Эти слова вводят гибкость в суждение: не чёрное, не белое, а «отчасти да». Хорошо работают, когда ты хочешь выразить умеренность или избежать категоричности.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to some extent + clause / verb",
          "zum Teil / in gewissem Maße + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX212",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-some-extent-clause-verb-lex212/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex212.json"
      },
      {
        "id": "LEX213",
        "title_en": "as a matter of fact + clause",
        "title_ru": "Вообще-то, по правде говоря",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как скрытая карта в рукаве: все думают одно, а ты поворачиваешь ситуацию. Эти слова вводят неожиданное уточнение, подправляют восприятие и мягко, но уверенно корректируют разговор.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "as a matter of fact + clause",
          "ehrlich gesagt / übrigens / tatsächlich + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX213",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/as-a-matter-of-fact-clause-lex213/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex213.json"
      },
      {
        "id": "LEX214",
        "title_en": "in fact + clause / as clarification",
        "title_ru": "На самом деле",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Все смотрят на фасад — красивый, аккуратный. А ты открываешь дверь и показываешь, что внутри всё иначе. Эти слова добавляют глубину, уточнение, а иногда — легкую иронию. Они уводят от поверхностного к реальному.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "in fact + clause / as clarification",
          "tatsächlich / in Wirklichkeit + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX214",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/in-fact-clause-as-clarification-lex214/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex214.json"
      },
      {
        "id": "LEX215",
        "title_en": "on the contrary + clause",
        "title_ru": "Наоборот",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как водитель, который резко разворачивает машину в противоположную сторону. Эти слова используют, когда нужно не просто возразить, а показать, что всё обстоит диаметрально иначе, чем сказано или ожидается.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "on the contrary + clause",
          "im Gegenteil + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX215",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/on-the-contrary-clause-lex215/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex215.json"
      },
      {
        "id": "LEX216",
        "title_en": "as far as I’m concerned + clause",
        "title_ru": "Насколько я понимаю / лично для меня",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты вносишь свою карту в общую игру — не утверждая абсолют, а обозначая свою территорию. Эти слова подчёркивают, что сказанное — твоя личная позиция, а не универсальная истина. Вежливо, но с уверенностью.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "as far as I’m concerned + clause",
          "soweit es mich betrifft / meiner Meinung nach + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX216",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/as-far-as-i-m-concerned-clause-lex216/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex216.json"
      },
      {
        "id": "LEX217",
        "title_en": "frankly speaking + clause",
        "title_ru": "Если честно",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты снимаешь маску. Без дипломатии, без украшательств — просто говоришь, как есть. Эти слова создают эффект искренности, даже если то, что дальше, может резануть слух. Они подготавливают собеседника к правде.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "frankly speaking + clause",
          "ehrlich gesagt + Verb / offen gesagt"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX217",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/frankly-speaking-clause-lex217/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex217.json"
      },
      {
        "id": "LEX301",
        "title_en": "Let me just say this..",
        "title_ru": "Начать мысль уверенно",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как открыть разговор за столом — с паузой, взглядом и точной подачей. Эти фразы — как дверной звонок перед важным сообщением. Они дают тебе сцену, внимание и право сказать главное.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Let me just say this...",
          "Lass mich nur eines sagen..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX301",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/let-me-just-say-this-lex301/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex301.json"
      },
      {
        "id": "LEX303",
        "title_en": "The point is..",
        "title_ru": "Сформулировать суть",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты расчищаешь шум, убираешь детали и ставишь жирную точку: вот главное. Эти слова мгновенно выводят собеседника на то, что ты считаешь самым важным в разговоре.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "The point is...",
          "Der Punkt ist... / Worum es wirklich geht, ist..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX303",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-point-is-lex303/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex303.json"
      },
      {
        "id": "LEX304",
        "title_en": "What I’m trying to say is..",
        "title_ru": "Уточнить мысль",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты словно переформулируешь то, что уже начал, чтобы быть услышанным точнее. Эти слова дают тебе право на паузу, переформулировку и перезагрузку идеи — без потери уважения или уверенности.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "What I’m trying to say is...",
          "Was ich sagen will, ist... / Worauf ich hinauswill, ist..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX304",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-i-m-trying-to-say-is-lex304/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex304.json"
      },
      {
        "id": "LEX305",
        "title_en": "If you think about it..",
        "title_ru": "Подводка к размышлению",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты приглашаешь собеседника на шаг назад — взглянуть шире, подумать глубже. Эти слова дают мягкий старт размышлению, включают внимание и дают фразе вес без давления.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "If you think about it...",
          "Wenn man darüber nachdenkt..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX305",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-you-think-about-it-lex305/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex305.json"
      },
      {
        "id": "LEX306",
        "title_en": "The way I see it..",
        "title_ru": "Личное видение ситуации",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты берёшь камеру и показываешь свой ракурс. Другие видят иначе — но ты демонстрируешь, как это выглядит с твоей стороны. Эти слова — уважительный способ обозначить свою точку зрения без конфликта.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "The way I see it...",
          "So wie ich das sehe... / Meiner Ansicht nach..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX306",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-way-i-see-it-lex306/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex306.json"
      },
      {
        "id": "LEX307",
        "title_en": "I’d put it this way..",
        "title_ru": "Сформулировать по-своему",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты берёшь сложную мысль и упаковываешь её в свою форму — как подача блюда: та же суть, но твоя подача. Эти слова — способ сделать мысль ближе, яснее, более личной.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "I’d put it this way...",
          "Ich würde es so ausdrücken... / Ich würde es folgendermaßen formulieren..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX307",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-d-put-it-this-way-lex307/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex307.json"
      },
      {
        "id": "LEX308",
        "title_en": "From my perspective..",
        "title_ru": "С моей точки зрения",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты обозначаешь свою позицию на карте обсуждения — не навязываешь, но показываешь, откуда смотришь. Эти слова позволяют внести личное мнение без давления, мягко, но уверенно.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "From my perspective...",
          "Aus meiner Sicht... / Meiner Meinung nach..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX308",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/from-my-perspective-lex308/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex308.json"
      },
      {
        "id": "LEX309",
        "title_en": "The bottom line is..",
        "title_ru": "Главное заключается в том, что...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как бухгалтер, подводящий итог: всё, что выше — детали, а вот суть. Эти слова — способ резко и чётко выделить главное, срезав все лишние обсуждения и фоновый шум.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "The bottom line is...",
          "Letztendlich geht es darum... / Entscheidend ist..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX309",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-bottom-line-is-lex309/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex309.json"
      },
      {
        "id": "LEX310",
        "title_en": "What I mean is..",
        "title_ru": "Что я имею в виду...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты словно перехватываешь руль в разговоре — чтобы направить мысль точнее. Эти слова помогают скорректировать курс, когда собеседник мог не уловить твою идею.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "What I mean is...",
          "Ich meine damit... / Was ich sagen will, ist..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX310",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-i-mean-is-lex310/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex310.json"
      },
      {
        "id": "LEX311",
        "title_en": "Let me rephrase that..",
        "title_ru": "Позволь переформулировать",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как инженер, который перекладывает проводку — не меняешь суть, но делаешь яснее. Эти слова дают тебе шанс перезапустить мысль и выразиться точнее, особенно в сложных или чувствительных темах.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Let me rephrase that...",
          "Lass es mich anders formulieren... / Ich formuliere es mal anders..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX311",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/let-me-rephrase-that-lex311/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex311.json"
      },
      {
        "id": "LEX312",
        "title_en": "Just to clarify + clause",
        "title_ru": "Просто чтобы прояснить",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как человек, который протирает запотевшее стекло. Всё вроде видно, но не до конца. Эти слова помогают вежливо уточнить важный момент, избежать недопонимания и навести порядок в восприятии.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Just to clarify + clause",
          "Nur um das klarzustellen... / Nur zur Klarstellung..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX312",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/just-to-clarify-clause-lex312/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex312.json"
      },
      {
        "id": "LEX313",
        "title_en": "In other words + clause",
        "title_ru": "Иными словами",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты берёшь идею, как куб, и поворачиваешь её другой гранью. Та же суть — другой ракурс. Эти слова — надёжный инструмент, чтобы переформулировать сложную мысль проще или усилить акцент.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "In other words + clause",
          "Mit anderen Worten... / Anders gesagt..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX313",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/in-other-words-clause-lex313/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex313.json"
      },
      {
        "id": "LEX314",
        "title_en": "To put it differently + clause",
        "title_ru": "Сказать по-другому",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты словно берёшь тот же ключ, но вставляешь его под другим углом. Эти слова позволяют дать новой форме ту же мысль — чтобы её точно поняли, услышали или почувствовали по-другому.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "To put it differently + clause",
          "Anders ausgedrückt... / Um es anders zu sagen..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX314",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-put-it-differently-clause-lex314/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex314.json"
      },
      {
        "id": "LEX315",
        "title_en": "… or rather + clarification",
        "title_ru": "Точнее говоря",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты уже сказал что-то — и сразу правишь себя, как хирург, уточняющий диагноз. Эти слова нужны, когда ты хочешь скорректировать сказанное, не отменяя, а уточняя смысл — чтобы попасть точно в цель.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "… or rather + clarification",
          "… oder besser gesagt + Klarstellung"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX315",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/or-rather-clarification-lex315/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex315.json"
      },
      {
        "id": "LEX317",
        "title_en": "To be more specific + clause",
        "title_ru": "Быть более конкретным",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты наводишь фокус: от общего — к точке. Эти слова позволяют перейти от размытого к чёткому, от поверхностного к сути. Они усиливают ясность и точность, особенно в деловых и аналитических контекстах.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "To be more specific + clause",
          "Um genauer zu sein... / Genauer gesagt..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX317",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-be-more-specific-clause-lex317/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex317.json"
      },
      {
        "id": "LEX320",
        "title_en": "And what’s more + clause",
        "title_ru": "И более того",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты добавляешь топливо в огонь аргумента. Уже есть сильный тезис — и ты усиливаешь его ещё одним. Эти слова создают эффект нарастающего давления, как в хорошем выступлении.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "And what’s more + clause",
          "Und was noch dazu kommt... / Und darüber hinaus..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX320",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/and-what-s-more-clause-lex320/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex320.json"
      },
      {
        "id": "LEX321",
        "title_en": "Not to mention + noun / clause",
        "title_ru": "Не говоря уже о...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как будто показываешь главное блюдо — и говоришь: «А ведь есть ещё и десерт». Эти слова усиливают аргумент, добавляя довесок, который делает картину ещё убедительнее.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Not to mention + noun / clause",
          "Ganz zu schweigen von... / Und dann ist da noch..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX321",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/not-to-mention-noun-clause-lex321/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex321.json"
      },
      {
        "id": "LEX327",
        "title_en": "At the same time + clause",
        "title_ru": "В то же время (добавление)",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты держишь два факта на весах — и оба важны. Один не отменяет другой. Эти слова помогают показать, что есть ещё один аспект, происходящий параллельно. Они добавляют объём и баланс высказыванию.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "At the same time + clause",
          "Gleichzeitig... / Zur selben Zeit..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX327",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/at-the-same-time-clause-lex327/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex327.json"
      },
      {
        "id": "LEX328",
        "title_en": "As an additional point + clause",
        "title_ru": "Дополнительно стоит отметить",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты уже выложил основное блюдо — и теперь добавляешь гарнир. Эти слова подчёркивают, что сейчас будет ещё один аргумент, не ключевой, но усиливающий общую картину.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "As an additional point + clause",
          "Als zusätzlicher Punkt... / Zusätzlich ist zu erwähnen, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX328",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/as-an-additional-point-clause-lex328/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex328.json"
      },
      {
        "id": "LEX329",
        "title_en": "That being said + clause",
        "title_ru": "Тем не менее, при этом",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как судья, признающий один аргумент — но сразу ставящий рядом другой, чтобы уравновесить весы. Эти слова делают твою речь зрелой: не чёрно-белой, а объёмной.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "That being said + clause",
          "Trotzdem... / Dennoch... / Das gesagt..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX329",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/that-being-said-clause-lex329/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex329.json"
      },
      {
        "id": "LEX330",
        "title_en": "Still, you could argue that + clause",
        "title_ru": "Тем не менее, можно возразить",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты словно ставишь фигуру против — не чтобы разрушить, а чтобы сбалансировать партию. Эти слова делают речь интеллектуальной, открытой к дискуссии и демонстрируют уважение к другим точкам зрения.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Still, you could argue that + clause",
          "Man könnte jedoch einwenden, dass... / Trotzdem ließe sich argumentieren, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX330",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/still-you-could-argue-that-clause-lex330/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex330.json"
      },
      {
        "id": "LEX332",
        "title_en": "Having said that + clause",
        "title_ru": "При этом стоит отметить",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как шахматист, делающий ход и тут же учитывающий возможный контрудар. Эти слова позволяют удержать баланс: ты признаёшь одну сторону, но сразу добавляешь нюанс — как бы возвращая контроль.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Having said that + clause",
          "Das gesagt... / Trotzdem muss man sagen, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX332",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/having-said-that-clause-lex332/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex332.json"
      },
      {
        "id": "LEX336",
        "title_en": "Nevertheless + clause",
        "title_ru": "Тем не менее (строго, формально)",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как юрист в суде: признаёшь факты, но при этом уверенно держишь линию защиты. Эти слова придают речи вес и формальность. Они звучат сдержанно, но твёрдо — особенно в письменной или деловой коммуникации.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Nevertheless + clause",
          "Nichtsdestotrotz... / Dennoch..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX336",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/nevertheless-clause-lex336/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex336.json"
      },
      {
        "id": "LEX337",
        "title_en": "Personally, I believe + clause",
        "title_ru": "Лично я считаю...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты не утверждаешь истину, а приглашаешь взглянуть изнутри твоей головы. Эти слова смягчают позицию, делая её более личной, но при этом уверенной. Работают и в дискуссиях, и в письмах.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Personally, I believe + clause",
          "Ich persönlich glaube / finde, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX337",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/personally-i-believe-clause-lex337/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex337.json"
      },
      {
        "id": "LEX338",
        "title_en": "If you ask me + clause",
        "title_ru": "Если хочешь знать моё мнение...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты словно вступаешь в разговор с улыбкой, но с позицией. Эти слова делают твой взгляд дружелюбным, не навязчивым, но всё же чётким. Подходят, когда хочешь выразить мнение без давления.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "If you ask me + clause",
          "Wenn du mich fragst... / Meiner Meinung nach..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX338",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-you-ask-me-clause-lex338/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex338.json"
      },
      {
        "id": "LEX339",
        "title_en": "I tend to think that + clause",
        "title_ru": "Я склонен думать, что...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты не бьёшь кулаком по столу, а аккуратно подводишь к своей позиции. Эти слова передают личную склонность, привычку мысли — без давления, но с направлением. Умная, дипломатичная формулировка.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "I tend to think that + clause",
          "Ich neige dazu zu denken, dass... / Ich bin eher der Meinung, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX339",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-tend-to-think-that-clause-lex339/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex339.json"
      },
      {
        "id": "LEX341",
        "title_en": "I have a feeling that + clause",
        "title_ru": "У меня такое ощущение, что...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты опираешься не на логику, а на интуицию — как будто что-то чувствуется в воздухе. Эти слова вводят мнение мягко, через эмоцию, создавая доверительную атмосферу.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "I have a feeling that + clause",
          "Ich habe das Gefühl, dass... / Mein Gefühl sagt mir, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX341",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-have-a-feeling-that-clause-lex341/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex341.json"
      },
      {
        "id": "LEX342",
        "title_en": "My take on this is + clause",
        "title_ru": "Мой взгляд на это таков",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как кинокритик, который даёт свой обзор: у каждого — своя интерпретация, и ты предлагаешь свою. Эти слова звучат неформально, но уверенно. Подходят для живого, конструктивного диалога.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "My take on this is + clause",
          "Meine Sicht darauf ist... / Mein Eindruck ist..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX342",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/my-take-on-this-is-clause-lex342/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex342.json"
      },
      {
        "id": "LEX343",
        "title_en": "It seems to me that + clause",
        "title_ru": "Мне кажется, что...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как наблюдатель, делящийся тем, что видит через своё окно. Это мнение, но поданное деликатно — не как истина, а как перспектива. Работает и в споре, и в обсуждении, и в обратной связи.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "It seems to me that + clause",
          "Mir scheint, dass... / Es scheint mir, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX343",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-seems-to-me-that-clause-lex343/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex343.json"
      },
      {
        "id": "LEX344",
        "title_en": "First of all + clause",
        "title_ru": "Прежде всего",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты раскладываешь мысли по полочкам — и начинаешь с главной. Эти слова дают структуру, помогают организовать речь и сразу показать, что у тебя есть план.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "First of all + clause",
          "Zunächst einmal... / Als Erstes..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX344",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/first-of-all-clause-lex344/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex344.json"
      },
      {
        "id": "LEX345",
        "title_en": "The main reason is + noun / that-clause",
        "title_ru": "Главная причина в том, что...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как следователь, который нашёл источник — не симптом, а корень. Эти слова позволяют выделить ключевой фактор, объяснить мотивацию и сфокусировать внимание слушателя.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "The main reason is + noun / that-clause",
          "Der Hauptgrund ist... / Der wichtigste Grund ist, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX345",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-main-reason-is-noun-that-clause-lex345/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex345.json"
      },
      {
        "id": "LEX346",
        "title_en": "Let’s break it down + step/detail",
        "title_ru": "Давай разложим по частям",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как инженер, который разбирает сложный механизм на детали. Эти слова помогают структурировать сложную идею, сделать её понятной, логичной и управляемой.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Let’s break it down + step/detail",
          "Lass es uns aufschlüsseln / in Teile zerlegen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX346",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/let-s-break-it-down-step-detail-lex346/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex346.json"
      },
      {
        "id": "LEX347",
        "title_en": "To begin with + clause",
        "title_ru": "Для начала",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как ведущий, открывающий презентацию — задаёшь тон и первое направление. Эти слова мягко включают слушателя в структуру твоей мысли и показывают, что ты мыслишь поэтапно.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "To begin with + clause",
          "Zuallererst... / Zunächst... / Für den Anfang..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX347",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-begin-with-clause-lex347/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex347.json"
      },
      {
        "id": "LEX348",
        "title_en": "Here’s how I’d structure it + colon/list",
        "title_ru": "Вот как бы я это структурировал",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как архитектор, который выкладывает план: блок за блоком, без лишнего. Эти слова подчёркивают твой подход, помогают показать, что ты не просто говоришь — ты выстраиваешь мышление.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Here’s how I’d structure it + colon/list",
          "So würde ich es strukturieren..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX348",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/here-s-how-i-d-structure-it-colon-list-lex348/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex348.json"
      },
      {
        "id": "LEX349",
        "title_en": "So basically + clause",
        "title_ru": "Проще говоря...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как будто переводишь с технического на человеческий. Эти слова помогают обобщить суть, снять лишнее и донести главное — просто, ясно и по делу.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "So basically + clause",
          "Also im Grunde genommen... / Vereinfacht gesagt..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX349",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/so-basically-clause-lex349/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex349.json"
      },
      {
        "id": "LEX351",
        "title_en": "It comes down to this + clause / noun",
        "title_ru": "Всё сводится к следующему",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как аналитик, который отсёк лишнее и оставил только суть. Эти слова сигнализируют: всё сложное можно упростить до одного ключевого вывода. Это идеальная подводка к главному.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "It comes down to this + clause / noun",
          "Im Kern geht es darum, dass... / Letztlich läuft alles darauf hinaus, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX351",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-comes-down-to-this-clause-noun-lex351/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex351.json"
      },
      {
        "id": "LEX355",
        "title_en": "Hope that makes sense",
        "title_ru": "Надеюсь, это понятно",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как преподаватель, который объяснил тему и смотрит в глаза ученикам: всё ли улеглось? Эти слова — знак заботы о том, как восприняли твою мысль. Уместны в конце объяснения, особенно в переписке.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Hope that makes sense.",
          "Ich hoffe, das ist verständlich. / Hoffentlich ist das nachvollziehbar."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX355",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/hope-that-makes-sense-lex355/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex355.json"
      },
      {
        "id": "LEX358",
        "title_en": "to get/be getting accustomed to + noun/gerund",
        "title_ru": "Привыкать к новому",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как будто входишь в холодную воду: сначала неуютно, потом тело привыкает, и уже чувствуешь себя нормально. Эти слова помогают описать процесс адаптации — к людям, среде, правилам.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to get/be getting accustomed to + noun/gerund",
          "sich an + Akk gewöhnen / sich daran gewöhnen, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX358",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-get-be-getting-accustomed-to-noun-gerund-lex358/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex358.json"
      },
      {
        "id": "LEX359",
        "title_en": "well-defined + noun",
        "title_ru": "Чётко определённый",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как границы на карте: всё размечено, ясно где что, без размытости. Такие слова важны, когда говоришь о понятных задачах, условиях или ролях. Это про ясность и контроль.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "well-defined + noun",
          "klar definiert + Substantiv / eindeutig festgelegt"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX359",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/well-defined-noun-lex359/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex359.json"
      },
      {
        "id": "LEX360",
        "title_en": "to foster + noun/idea/process",
        "title_ru": "Способствовать развитию",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как садовник, который не просто наблюдает, а подкармливает почву, создаёт условия, чтобы что-то выросло — будь то идея, культура или команда. Это активная поддержка, не пассивное ожидание.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to foster + noun/idea/process",
          "fördern / begünstigen / unterstützen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX360",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-foster-noun-idea-process-lex360/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex360.json"
      },
      {
        "id": "LEX361",
        "title_en": "for the sake of + noun / for someone’s sake",
        "title_ru": "Ради чего-то",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как человек, который бросает якорь — ты делаешь что-то не просто так, а ради цели, ради кого-то или во имя принципа. Эта связка подчёркивает намерение и жертву.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "for the sake of + noun / for someone’s sake",
          "um ... willen / der Sache zuliebe"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX361",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/for-the-sake-of-noun-for-someone-s-sake-lex361/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex361.json"
      },
      {
        "id": "LEX362",
        "title_en": "back and forth (noun/adverb use)",
        "title_ru": "Туда-сюда / метания / переписки",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как мяч между двумя ракетками — тебя кидают туда и обратно. Это выражение подходит для описания затянувшихся обсуждений, сомнений или обмена сообщениями без конца.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "back and forth (noun/adverb use)",
          "hin und her / ein Hin und Her"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX362",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/back-and-forth-noun-adverb-use-lex362/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex362.json"
      },
      {
        "id": "LEX363",
        "title_en": "to neglect + noun/area/responsibility",
        "title_ru": "Упускать / пренебрегать",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как сад, за которым никто не ухаживает: сначала всё вроде нормально, но потом сорняки, трещины, проблемы. Это слово используется, когда что-то важное не получает должного внимания.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to neglect + noun/area/responsibility",
          "vernachlässigen / außer Acht lassen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX363",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-neglect-noun-area-responsibility-lex363/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex363.json"
      },
      {
        "id": "LEX364",
        "title_en": "to prevent + noun / from + gerund",
        "title_ru": "Предотвращать",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как щит, который ставят до того, как прилетит удар. Это про активную защиту: ты не ждёшь проблему, а заранее перекрываешь путь. Особенно уместно в темах риска, ошибок, инцидентов.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to prevent + noun / from + gerund",
          "verhindern / davor bewahren, dass..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX364",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-prevent-noun-from-gerund-lex364/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex364.json"
      },
      {
        "id": "LEX365",
        "title_en": "at the expense of + noun",
        "title_ru": "Ценой чего-то",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как будто усиливаешь одну сторону весов, перегружая другую. Эта связка подчёркивает, что за один выигрыш пришлось заплатить жертвой или потерей в чём-то другом.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "at the expense of + noun",
          "auf Kosten von + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX365",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/at-the-expense-of-noun-lex365/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex365.json"
      },
      {
        "id": "LEX366",
        "title_en": "among + plural noun",
        "title_ru": "Среди трёх и более",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как будто стоишь в толпе и смотришь, как распределяются взгляды, мнения, действия. Этот предлог подчёркивает наличие множества и отношения внутри этой группы.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "among + plural noun",
          "unter + Dativ (bei Mehrzahl)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX366",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/among-plural-noun-lex366/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex366.json"
      },
      {
        "id": "LEX367",
        "title_en": "across + plural/abstract noun",
        "title_ru": "По / через / среди в широком смысле",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Представь карту — информация, тренды, процессы проходят через все отделы или зоны. Этот предлог помогает описать распределённость и широкий охват.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "across + plural/abstract noun",
          "in + Dativ / über + Akk / abteilungsübergreifend"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX367",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/across-plural-abstract-noun-lex367/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex367.json"
      },
      {
        "id": "LEX368",
        "title_en": "throughout + period/space",
        "title_ru": "На протяжении / повсюду",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как свет, проходящий через всё пространство или время. Этот предлог усиливает идею полного охвата — весь год, весь процесс, вся система.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "throughout + period/space",
          "während + Genitiv / durchgehend"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX368",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/throughout-period-space-lex368/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex368.json"
      },
      {
        "id": "LEX369",
        "title_en": "to cater to/for + needs/group",
        "title_ru": "Удовлетворять потребности",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как шеф-повар на заказ: не просто готовишь, а создаёшь под вкус конкретного клиента. Этот глагол используется, когда система, продукт или человек подстраивается под нужды других.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to cater to/for + needs/group",
          "auf + Akk eingehen / bedienen / zugeschnitten sein auf"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX369",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-cater-to-for-needs-group-lex369/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex369.json"
      },
      {
        "id": "LEX370",
        "title_en": "X and Y refer to A and B, respectively",
        "title_ru": "Соответственно / в указанном порядке",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как если бы ты расставлял имена под фото в точном порядке: A соответствует X, B — Y. Это слово соединяет элементы двух списков по позициям, подчёркивая логическую пару.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "X and Y refer to A and B, respectively.",
          "jeweils / beziehungsweise (bzw.)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX370",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-and-y-refer-to-a-and-b-respectively-lex370/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex370.json"
      },
      {
        "id": "LEX371",
        "title_en": "without compromising on + quality/value/speed etc",
        "title_ru": "Без ущерба для чего-либо",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как канатоходец: держишь баланс между эффективностью и качеством. Эта связка подчёркивает, что что-то достигается, но без потерь в важной области — как компромисс, которого удалось избежать.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "without compromising on + quality/value/speed etc.",
          "ohne Abstriche bei + Dativ / ohne Kompromisse in Bezug auf..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX371",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/without-compromising-on-quality-value-speed-etc-lex371/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex371.json"
      },
      {
        "id": "LEX372",
        "title_en": "countless + plural noun",
        "title_ru": "Бесчисленный / неисчислимый",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как человек, стоящий перед океаном — невозможно сосчитать капли. Это слово подчеркивает огромность, масштаб, когда чего-то так много, что не имеет смысла считать.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "countless + plural noun",
          "unzählige + Plural / zahllos"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX372",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/countless-plural-noun-lex372/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex372.json"
      },
      {
        "id": "LEX373",
        "title_en": "useless + noun / to be useless at doing sth",
        "title_ru": "Бесполезный",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как инструмент без ручки или кнопка без функции. Это слово подчёркивает полную непригодность — ты тратишь усилия, но отдачи нет.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "useless + noun / to be useless at doing sth",
          "nutzlos / sinnlos / zu nichts nütze"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX373",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/useless-noun-to-be-useless-at-doing-something-lex373/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex373.json"
      },
      {
        "id": "LEX374",
        "title_en": "the pros and cons of + noun/gerund",
        "title_ru": "Плюсы и минусы",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как весы: на одной чаше — выгоды, на другой — риски. Это выражение используют, чтобы оценить ситуацию объективно, взвесить все за и против перед решением.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "the pros and cons of + noun/gerund",
          "die Vor- und Nachteile von + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX374",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-pros-and-cons-of-noun-gerund-lex374/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex374.json"
      },
      {
        "id": "LEX375",
        "title_en": "to secure + access / approval / funding / data etc",
        "title_ru": "Обеспечить / добиться / защитить",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как будто ты защёлкиваешь замок или подписываешь важный контракт — получаешь контроль, гарантию или доступ. Этот глагол универсален: используется и в смысле ‘добыть’, и в смысле ‘защитить’.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to secure + access / approval / funding / data etc.",
          "sichern / sicherstellen / erhalten"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX375",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-secure-access-approval-funding-data-etc-lex375/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex375.json"
      },
      {
        "id": "LEX376",
        "title_en": "to do sth along with + noun/pronoun",
        "title_ru": "Совместно / параллельно с чем-то",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Ты как человек, идущий по дороге с попутчиком: действия происходят вместе, синхронно. Эта формула подчёркивает параллельность, поддержку, одновременность.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to do sth along with + noun/pronoun",
          "zusammen mit / gemeinsam mit + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX376",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-do-something-along-with-noun-pronoun-lex376/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex376.json"
      },
      {
        "id": "LEX377",
        "title_en": "intimidating + person/situation/task",
        "title_ru": "Пугающий / давящий",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как большая тень, нависающая над тобой. Это слово используют, когда что-то или кто-то вызывает внутреннее напряжение, заставляет чувствовать себя неуверенно или подавленно.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "intimidating + person/situation/task",
          "einschüchternd / beängstigend"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX377",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/intimidating-person-situation-task-lex377/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex377.json"
      },
      {
        "id": "LEX378",
        "title_en": "a wide range of + plural noun",
        "title_ru": "Широкий спектр / разнообразие",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как если бы перед тобой был длинный стол, заставленный разными вариантами. Эта фраза подчёркивает разнообразие, охват, гибкость в выборе или доступе.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "a wide range of + plural noun",
          "eine breite Palette von / ein breites Spektrum an + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX378",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-wide-range-of-plural-noun-lex378/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex378.json"
      },
      {
        "id": "LEX379",
        "title_en": "explicit/implicit + rule/assumption/message",
        "title_ru": "Неявное и явное",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Представь айсберг: над водой — явное, под водой — скрытое. Эти слова — как линза, через которую ты анализируешь, что сказано прямо, а что только подразумевается.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "explicit/implicit + rule/assumption/message",
          "explizit / implizit + Regel / Erwartung / Botschaft"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX379",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/explicit-implicit-rule-assumption-message-lex379/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex379.json"
      },
      {
        "id": "LEX380",
        "title_en": "within the timeframe / within X days/hours",
        "title_ru": "В установленные сроки",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как поезд, который должен прийти между двумя станциями до сигнала. Эта формула подчёркивает, что всё должно быть выполнено в пределах ограниченного временного окна.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "within the timeframe / within X days/hours",
          "innerhalb des Zeitrahmens / innerhalb von + Zeitangabe"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX380",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/within-the-timeframe-within-x-days-hours-lex380/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex380.json"
      },
      {
        "id": "LEX381",
        "title_en": "rigorous + process/testing/standards",
        "title_ru": "Строгий / тщательный / жёсткий",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как фильтр с мелкой сеткой — ничего случайного не пройдёт. Это слово подчёркивает высокие стандарты, системность и отсутствие поблажек.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "rigorous + process/testing/standards",
          "streng / gründlich / rigoros"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX381",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/rigorous-process-testing-standards-lex381/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex381.json"
      },
      {
        "id": "LEX382",
        "title_en": "to be paired with + noun",
        "title_ru": "Сочетаться / использоваться в паре с чем-то",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как два элемента, которые работают лучше вместе — как ключ и замок. Эта формула подчёркивает, что что-то создаёт эффект или смысл только в связке с другим.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to be paired with + noun",
          "mit + Dativ kombiniert / gepaart werden mit + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX382",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-be-paired-with-noun-lex382/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex382.json"
      },
      {
        "id": "LEX383",
        "title_en": "at your own pace / at someone’s pace",
        "title_ru": "В своём темпе",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как если бы ты шёл по треку, но без толпы и гонки. Эта фраза подчёркивает контроль над ритмом, свободное движение без давления.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "at your own pace / at someone’s pace",
          "in deinem eigenen Tempo / im eigenen Tempo"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX383",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/at-your-own-pace-at-someone-s-pace-lex383/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex383.json"
      },
      {
        "id": "LEX384",
        "title_en": "on the whole, + clause",
        "title_ru": "В целом / в общем",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как будто смотришь на картину издалека — детали отходят, важным становится общий смысл. Эта фраза даёт возможность подвести итог или выразить общее мнение, несмотря на нюансы.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "on the whole, + clause",
          "im Großen und Ganzen / insgesamt"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX384",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/on-the-whole-clause-lex384/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex384.json"
      },
      {
        "id": "LEX385",
        "title_en": "Little wonder that + sentence",
        "title_ru": "Неудивительно, что…",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как если бы пазл наконец сложился — всё логично, всё предсказуемо. Эта конструкция подчёркивает, что результат вполне объясним, ожидаем, закономерен.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "Little wonder that + sentence",
          "Kein Wunder, dass + Nebensatz"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX385",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/little-wonder-that-sentence-lex385/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex385.json"
      },
      {
        "id": "LEX386",
        "title_en": "To the best of my knowledge, + clause",
        "title_ru": "Насколько мне известно",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как если бы ты держал фонарик в темноте: ты освещаешь только ту часть, которую точно знаешь, и честно признаёшь пределы своей информации. Эта фраза подчёркивает аккуратность и ответственность в утверждении.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "To the best of my knowledge, + clause",
          "Soweit ich weiß / Nach meinem Kenntnisstand"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX386",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-the-best-of-my-knowledge-clause-lex386/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex386.json"
      },
      {
        "id": "LEX387",
        "title_en": "cut to the chase and + verb",
        "title_ru": "Перейти к сути",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как будто ты перематываешь фильм сразу к сцене погони. Без лишних слов, без прелюдий — прямо к главному. Эта идиома используется, чтобы потребовать или предложить говорить по делу.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "cut to the chase and + verb",
          "zur Sache kommen / auf den Punkt kommen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX387",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/cut-to-the-chase-and-verb-lex387/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex387.json"
      },
      {
        "id": "LEX388",
        "title_en": "a steep learning curve",
        "title_ru": "Резкий и трудный процесс обучения",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как будто тебя сразу пускают на крутую гору — взбираться сложно, нужно быстро осваивать. Эта фраза подчёркивает, что обучение требует много усилий и идёт интенсивно с самого начала.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "a steep learning curve",
          "eine steile Lernkurve / viel Neues auf einmal lernen müssen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX388",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-steep-learning-curve-lex388/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex388.json"
      },
      {
        "id": "LEX389",
        "title_en": "to turn out (to be / that...)",
        "title_ru": "Оказаться / выясниться / в итоге получиться",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как закрытая коробка — ты не знаешь, что внутри, пока не откроешь. Этот глагол описывает неожиданный, но часто логичный исход или результат.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to turn out (to be / that...)",
          "sich herausstellen / sich als etw. erweisen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX389",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-turn-out-to-be-that-lex389/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex389.json"
      },
      {
        "id": "LEX390",
        "title_en": "the lack of + noun",
        "title_ru": "Отсутствие / нехватка чего-либо",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как если бы на складе пустует полка: ты точно знаешь, что что-то должно быть, но этого нет. Это выражение подчёркивает дефицит ключевого ресурса, качества или условия.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "the lack of + noun",
          "der Mangel an + Dativ / fehlende + Substantiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX390",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-lack-of-noun-lex390/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex390.json"
      },
      {
        "id": "LEX391",
        "title_en": "to be affected by + noun",
        "title_ru": "Быть затронутым / пострадать от чего-либо",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как волна, накрывающая тебя — ты не управляешь процессом, но последствия на себе чувствуешь. Эта формула подчёркивает внешнее влияние, которое меняет твоё состояние или ситуацию.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to be affected by + noun",
          "betroffen sein von + Dativ / beeinflusst werden durch"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX391",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-be-affected-by-noun-lex391/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex391.json"
      },
      {
        "id": "LEX392",
        "title_en": "underneath + noun / underneath it all",
        "title_ru": "Под / под поверхностью / за фасадом",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как маска или крышка, под которой скрывается что-то настоящее. Это слово используют, чтобы показать, что за внешней стороной скрыта другая суть — физическая или эмоциональная.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "underneath + noun / underneath it all",
          "unter + Dativ / unter der Oberfläche"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX392",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/underneath-noun-underneath-it-all-lex392/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex392.json"
      },
      {
        "id": "LEX393",
        "title_en": "apart from + noun/gerund",
        "title_ru": "Помимо / за исключением",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как если бы ты выделил один элемент из общей группы — либо чтобы исключить его, либо чтобы дополнить остальными. Эта формула помогает точно указать, о чём идёт речь: исключение или добавление.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "apart from + noun/gerund",
          "abgesehen von + Dativ / außer + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX393",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/apart-from-noun-gerund-lex393/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex393.json"
      },
      {
        "id": "LEX394",
        "title_en": "a subset of + plural noun",
        "title_ru": "Частичный набор / подмножество",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как коробка с инструментами, из которой ты достаёшь только нужные. Это выражение подчёркивает, что рассматривается не всё целиком, а лишь ограниченная часть от чего-то большего.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "a subset of + plural noun",
          "eine Teilmenge von + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX394",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-subset-of-plural-noun-lex394/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex394.json"
      },
      {
        "id": "LEX395",
        "title_en": "irrespective of whether + clause A or clause B",
        "title_ru": "Независимо от того, ... или ...",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как путь, по которому ты идёшь, несмотря на развилки. Эта конструкция подчёркивает, что решение или действие не зависит от альтернатив или условий — выбор уже сделан.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "irrespective of whether + clause A or clause B",
          "unabhängig davon, ob ... oder ..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX395",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/irrespective-of-whether-clause-a-or-clause-b-lex395/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex395.json"
      },
      {
        "id": "LEX396",
        "title_en": "solely + verb/noun phrase",
        "title_ru": "Исключительно / только",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как один-единственный ключ к замку — ничего лишнего, только он. Это слово подчёркивает фокус на одном источнике, причине или действии, исключая всё остальное.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "solely + verb/noun phrase",
          "ausschließlich / nur"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX396",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/solely-verb-noun-phrase-lex396/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex396.json"
      },
      {
        "id": "LEX397",
        "title_en": "adhering to + rules/standards/schedule",
        "title_ru": "Придерживаться / строго следовать",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как идти по нарисованной линии, не отклоняясь. Это выражение подчёркивает точное соблюдение правил, стандартов или графика — без вольностей.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "adhering to + rules/standards/schedule",
          "sich an + Akk halten / einhalten"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX397",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/adhering-to-rules-standards-schedule-lex397/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex397.json"
      },
      {
        "id": "LEX398",
        "title_en": "to prevail (over / against / in context)",
        "title_ru": "Преобладать / восторжествовать / взять верх",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как если бы ветер сменил направление и начал дуть в твою сторону — ты не сразу, но всё же победил. Этот глагол передаёт идею стойкости и в итоге победы, особенно несмотря на сопротивление.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to prevail (over / against / in context)",
          "sich durchsetzen / überwiegen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX398",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-prevail-over-against-in-context-lex398/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex398.json"
      },
      {
        "id": "LEX399",
        "title_en": "foremost + noun / foremost among",
        "title_ru": "Прежде всего / главный / ведущий",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как флагман, идущий впереди флота — указывает направление, задаёт тон. Это слово подчёркивает первостепенность по значению, приоритет или лидерство в своей области.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "foremost + noun / foremost among",
          "führend / an erster Stelle stehend"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX399",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/foremost-noun-foremost-among-lex399/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex399.json"
      },
      {
        "id": "LEX400",
        "title_en": "to be complemented by + noun/feature",
        "title_ru": "Дополняться / усиливаться за счёт чего-то",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как два инструмента в одной руке — один режет, другой шлифует. Эта конструкция подчёркивает, что один элемент делает другой полнее, гармоничнее или эффективнее.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to be complemented by + noun/feature",
          "ergänzt werden durch + Akk"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX400",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-be-complemented-by-noun-feature-lex400/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex400.json"
      },
      {
        "id": "LEX401",
        "title_en": "to choose X over Y",
        "title_ru": "Предпочесть одно другому",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как перекрёсток, где ты выбираешь один путь, а не другой. Эта формула подчёркивает сознательный приоритет: ты выбрал А, а не Б, потому что А тебе важнее.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to choose X over Y",
          "sich für X statt Y entscheiden / X Y vorziehen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX401",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-choose-x-over-y-lex401/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex401.json"
      },
      {
        "id": "LEX402",
        "title_en": "opt for X rather than Y",
        "title_ru": "Сделать выбор в пользу одного, а не другого",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как на весах: ты смотришь на оба варианта, но один перевешивает. Эта конструкция подчёркивает осознанное и аргументированное предпочтение.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "opt for X rather than Y",
          "sich für X statt Y entscheiden"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX402",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/opt-for-x-rather-than-y-lex402/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex402.json"
      },
      {
        "id": "LEX403",
        "title_en": "to cleanse + object (of/from...)",
        "title_ru": "Очищать / избавлять от лишнего или вредного",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как фильтр, через который пропускаешь воду, чтобы осталась только суть. Этот глагол часто используется для описания глубокого очищения — тела, данных, процессов или даже эмоций.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to cleanse + object (of/from...)",
          "reinigen / bereinigen von + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX403",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-cleanse-object-of-from-lex403/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex403.json"
      },
      {
        "id": "LEX404",
        "title_en": "to tie together + ideas/components",
        "title_ru": "Связать воедино / объединить части",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как шнурки, которые скрепляют ботинок — без них всё развалится. Эта фраза подчёркивает, что разные элементы складываются в единую, связанную систему или идею.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to tie together + ideas/components",
          "zusammenführen / miteinander verknüpfen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX404",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-tie-together-ideas-components-lex404/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex404.json"
      },
      {
        "id": "LEX405",
        "title_en": "unpredictable + noun",
        "title_ru": "Непредсказуемый / нестабильный",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как погода в горах — никогда не знаешь, что будет дальше. Это слово подчёркивает нестабильность, внезапность и отсутствие чёткой логики в развитии событий.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "unpredictable + noun",
          "unvorhersehbar / unberechenbar + Substantiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX405",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/unpredictable-noun-lex405/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex405.json"
      },
      {
        "id": "LEX406",
        "title_en": "to tackle + problem/challenge/task",
        "title_ru": "Справляться с задачей / решать проблему",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как в футболе — ты бросаешься на мяч, чтобы остановить его. Это слово передаёт идею активного, целенаправленного подхода к трудной задаче или препятствию.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to tackle + problem/challenge/task",
          "etw. angehen / etw. in Angriff nehmen / etw. bewältigen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX406",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-tackle-problem-challenge-task-lex406/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex406.json"
      },
      {
        "id": "LEX407",
        "title_en": "towards + goal/result/person/approach",
        "title_ru": "По направлению к / в сторону цели",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как шаг вперёд в сторону цели — ты ещё не там, но двигаешься. Этот предлог подчёркивает стремление, движение или отношение к чему-либо — как физически, так и ментально.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "towards + goal/result/person/approach",
          "auf + Akk / gegenüber + Dativ (в зависимости от контекста)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX407",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/towards-goal-result-person-approach-lex407/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex407.json"
      },
      {
        "id": "LEX408",
        "title_en": "successor to + person/system/position",
        "title_ru": "Преемник / тот, кто пришёл на смену",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как эстафета — один передаёт, другой принимает. Эта конструкция подчёркивает, что новый человек или объект приходит на место предыдущего, продолжая или заменяя его роль.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "successor to + person/system/position",
          "der/die Nachfolger(in) von + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX408",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/successor-to-person-system-position-lex408/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex408.json"
      },
      {
        "id": "LEX409",
        "title_en": "former + title/role/status",
        "title_ru": "Бывший / предыдущий",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как тень, оставшаяся от человека, ушедшего со сцены. Это слово подчёркивает, что объект или лицо играли важную роль в прошлом, но сейчас уже нет.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "former + title/role/status",
          "ehemalig / früher + Rolle/Funktion"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX409",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/former-title-role-status-lex409/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex409.json"
      },
      {
        "id": "LEX410",
        "title_en": "regardless of + noun/gerund",
        "title_ru": "Независимо от / вне зависимости от",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как поезд, идущий по своему пути, несмотря на погоду. Эта конструкция подчёркивает полное игнорирование факторов, которые могли бы повлиять на результат — ты всё равно действуешь.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "regardless of + noun/gerund",
          "unabhängig von + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX410",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/regardless-of-noun-gerund-lex410/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex410.json"
      },
      {
        "id": "LEX411",
        "title_en": "severe + mistakes/errors/consequences",
        "title_ru": "Серьёзные / тяжёлые ошибки",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как глубокая трещина в конструкции — не просто царапина. Это сочетание подчёркивает масштаб или последствия ошибки, которые нельзя игнорировать.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "severe + mistakes/errors/consequences",
          "schwere / gravierende Fehler"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX411",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/severe-mistakes-errors-consequences-lex411/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex411.json"
      },
      {
        "id": "LEX412",
        "title_en": "to acknowledge + problem/fact/responsibility",
        "title_ru": "Признавать / подтверждать факт",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как включить свет в комнате — ты видишь и признаёшь, что нечто существует или случилось. Этот глагол подчёркивает зрелость и ответственность: ты не отрицаешь, а принимаешь реальность.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to acknowledge + problem/fact/responsibility",
          "anerkennen / eingestehen / bestätigen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX412",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-acknowledge-problem-fact-responsibility-lex412/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex412.json"
      },
      {
        "id": "LEX413",
        "title_en": "to conform to + rules/standards/expectations",
        "title_ru": "Соответствовать / подчиняться правилам",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как деталь, идеально входящая в паз — без зазоров. Этот глагол подчёркивает соответствие ожиданиям, стандартам или установленным нормам, даже если это требует отказа от уникальности.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to conform to + rules/standards/expectations",
          "etw. entsprechen / sich anpassen an + Akk / konform sein mit + D"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX413",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-conform-to-rules-standards-expectations-lex413/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex413.json"
      },
      {
        "id": "LEX414",
        "title_en": "implications of / for / that..",
        "title_ru": "Последствия / скрытые выводы / намёки",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как круги на воде после брошенного камня — сначала не видно, но эффект распространяется. Это слово подчёркивает, что за действием или идеей скрываются важные последствия или значения.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "implications of / for / that...",
          "die Auswirkungen / Implikationen von + D / für + Akk"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX414",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/implications-of-for-that-lex414/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex414.json"
      },
      {
        "id": "LEX415",
        "title_en": "to give + noun (a try / an answer / a boost / permission / feedback / result / impression / rise to...)",
        "title_ru": "Дать / предоставить / вызвать",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как передача энергии от одного к другому — дать шанс, дать сигнал, дать результат. Этот глагол часто используется в конструкциях, где подчёркивается влияние на что-то или кого-то.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to give + noun (a try / an answer / a boost / permission / feedback / result / impression / rise to...)",
          "geben + Dativ/Akk (einen Versuch / eine Antwort / einen Schub / die Erlaubnis / Feedback / Eindruck / Anlass zu...)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX415",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-give-noun-a-try-an-answer-a-boost-permission-lex415/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex415.json"
      },
      {
        "id": "LEX416",
        "title_en": "to alter + plan/design/behavior/settings",
        "title_ru": "Изменять / вносить коррективы",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как перешить одежду по фигуре — немного меняешь форму, но суть остаётся. Этот глагол подчёркивает частичное изменение, особенно с целью улучшения или адаптации.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "to alter + plan/design/behavior/settings",
          "etw. ändern / anpassen / modifizieren"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX416",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-alter-plan-design-behavior-settings-lex416/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex416.json"
      },
      {
        "id": "LEX417",
        "title_en": "the number of + plural noun + singular verb",
        "title_ru": "Количество чего-либо (исчисляемого)",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Как счётчик на входе — фиксирует каждую единицу. Эта конструкция подчёркивает точное или приблизительное количество предметов, людей, случаев и т.п.",
        "group_id": "LEX",
        "set_id": "OPI",
        "formulas": [
          "the number of + plural noun + singular verb",
          "die Anzahl von + Dativ / die Zahl der + Genitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LEX417",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-number-of-plural-noun-singular-verb-lex417/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lex417.json"
      },
      {
        "id": "C1OPI001",
        "title_en": "My considered view is that [X], especially given [Y]",
        "title_ru": "После тщательного рассмотрения я считаю, что …, особенно учитывая …",
        "description_en": "A reusable frame from “Opinions and stance”. State a position with the right degree of commitment.",
        "description_ru": "Формулируйте взвешенную позицию и сразу показывайте основание для неё, а не просто усиливайте мнение.",
        "group_id": "OPI",
        "set_id": "OPI",
        "formulas": [
          "My considered view is that [X], especially given [Y].",
          "Nach reiflicher Überlegung bin ich der Ansicht, dass [X], insbesondere angesichts [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1OPI001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/my-considered-view-is-that-a-funding-proposal-c1opi001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1opi001.json"
      },
      {
        "id": "C1EVD001",
        "title_en": "The available evidence suggests that [X], although [Y]",
        "title_ru": "Имеющиеся данные указывают на …, хотя …",
        "description_en": "Connects a claim to evidence and helps keep observation separate from inference.",
        "description_ru": "Связывает утверждение с данными и помогает отделить наблюдение от вывода.",
        "group_id": "EVD",
        "set_id": "EVD",
        "formulas": [
          "The available evidence suggests that [X], although [Y].",
          "Die verfügbaren Belege deuten darauf hin, dass [X], obwohl [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1EVD001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-available-evidence-points-to-a-funding-c1evd001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1evd001.json"
      },
      {
        "id": "C1AGR001",
        "title_en": "I can see the merit in [X], although I would [Y]",
        "title_ru": "Я вижу смысл в …, хотя я бы …",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "AGR",
        "set_id": "AGR",
        "formulas": [
          "I can see the merit in [X], although I would [Y].",
          "Ich sehe den Vorteil von [X], würde aber [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1AGR001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-see-the-merit-in-a-funding-proposal-although-i-c1agr001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1agr001.json"
      },
      {
        "id": "C1HED001",
        "title_en": "It would be premature to conclude that [X] before [Y]",
        "title_ru": "Было бы преждевременно заключать, что …, прежде чем …",
        "description_en": "Keeps a conclusion proportionate when the available evidence does not justify certainty.",
        "description_ru": "Смягчает вывод и удерживает нужную степень уверенности, когда данных недостаточно для категоричного утверждения.",
        "group_id": "HED",
        "set_id": "HED",
        "formulas": [
          "It would be premature to conclude that [X] before [Y].",
          "Es wäre verfrüht zu schließen, dass [X], bevor [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1HED001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-would-be-premature-to-conclude-that-a-funding-c1hed001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1hed001.json"
      },
      {
        "id": "C1PRB001",
        "title_en": "There is a realistic chance that [X] if [Y]",
        "title_ru": "Есть реальная вероятность, что …, если …",
        "description_en": "Expresses likelihood and uncertainty without pretending to have more precision than the evidence supports.",
        "description_ru": "Позволяет говорить о вероятности и неопределённости без ложной точности.",
        "group_id": "PRB",
        "set_id": "PRB",
        "formulas": [
          "There is a realistic chance that [X] if [Y].",
          "Es besteht eine realistische Chance, dass [X], wenn [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1PRB001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/there-is-a-realistic-chance-that-a-funding-c1prb001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1prb001.json"
      },
      {
        "id": "CLA001",
        "title_en": "Even though + subject + verb, main clause",
        "title_ru": "Хотя…",
        "description_en": "A reusable frame from “Clarification and reformulation”. Repair and sharpen meaning in conversation.",
        "description_ru": "Как идти против ветра — условия мешают, но ты всё равно двигаешься вперёд.",
        "group_id": "CLA",
        "set_id": "CLR",
        "formulas": [
          "Even though + subject + verb, main clause",
          "Obwohl + subject + verb, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLA001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/even-though-subject-verb-main-clause-cla001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/cla001.json"
      },
      {
        "id": "CLA002",
        "title_en": "No matter how + adj/adv + subject + verb, main clause",
        "title_ru": "Как бы ни..., мы всё равно…",
        "description_en": "A reusable frame from “Clarification and reformulation”. Repair and sharpen meaning in conversation.",
        "description_ru": "Как ледокол, который двигается вперёд, ломая любые преграды на своём пути — что бы ни стояло, курс не меняется.",
        "group_id": "CLA",
        "set_id": "CLR",
        "formulas": [
          "No matter how + adj/adv + subject + verb, main clause",
          "Egal wie + adj/adv + subject + verb, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLA002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/no-matter-how-adj-adv-subject-verb-main-clause-cla002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/cla002.json"
      },
      {
        "id": "CLA003",
        "title_en": "Despite + V-ing / noun, main clause",
        "title_ru": "Несмотря на…",
        "description_en": "A reusable frame from “Clarification and reformulation”. Repair and sharpen meaning in conversation.",
        "description_ru": "Как ехать по скользкой дороге, но при этом держать руль прямо — условия против тебя, но ты держишь курс.",
        "group_id": "CLA",
        "set_id": "CLR",
        "formulas": [
          "Despite + V-ing / noun, main clause",
          "Trotz + noun/Genitiv, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLA003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/despite-verb-ing-noun-main-clause-cla003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/cla003.json"
      },
      {
        "id": "CLA005",
        "title_en": "Although / Though + subject + verb, main clause",
        "title_ru": "Хотя (короткий контраст)",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "CLA",
        "set_id": "CLR",
        "formulas": [
          "Although / Though + subject + verb, main clause",
          "Obwohl + subject + verb, main clause (CLA005)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLA005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/although-though-subject-verb-main-clause-cla005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/cla005.json"
      },
      {
        "id": "C1CLR001",
        "title_en": "To put [X] more precisely, [Y]",
        "title_ru": "Если сформулировать … точнее, …",
        "description_en": "A reusable frame from “Clarification and reformulation”. Repair and sharpen meaning in conversation.",
        "description_ru": "Используйте каркас, чтобы заменить расплывчатую формулировку точным различием и сделать мысль проверяемой.",
        "group_id": "CLR",
        "set_id": "CLR",
        "formulas": [
          "To put [X] more precisely, [Y].",
          "Um [X] genauer zu formulieren: [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1CLR001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-put-a-funding-proposal-more-precisely-the-c1clr001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1clr001.json"
      },
      {
        "id": "COM001",
        "title_en": "The more + subject + verb, the more/less + subject + verb",
        "title_ru": "Чем больше..., тем больше...",
        "description_en": "A reusable frame from “Comparison and evaluation”. Compare options using nuanced criteria.",
        "description_ru": "Как рычаг — чем сильнее давишь с одной стороны, тем выше поднимается другая. Полный контроль над усилением эффекта.",
        "group_id": "COM",
        "set_id": "CMP",
        "formulas": [
          "The more + subject + verb, the more/less + subject + verb",
          "Je mehr + subject + verb, desto mehr/weniger + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "COM001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-more-subject-verb-the-more-less-subject-verb-com001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/com001.json"
      },
      {
        "id": "COM002",
        "title_en": "Not only + auxiliary verb + subject + main verb, but (also) + subject + verb",
        "title_ru": "Не только..., но и... (с инверсией)",
        "description_en": "A reusable frame from “Comparison and evaluation”. Compare options using nuanced criteria.",
        "description_ru": "Как двойной удар в боксе — сначала один кулак, сразу второй, и эффект в два раза сильнее.",
        "group_id": "COM",
        "set_id": "CMP",
        "formulas": [
          "Not only + auxiliary verb + subject + main verb, but (also) + subject + verb",
          "Nicht nur ..., sondern auch ..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "COM002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/not-only-auxiliary-verb-subject-main-verb-but-com002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/com002.json"
      },
      {
        "id": "COM003",
        "title_en": "Whereas + subject + verb, subject + verb",
        "title_ru": "В то время как..., я... (контраст)",
        "description_en": "A reusable frame from “Comparison and evaluation”. Compare options using nuanced criteria.",
        "description_ru": "Как развилка на дороге — одна полоса идёт налево, другая направо. Ты показываешь: «Я иду своим путём».",
        "group_id": "COM",
        "set_id": "CMP",
        "formulas": [
          "Whereas + subject + verb, subject + verb",
          "Während + subject + verb, verb + subject"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "COM003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/whereas-subject-verb-subject-verb-com003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/com003.json"
      },
      {
        "id": "COM004",
        "title_en": "Unlike + object, subject + verb..",
        "title_ru": "В отличие от..., это...",
        "description_en": "A reusable frame from “Comparison and evaluation”. Compare options using nuanced criteria.",
        "description_ru": "Как чёрно-белое фото рядом с яркой цветной картинкой — сразу видно, что твоё решение выделяется.",
        "group_id": "COM",
        "set_id": "CMP",
        "formulas": [
          "Unlike + object, subject + verb...",
          "Im Gegensatz zu + Dativ, verb + subject ..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "COM004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/unlike-object-subject-verb-com004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/com004.json"
      },
      {
        "id": "COM005",
        "title_en": "Far from being + adjective/noun, subject + verb..",
        "title_ru": "Вовсе не…, а наоборот…",
        "description_en": "A reusable frame from “Comparison and evaluation”. Compare options using nuanced criteria.",
        "description_ru": "Как развенчание мифа: ты сначала показываешь ярлык (ожидание), а потом резко ломаешь его и демонстрируешь реальную ценность.",
        "group_id": "COM",
        "set_id": "CMP",
        "formulas": [
          "Far from being + adjective/noun, subject + verb...",
          "Weit davon entfernt, + zu + sein, verb + subject..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "COM005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/far-from-being-adjective-noun-subject-verb-com005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/com005.json"
      },
      {
        "id": "COM008",
        "title_en": "On the one hand..., on the other hand..",
        "title_ru": "С одной стороны..., с другой стороны...",
        "description_en": "A reusable frame from “Comparison and evaluation”. Compare options using nuanced criteria.",
        "description_ru": "Как весы с двумя чашами: ты кладёшь аргументы на каждую сторону и показываешь баланс или конфликт.",
        "group_id": "COM",
        "set_id": "CMP",
        "formulas": [
          "On the one hand..., on the other hand...",
          "Einerseits..., andererseits..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "COM008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/on-the-one-hand-on-the-other-hand-com008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/com008.json"
      },
      {
        "id": "COM009",
        "title_en": "Either + option A, or + option B",
        "title_ru": "Либо..., либо...",
        "description_en": "A reusable frame from “Comparison and evaluation”. Compare options using nuanced criteria.",
        "description_ru": "Как развилка с двумя чёткими указателями: нужно выбрать одну дорогу, середины нет.",
        "group_id": "COM",
        "set_id": "CMP",
        "formulas": [
          "Either + option A, or + option B",
          "Entweder + Option A, oder + Option B"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "COM009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/either-option-a-or-option-b-com009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/com009.json"
      },
      {
        "id": "COM010",
        "title_en": "Neither + option A + nor + option B",
        "title_ru": "Ни..., ни...",
        "description_en": "A reusable frame from “Comparison and evaluation”. Compare options using nuanced criteria.",
        "description_ru": "Как две закрытые двери: ты показываешь, что не выбрал ни одну, ни другую, полностью отверг оба варианта.",
        "group_id": "COM",
        "set_id": "CMP",
        "formulas": [
          "Neither + option A + nor + option B",
          "Weder + Option A + noch + Option B"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "COM010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/neither-option-a-nor-option-b-com010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/com010.json"
      },
      {
        "id": "C1CMP001",
        "title_en": "The decisive difference between [X] and [Y] is [Z]",
        "title_ru": "Ключевое различие между … и … — …",
        "description_en": "A reusable frame from “Comparison and evaluation”. Compare options using nuanced criteria.",
        "description_ru": "Сравнивайте варианты по конкретному параметру, который их различает, вместо общего «один лучше другого».",
        "group_id": "CMP",
        "set_id": "CMP",
        "formulas": [
          "The decisive difference between [X] and [Y] is [Z].",
          "Der entscheidende Unterschied zwischen [X] und [Y] liegt in [Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1CMP001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/compared-with-the-alternative-a-funding-proposal-c1cmp001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1cmp001.json"
      },
      {
        "id": "C1CAU001",
        "title_en": "Because [X], [Y], which meant that [Z]",
        "title_ru": "Поскольку …, …, из-за чего …",
        "description_en": "Makes a cause-and-effect link explicit so the reasoning is easier to inspect.",
        "description_ru": "Делает связь причины и следствия явной, чтобы ход рассуждения было легче проверить.",
        "group_id": "CAU",
        "set_id": "CAU",
        "formulas": [
          "Because [X], [Y], which meant that [Z].",
          "Weil [X], [Y], was dazu führte, dass [Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1CAU001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/because-a-funding-proposal-was-overlooked-the-c1cau001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1cau001.json"
      },
      {
        "id": "C1NEG001",
        "title_en": "Could we treat [X] as the basis for a compromise, provided that [Y]?",
        "title_ru": "Можем ли мы взять … за основу компромисса при условии, что …?",
        "description_en": "Creates room for a workable compromise by making the negotiable condition explicit.",
        "description_ru": "Открывает пространство для компромисса и формулирует условие, вокруг которого можно договариваться.",
        "group_id": "NEG",
        "set_id": "NEG",
        "formulas": [
          "Could we treat [X] as the basis for a compromise, provided that [Y]?",
          "Könnten wir [X] als Grundlage für einen Kompromiss nehmen, vorausgesetzt, dass [Y]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1NEG001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-we-treat-a-funding-proposal-as-the-basis-c1neg001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1neg001.json"
      },
      {
        "id": "C1PRO001",
        "title_en": "I am writing to clarify [X] before [Y]",
        "title_ru": "Пишу, чтобы уточнить …, прежде чем …",
        "description_en": "Organises professional communication around a next action, deadline, or clarification.",
        "description_ru": "Организует рабочую коммуникацию вокруг следующего действия, срока или нужного уточнения.",
        "group_id": "PRO",
        "set_id": "PRO",
        "formulas": [
          "I am writing to clarify [X] before [Y].",
          "Ich schreibe, um [X] zu klären, bevor [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1PRO001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-am-writing-to-clarify-how-a-funding-proposal-c1pro001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1pro001.json"
      },
      {
        "id": "C1STO001",
        "title_en": "Looking back, [X] was the moment when [Y]",
        "title_ru": "Оглядываясь назад, … стал моментом, когда …",
        "description_en": "Looks back on an event and shows why it changed what happened next.",
        "description_ru": "Помогает рассказать о прошлом событии и показать, почему оно изменило дальнейший ход ситуации.",
        "group_id": "STO",
        "set_id": "STO",
        "formulas": [
          "Looking back, [X] was the moment when [Y].",
          "Rückblickend war [X] der Moment, in dem [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1STO001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/looking-back-a-funding-proposal-was-the-moment-c1sto001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1sto001.json"
      },
      {
        "id": "PUR001",
        "title_en": "so as not to + V",
        "title_ru": "Я сделал (что-то), чтобы не…",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как поставить защитный экран перед костром — заранее закрываешься от искр, чтобы избежать проблем.",
        "group_id": "PUR",
        "set_id": "LNK",
        "formulas": [
          "so as not to + V",
          "um nicht + zu + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PUR001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/so-as-not-to-verb-pur001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pur001.json"
      },
      {
        "id": "PUR002",
        "title_en": "in order to + V",
        "title_ru": "Мы выбрали это, чтобы…",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как нажать кнопку «быстрый старт» на машине — сразу видно, зачем именно ты это сделал и куда хочешь ехать.",
        "group_id": "PUR",
        "set_id": "LNK",
        "formulas": [
          "in order to + V",
          "um + zu + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PUR002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/in-order-to-verb-pur002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pur002.json"
      },
      {
        "id": "PUR003",
        "title_en": "so that + subject + could/would + V",
        "title_ru": "Я сделал это, чтобы…",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как проложить мост через реку — твой шаг соединяет точку А (проблему) с точкой Б (целью).",
        "group_id": "PUR",
        "set_id": "LNK",
        "formulas": [
          "so that + subject + could/would + V",
          "damit + subject + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PUR003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/so-that-subject-could-would-verb-pur003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pur003.json"
      },
      {
        "id": "PUR004",
        "title_en": "for + noun / V-ing",
        "title_ru": "Для обозначения функции или назначения",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как ярлык на коробке — сразу понятно, для чего это нужно и как использовать.",
        "group_id": "PUR",
        "set_id": "LNK",
        "formulas": [
          "for + noun / V-ing",
          "für + Akkusativ / zum + V-ing"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PUR004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/for-noun-verb-ing-pur004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pur004.json"
      },
      {
        "id": "PUR005",
        "title_en": "with the aim of + V-ing",
        "title_ru": "С целью сделать что-то",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как стрелка на дорожном указателе — показывает, куда именно ты направляешь свои действия.",
        "group_id": "PUR",
        "set_id": "LNK",
        "formulas": [
          "with the aim of + V-ing",
          "mit dem Ziel, + zu + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PUR005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/with-the-aim-of-verb-ing-pur005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pur005.json"
      },
      {
        "id": "PUR006",
        "title_en": "due to / because of + noun",
        "title_ru": "Из-за чего-то (причина)",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как корень дерева — показывает, откуда всё растёт, почему так получилось.",
        "group_id": "PUR",
        "set_id": "LNK",
        "formulas": [
          "due to / because of + noun",
          "wegen + Genitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PUR006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/due-to-because-of-noun-pur006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pur006.json"
      },
      {
        "id": "LIN049",
        "title_en": "As soon as + subject + verb, subject + will + verb",
        "title_ru": "Как только… (моментальный переход)",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как автоматическая дверь, которая открывается мгновенно, как только ты подошёл.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "As soon as + subject + verb, subject + will + verb",
          "Sobald + subject + verb, wird + subject + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN049",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/as-soon-as-subject-verb-subject-will-verb-lin049/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin049.json"
      },
      {
        "id": "LIN050",
        "title_en": "Hardly + had + subject + Past Participle when + subject + verb",
        "title_ru": "Едва мы начали, как сразу...",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как кнопка старт на ракете — только нажал, и тут же взлёт, без задержки.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "Hardly + had + subject + Past Participle when + subject + verb",
          "Kaum + hatte + subject + Partizip II, als + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN050",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/hardly-had-subject-past-participle-when-subject-lin050/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin050.json"
      },
      {
        "id": "LIN051",
        "title_en": "No sooner + had + subject + Past Participle than + subject + verb",
        "title_ru": "Как только я прибыл, сразу...",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как кнопка стоп-кадра — ты только заходишь в комнату, и сразу начинается действие.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "No sooner + had + subject + Past Participle than + subject + verb",
          "Kaum + hatte + subject + Partizip II, da + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN051",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/no-sooner-had-subject-past-participle-than-lin051/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin051.json"
      },
      {
        "id": "LIN052",
        "title_en": "Once + subject + present simple, subject + will + verb",
        "title_ru": "Как только мы закончим, мы сразу...",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как кнопка «пуск» на конвейере — одно завершается, и сразу запускается следующее.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "Once + subject + present simple, subject + will + verb",
          "Sobald + subject + present, wird + subject + verb + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN052",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/once-subject-present-simple-subject-will-verb-lin052/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin052.json"
      },
      {
        "id": "LIN054",
        "title_en": "because + subject + verb",
        "title_ru": "Потому что…",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как корень у дерева — объясняет, почему оно стоит именно здесь и как держится.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "because + subject + verb",
          "weil + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN054",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/because-subject-verb-lin054/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin054.json"
      },
      {
        "id": "LIN055",
        "title_en": "to + verb",
        "title_ru": "Чтобы… (цель)",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как стрелка на компасе — показывает, куда ты хочешь прийти, а не просто где стоишь.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "to + verb",
          "um + zu + Infinitiv (LIN055)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN055",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-verb-lin055/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin055.json"
      },
      {
        "id": "LIN056",
        "title_en": "since / as + subject + verb",
        "title_ru": "Поскольку… / Так как…",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как корень дерева — объясняет, откуда растёт твое решение или действие.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "since / as + subject + verb",
          "da / weil + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN056",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/since-as-subject-verb-lin056/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin056.json"
      },
      {
        "id": "LIN057",
        "title_en": "while + subject + verb",
        "title_ru": "В то время как…",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как два поезда на соседних рельсах — действия идут параллельно или противопоставляются.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "while + subject + verb",
          "während + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN057",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/while-subject-verb-lin057/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin057.json"
      },
      {
        "id": "LIN058",
        "title_en": "before + subject + verb",
        "title_ru": "До того как…",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как ворота, которые нужно пройти, прежде чем зайти во двор — действие происходит раньше другого.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "before + subject + verb",
          "bevor + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN058",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/before-subject-verb-lin058/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin058.json"
      },
      {
        "id": "LIN059",
        "title_en": "after + subject + verb",
        "title_ru": "После того как…",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как финишная ленточка: сначала пройти её, потом следующий шаг.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "after + subject + verb",
          "nachdem + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN059",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/after-subject-verb-lin059/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin059.json"
      },
      {
        "id": "LIN061",
        "title_en": "to / in order to + verb",
        "title_ru": "Чтобы… / Для того чтобы…",
        "description_en": "A reusable frame from “Advanced connectors”. Create coherent, well-signposted discourse.",
        "description_ru": "Как мост: соединяет действие и цель.",
        "group_id": "LIN",
        "set_id": "LNK",
        "formulas": [
          "to / in order to + verb",
          "um + zu + Infinitiv (LIN061)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "LIN061",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-in-order-to-verb-lin061/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/lin061.json"
      },
      {
        "id": "C1LNK001",
        "title_en": "Even so, [X]; in the wider context, [Y]",
        "title_ru": "Тем не менее …; в более широком контексте …",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "LNK",
        "set_id": "LNK",
        "formulas": [
          "Even so, [X]; in the wider context, [Y].",
          "Trotzdem [X]; im größeren Zusammenhang [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1LNK001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/even-so-a-funding-proposal-should-be-considered-c1lnk001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1lnk001.json"
      },
      {
        "id": "CON001",
        "title_en": "If + Past Simple, would + V",
        "title_ru": "Если бы у меня было больше времени, я бы…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Представь свою жизнь как большой сад. Каждый проект — как клумба. Воды (времени) всегда не хватает, поэтому ты поливаешь только то, что горит сильнее всего. Но внутри живёт мысль: «Если бы у меня было больше воды, я бы разбудил весь сад и вырастил новые идеи».",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "If + Past Simple, would + V",
          "Wenn + Konjunktiv II, würde + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-past-simple-would-verb-con001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con001.json"
      },
      {
        "id": "CON002",
        "title_en": "If I were you, I’d + V",
        "title_ru": "Если бы я был на твоём месте, я бы…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Представь, что надеваешь VR-очки и видишь мир глазами другого человека. Ты примеряешь его страхи и цели, и говоришь: «Если бы я был на твоём месте, я бы сделал так».",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "If I were you, I’d + V",
          "An deiner Stelle würde ich + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-i-were-you-i-d-verb-con002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con002.json"
      },
      {
        "id": "CON003",
        "title_en": "If it weren’t for + noun/phrase, I wouldn’t + V",
        "title_ru": "Если бы не …, я бы не…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Представь пропасть между твоими целями и результатами. Есть только один мост, который позволяет тебе перейти на другую сторону. Без него ты бы так и остался на старом берегу. Этот мост — человек, поддержка, случай или твоя внутренняя сила.",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "If it weren’t for + noun/phrase, I wouldn’t + V",
          "Ohne + Akkusativ, würde ich nicht + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-it-weren-t-for-noun-phrase-i-wouldn-t-verb-con003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con003.json"
      },
      {
        "id": "CON004",
        "title_en": "Unless + present simple, will + V",
        "title_ru": "Если не …, то …",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Представь дверь с электронным замком: без правильного кода она остаётся закрытой. Можешь стучать и злиться — ничего не произойдёт, пока не выполнишь условие.",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "Unless + present simple, will + V",
          "Wenn ... nicht + present, wird + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/unless-present-simple-will-verb-con004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con004.json"
      },
      {
        "id": "CON005",
        "title_en": "Provided (that) + present simple, will + V",
        "title_ru": "При условии, что…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Представь контракт на столе: всё ясно и строго. Если одна сторона выполняет условие, вторая начинает действовать. Без этого — просто пустая бумага.",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "Provided (that) + present simple, will + V",
          "Vorausgesetzt, dass + present, wird + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/provided-that-present-simple-will-verb-con005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con005.json"
      },
      {
        "id": "CON006",
        "title_en": "As long as + present simple, will + V",
        "title_ru": "При условии, что… / Пока…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Представь электрический кабель, который питает систему. Пока он подключён — всё работает. Как только отключаешь — всё останавливается. Здесь условие действует постоянно, пока идёт «питание».",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "As long as + present simple, will + V",
          "Solange + present, wird + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/as-long-as-present-simple-will-verb-con006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con006.json"
      },
      {
        "id": "CON007",
        "title_en": "Even if + present simple, will + V",
        "title_ru": "Даже если…",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "Even if + present simple, will + V",
          "Selbst wenn + present, wird + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/even-if-present-simple-will-verb-con007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con007.json"
      },
      {
        "id": "CON008",
        "title_en": "Had + subject + Past Participle, would have + Past Participle",
        "title_ru": "Если бы я знал…, я бы…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Представь развилку на горной тропе. Ты идёшь по одной, думая, что это лучший путь. Только поднявшись выше, понимаешь: был другой, легче и короче. Ты оглядываешься и думаешь: «Если бы я знал заранее, я бы выбрал тот путь».",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "Had + subject + Past Participle, would have + Past Participle",
          "Wenn + subject + Partizip II + hätte, hätte + subject + Partizip II"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/had-subject-past-participle-would-have-past-con008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con008.json"
      },
      {
        "id": "CON009",
        "title_en": "If + present simple, will + V",
        "title_ru": "Если вдруг…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Представь аварийный парашют за спиной. Ты надеешься, что он не понадобится, но если что-то пойдёт не так — дёрнешь кольцо, и он раскроется. Это твоя страховка, твой план Б.",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "If + present simple, will + V",
          "Wenn + present, wird + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-present-simple-will-verb-con009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con009.json"
      },
      {
        "id": "CON010",
        "title_en": "In case + present simple, will + V",
        "title_ru": "В случае, если…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Представь себе зонт, который ты берёшь в ясный день. Ты не знаешь, пойдёт ли дождь, но берёшь его на всякий случай. Это не страх, а спокойная подготовка к неожиданностям.",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "In case + present simple, will + V",
          "Für den Fall, dass + present, wird + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/in-case-present-simple-will-verb-con010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con010.json"
      },
      {
        "id": "CON011",
        "title_en": "If it hadn’t been for + noun, I would have + V3",
        "title_ru": "Если бы не одно «но», я бы…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Как якорь, который держит корабль в порту. Всё готово: ветер в паруса, команда на старте, но одно «но» не даёт отплыть. Если бы не этот якорь, ты уже был бы в открытом море.",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "If it hadn’t been for + noun, I would have + V3",
          "Wenn es nicht ... gegeben hätte, hätte ich + Partizip II"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-it-hadn-t-been-for-noun-i-would-have-past-con011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con011.json"
      },
      {
        "id": "CON012",
        "title_en": "Only after + subject + has/have + V3, will + subject + V",
        "title_ru": "Только после того как…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Как закрытая дверь с секретным замком: пока не вставишь правильный ключ, не попадёшь внутрь. Всё зависит от первого шага — только после него откроется следующий.",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "Only after + subject + has/have + V3, will + subject + V",
          "Erst nachdem + subject + Partizip II + hat, wird + subject + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/only-after-subject-has-have-past-participle-will-con012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con012.json"
      },
      {
        "id": "CON013",
        "title_en": "Whether + subject + V or not, subject + will + V",
        "title_ru": "Независимо от того…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Поезд идёт по рельсам, несмотря на погоду или количество пассажиров. Будет буря или жара — он всё равно дойдёт до конечной станции. Это символ решимости: внешний шум не влияет на движение.",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "Whether + subject + V or not, subject + will + V",
          "Egal ob + subject + Verb, wird + subject + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/whether-subject-verb-or-not-subject-will-verb-con013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con013.json"
      },
      {
        "id": "CON014",
        "title_en": "As soon as + present simple, will + V",
        "title_ru": "Как только…",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Как световой датчик на автоматической двери: делаешь шаг — и она сразу открывается. Нет пауз и проверок, моментальная реакция. Символ скорости и чёткого старта.",
        "group_id": "CON",
        "set_id": "CND",
        "formulas": [
          "As soon as + present simple, will + V",
          "Sobald + present, wird + subject + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CON014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/as-soon-as-present-simple-will-verb-con014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/con014.json"
      },
      {
        "id": "C1CND001",
        "title_en": "Had [X] happened earlier, [Y] might have [Z]",
        "title_ru": "Если бы … произошло раньше, …, возможно, …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "CND",
        "set_id": "CND",
        "formulas": [
          "Had [X] happened earlier, [Y] might have [Z].",
          "Wäre [X] früher geschehen, hätte [Y] möglicherweise [Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1CND001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/had-a-funding-proposal-been-addressed-earlier-we-c1cnd001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1cnd001.json"
      },
      {
        "id": "MOD001",
        "title_en": "must have + Past Participle",
        "title_ru": "Ты, должно быть, уже это видел",
        "description_en": "A reusable frame from “Modality and obligation”. Express necessity, permission, and recommendation.",
        "description_ru": "Как если бы ты открыл дверь и увидел следы — почти точно знаешь, кто здесь уже был.",
        "group_id": "MOD",
        "set_id": "MOD",
        "formulas": [
          "must have + Past Participle",
          "müssen + Partizip II + haben"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "MOD001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/must-have-past-participle-mod001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/mod001.json"
      },
      {
        "id": "MOD002",
        "title_en": "might have + Past Participle",
        "title_ru": "Возможно, мы (что-то) сделали неправильно",
        "description_en": "A reusable frame from “Modality and obligation”. Express necessity, permission, and recommendation.",
        "description_ru": "Как туман на дороге — ты догадываешься, что впереди что-то не так, но не видишь чётко.",
        "group_id": "MOD",
        "set_id": "MOD",
        "formulas": [
          "might have + Past Participle",
          "könnten + Partizip II + haben"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "MOD002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/might-have-past-participle-mod002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/mod002.json"
      },
      {
        "id": "MOD003",
        "title_en": "should have + Past Participle",
        "title_ru": "Тебе следовало (сделать что-то)",
        "description_en": "A reusable frame from “Modality and obligation”. Express necessity, permission, and recommendation.",
        "description_ru": "Как дорожный знак, который ты проехал мимо — теперь уже поздно, но он всё равно напоминает, что нужно было свернуть раньше.",
        "group_id": "MOD",
        "set_id": "MOD",
        "formulas": [
          "should have + Past Participle",
          "hättest + Partizip II + sollen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "MOD003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/should-have-past-participle-mod003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/mod003.json"
      },
      {
        "id": "MOD004",
        "title_en": "could have + Past Participle",
        "title_ru": "Я мог бы (что-то) сделать по-другому",
        "description_en": "A reusable frame from “Modality and obligation”. Express necessity, permission, and recommendation.",
        "description_ru": "Как запасной выход на сцене — был вариант выйти другим путём, но ты выбрал главный проход.",
        "group_id": "MOD",
        "set_id": "MOD",
        "formulas": [
          "could have + Past Participle",
          "hätte + Partizip II + können"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "MOD004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-have-past-participle-mod004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/mod004.json"
      },
      {
        "id": "MOD005",
        "title_en": "may / might + V",
        "title_ru": "Вежливое предположение или разрешение",
        "description_en": "A reusable frame from “Modality and obligation”. Express necessity, permission, and recommendation.",
        "description_ru": "Как мягкий зелёный свет светофора — не обязывает ехать, но даёт возможность спокойно двигаться.",
        "group_id": "MOD",
        "set_id": "MOD",
        "formulas": [
          "may / might + V",
          "dürfen + Infinitiv / vielleicht + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "MOD005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/may-might-verb-mod005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/mod005.json"
      },
      {
        "id": "C1MOD001",
        "title_en": "For [X] to succeed, [Y] needs to [Z]",
        "title_ru": "Чтобы … сработал, … должен …",
        "description_en": "A reusable frame from “Modality and obligation”. Express necessity, permission, and recommendation.",
        "description_ru": "Формулируйте конкретное условие успеха и называйте того, кто должен его обеспечить.",
        "group_id": "MOD",
        "set_id": "MOD",
        "formulas": [
          "For [X] to succeed, [Y] needs to [Z].",
          "Damit [X] gelingt, muss [Y] [Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1MOD001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/for-a-funding-proposal-to-succeed-everyone-needs-c1mod001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1mod001.json"
      },
      {
        "id": "PAS001",
        "title_en": "It was decided/agreed (that) + subject + verb",
        "title_ru": "Было решено / Было согласовано, что…",
        "description_en": "A reusable frame from “Passive and impersonal style”. Use formal, process-focused language.",
        "description_ru": "Как печать на документе — никто не видит, кто её поставил, но решение уже официально зафиксировано. Откатить назад нельзя.",
        "group_id": "PAS",
        "set_id": "PSV",
        "formulas": [
          "It was decided/agreed (that) + subject + verb",
          "Es wurde beschlossen/vereinbart, dass + Nebensatz"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PAS001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-was-decided-agreed-that-subject-verb-pas001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pas001.json"
      },
      {
        "id": "PAS002",
        "title_en": "The report is being + Past Participle",
        "title_ru": "Процесс в моменте",
        "description_en": "Keeps the focus on a process or result rather than the actor, which suits formal and neutral contexts.",
        "description_ru": "Ставит в центр процесс или результат, а не исполнителя; подходит для формального и нейтрального стиля.",
        "group_id": "PAS",
        "set_id": "PSV",
        "formulas": [
          "The report is being + Past Participle",
          "Der Bericht wird gerade + Partizip II"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PAS002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-report-is-being-past-participle-pas002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pas002.json"
      },
      {
        "id": "PAS003",
        "title_en": "The decision will be + Past Participle",
        "title_ru": "Решение будет принято скоро",
        "description_en": "A reusable frame from “Passive and impersonal style”. Use formal, process-focused language.",
        "description_ru": "Как стрелка на часах, которая медленно идёт к нужной точке. Ты знаешь, что момент наступит — вопрос только во времени.",
        "group_id": "PAS",
        "set_id": "PSV",
        "formulas": [
          "The decision will be + Past Participle",
          "Die Entscheidung wird + Partizip II + werden"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PAS003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-decision-will-be-past-participle-pas003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pas003.json"
      },
      {
        "id": "PAS004",
        "title_en": "All documents must be + Past Participle + by (deadline)",
        "title_ru": "Все документы должны быть отправлены к…",
        "description_en": "A reusable frame from “Passive and impersonal style”. Use formal, process-focused language.",
        "description_ru": "Как таймер с автосбросом — если не успел до момента X, окно захлопывается. Без вариантов.",
        "group_id": "PAS",
        "set_id": "PSV",
        "formulas": [
          "All documents must be + Past Participle + by (deadline)",
          "Alle Dokumente müssen bis (Termin) + Partizip II + werden"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PAS004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/all-documents-must-be-past-participle-by-pas004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pas004.json"
      },
      {
        "id": "PAS005",
        "title_en": "The report is scheduled to be + Past Participle",
        "title_ru": "Запланированное действие",
        "description_en": "A reusable frame from “Passive and impersonal style”. Use formal, process-focused language.",
        "description_ru": "Как расписание поезда: всё запланировано и идёт по графику. Ты знаешь, что поезд прибудет точно в назначенное время, никто не может изменить маршрут в последний момент.",
        "group_id": "PAS",
        "set_id": "PSV",
        "formulas": [
          "The report is scheduled to be + Past Participle",
          "Der Bericht ist geplant, am + Datum + geliefert zu werden"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PAS005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-report-is-scheduled-to-be-past-participle-pas005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pas005.json"
      },
      {
        "id": "PAS006",
        "title_en": "It is expected that + subject + will + verb",
        "title_ru": "Ожидание события",
        "description_en": "A reusable frame from “Passive and impersonal style”. Use formal, process-focused language.",
        "description_ru": "Как часы, которые все смотрят в ожидании часа Х. Все знают — событие неизбежно, осталось только дождаться момента.",
        "group_id": "PAS",
        "set_id": "PSV",
        "formulas": [
          "It is expected that + subject + will + verb",
          "Es wird erwartet, dass + subject + wird + Verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PAS006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-is-expected-that-subject-will-verb-pas006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pas006.json"
      },
      {
        "id": "PAS007",
        "title_en": "The tasks are to be + Past Participle + by (someone/time)",
        "title_ru": "Обязательство выполнить",
        "description_en": "A reusable frame from “Passive and impersonal style”. Use formal, process-focused language.",
        "description_ru": "Как список дел на доске — ясно, кто и что должен сделать к определённому сроку. Никаких сомнений и вариантов, всё чётко распределено.",
        "group_id": "PAS",
        "set_id": "PSV",
        "formulas": [
          "The tasks are to be + Past Participle + by (someone/time)",
          "Die Aufgaben sind bis + Termin + von + jemandem + zu + Partizip II"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PAS007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-tasks-are-to-be-past-participle-by-someone-pas007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/pas007.json"
      },
      {
        "id": "C1PSV001",
        "title_en": "Before [X], [Y] is / was / will be [Z]",
        "title_ru": "Перед … объект … подвергается действию",
        "description_en": "A reusable frame from “Passive and impersonal style”. Use formal, process-focused language.",
        "description_ru": "Используйте пассив, когда важнее процесс, объект или результат, а не исполнитель; выбирайте время по реальной временной линии.",
        "group_id": "PSV",
        "set_id": "PSV",
        "formulas": [
          "Before [X], [Y] is / was / will be [past participle].",
          "Bevor [X], wird / wurde [Y] [Partizip II]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1PSV001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-funding-proposal-is-being-reviewed-before-any-c1psv001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1psv001.json"
      },
      {
        "id": "C1REP001",
        "title_en": "[X] stressed that [Y] rather than [Z]",
        "title_ru": "… подчеркнул(а), что …, а не …",
        "description_en": "Reports someone else's position or question while keeping the source distinct from the current speaker.",
        "description_ru": "Передаёт чужую позицию или вопрос, сохраняя дистанцию между источником сообщения и говорящим.",
        "group_id": "REP",
        "set_id": "REP",
        "formulas": [
          "[Source] stressed that [X] rather than [Y].",
          "[Quelle] betonte, dass [X] und nicht [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1REP001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/she-stressed-that-a-funding-proposal-could-not-c1rep001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1rep001.json"
      },
      {
        "id": "PERF003",
        "title_en": "I had never + Past Participle + until..",
        "title_ru": "Я никогда не думал об этом, пока…",
        "description_en": "A reusable frame from “Tense and aspect”. Position actions in time and show duration or completion.",
        "description_ru": "Как свет в тёмной комнате — пока не щёлкнул выключатель, ты ничего не видел. Щёлк — и всё стало ясно, по-новому.",
        "group_id": "PERF",
        "set_id": "TAS",
        "formulas": [
          "I had never + Past Participle + until...",
          "Ich hatte nie + Partizip II + bis..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PERF003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-had-never-past-participle-until-perf003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/perf003.json"
      },
      {
        "id": "PERF004",
        "title_en": "By (future point), I will have + Past Participle",
        "title_ru": "К (какому-то моменту в будущем) я проработаю / сделаю …",
        "description_en": "A reusable frame from “Tense and aspect”. Position actions in time and show duration or completion.",
        "description_ru": "Как финишная ленточка на марафоне — ты видишь её вдалеке и знаешь, что обязательно её пересечёшь.",
        "group_id": "PERF",
        "set_id": "TAS",
        "formulas": [
          "By (future point), I will have + Past Participle",
          "Bis (Zeitpunkt) werde ich + Partizip II + haben"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PERF004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/by-future-point-i-will-have-past-participle-perf004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/perf004.json"
      },
      {
        "id": "PERF005",
        "title_en": "I have been told that + clause",
        "title_ru": "Мне говорили, что…",
        "description_en": "A reusable frame from “Tense and aspect”. Position actions in time and show duration or completion.",
        "description_ru": "Как будто получаешь письмо по почте от знакомого — информация приходит через посредника, и ты делишься ею, не утверждая лично.",
        "group_id": "PERF",
        "set_id": "TAS",
        "formulas": [
          "I have been told that + clause",
          "Mir wurde gesagt, dass + Nebensatz"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PERF005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-have-been-told-that-clause-perf005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/perf005.json"
      },
      {
        "id": "PERF006",
        "title_en": "have seen better days",
        "title_ru": "Уже были лучшие времена",
        "description_en": "A reusable frame from “Tense and aspect”. Position actions in time and show duration or completion.",
        "description_ru": "Как старая машина, которая раньше была на ходу и быстро ездил, а теперь еле тянет — сигнал, что ситуация не на высоте, но всё ещё движется.",
        "group_id": "PERF",
        "set_id": "TAS",
        "formulas": [
          "have seen better days",
          "hat schon bessere Tage gesehen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "PERF006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/have-seen-better-days-perf006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/perf006.json"
      },
      {
        "id": "C1TAS001",
        "title_en": "We have been [X] [Y] since [Z]",
        "title_ru": "Мы выполняем действие с момента … и продолжаем сейчас",
        "description_en": "Shows that a process has continued over time and links it to a clear starting point.",
        "description_ru": "Показывает длительность процесса и связывает его с точкой начала.",
        "group_id": "TAS",
        "set_id": "TAS",
        "formulas": [
          "We have been [V-ing] [X] since [Y].",
          "Wir [Verb] [X], seit [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1TAS001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-have-been-tracking-a-funding-proposal-since-c1tas001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1tas001.json"
      },
      {
        "id": "REL001",
        "title_en": "The thing (that) + subject + verb + is..",
        "title_ru": "Вещь, которая нравится больше всего",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как выделить жирным текст в документе — сразу видно, что важно, куда стоит смотреть.",
        "group_id": "REL",
        "set_id": "QNN",
        "formulas": [
          "The thing (that) + subject + verb + is...",
          "Die Sache, die + subject + verb, ist..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "REL001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-thing-that-subject-verb-is-rel001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/rel001.json"
      },
      {
        "id": "REL002",
        "title_en": "This is the colleague who + verb",
        "title_ru": "Это тот коллега, который помог мне",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как указательный палец, который точно показывает на человека в толпе — никто не спутает, о ком речь.",
        "group_id": "REL",
        "set_id": "QNN",
        "formulas": [
          "This is the colleague who + verb",
          "Das ist der Kollege, der + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "REL002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-is-the-colleague-who-verb-rel002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/rel002.json"
      },
      {
        "id": "REL003",
        "title_en": "The reason why + subject + verb + is..",
        "title_ru": "Причина, по которой я выбрал этот вариант",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как указатель на карте — ты не просто показываешь точку, но и объясняешь маршрут, как туда пришёл.",
        "group_id": "REL",
        "set_id": "QNN",
        "formulas": [
          "The reason why + subject + verb + is...",
          "Der Grund, warum + subject + verb, ist..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "REL003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-reason-why-subject-verb-is-rel003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/rel003.json"
      },
      {
        "id": "REL004",
        "title_en": "What + subject + verb + is..",
        "title_ru": "Что меня волнует, это…",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как фонарик в тёмной комнате — ты освещаешь именно то место, которое беспокоит больше всего, остальное остаётся в тени.",
        "group_id": "REL",
        "set_id": "QNN",
        "formulas": [
          "What + subject + verb + is...",
          "Was + subject + verb, ist..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "REL004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-subject-verb-is-rel004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/rel004.json"
      },
      {
        "id": "REL005",
        "title_en": "The place where + subject + verb",
        "title_ru": "Место, где...",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как геометка на карте — точно показывает точку, где что-то произошло, сразу придаёт контекст и смысл.",
        "group_id": "REL",
        "set_id": "QNN",
        "formulas": [
          "The place where + subject + verb",
          "Der Ort, an dem + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "REL005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-place-where-subject-verb-rel005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/rel005.json"
      },
      {
        "id": "REL006",
        "title_en": "The time when + subject + verb",
        "title_ru": "Время, когда...",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как отметка на временной шкале — ты точно фиксируешь момент, который имеет особое значение.",
        "group_id": "REL",
        "set_id": "QNN",
        "formulas": [
          "The time when + subject + verb",
          "Die Zeit, als + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "REL006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-time-when-subject-verb-rel006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/rel006.json"
      },
      {
        "id": "QUE001",
        "title_en": "Could you + verb + what/when/where + subject + verb",
        "title_ru": "Можете уточнить…? (косвенный вопрос)",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Could you + verb + what/when/where + subject + verb",
          "Könnten Sie + verb + was/wann/wo + subject + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-you-verb-what-when-where-subject-verb-que001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que001.json"
      },
      {
        "id": "QUE002",
        "title_en": "Am I right in thinking that + subject + verb... ?",
        "title_ru": "Правильно ли я понимаю…? (уточнение с инверсией)",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как поднести чертёж к свету, чтобы убедиться, что все линии совпадают — проверяешь, прежде чем действовать.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Am I right in thinking that + subject + verb... ?",
          "Liege ich richtig in der Annahme, dass + subject + verb... ?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/am-i-right-in-thinking-that-subject-verb-que002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que002.json"
      },
      {
        "id": "QUE003",
        "title_en": "Do you happen to know if + subject + verb... ?",
        "title_ru": "Вы случайно не знаете…?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как тихонько постучать в дверь, прежде чем войти — звучит очень осторожно и вежливо.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Do you happen to know if + subject + verb... ?",
          "Wissen Sie zufällig, ob + subject + verb... ?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/do-you-happen-to-know-if-subject-verb-que003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que003.json"
      },
      {
        "id": "QUE004",
        "title_en": "Who/What/When do you think + subject + verb… ?",
        "title_ru": "Как вы думаете, кто/что/когда…?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как дать микрофон собеседнику прямо на сцене — ты ставишь его точку зрения в центр внимания.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Who/What/When do you think + subject + verb… ?",
          "Wer/Was/Wann denken Sie, dass + subject + verb… ?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-what-when-do-you-think-subject-verb-que004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que004.json"
      },
      {
        "id": "QUE005",
        "title_en": "Would you mind if + subject + past simple… ?",
        "title_ru": "Не возражаете, если…?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Would you mind if + subject + past simple… ?",
          "Würde es Ihnen etwas ausmachen, wenn + Nebensatz … ?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-you-mind-if-subject-past-simple-que005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que005.json"
      },
      {
        "id": "QUE006",
        "title_en": "What if + subject + past simple… ?",
        "title_ru": "Что, если…?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как открыть запасной выход в плане — ты предлагаешь альтернативный путь, не настаивая, просто проверяешь реакцию.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "What if + subject + past simple… ?",
          "Was wäre, wenn + subject + verb im Präteritum… ?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status",
              "unresolved_high_confidence_quality_finding"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-if-subject-past-simple-que006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que006.json"
      },
      {
        "id": "QUE007",
        "title_en": "How long + have/has + subject + been + V-ing… ?",
        "title_ru": "Как долго…?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как песочные часы — ты хочешь понять, сколько песка уже прошло или ещё пройдёт, чтобы видеть общую картину.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "How long + have/has + subject + been + V-ing… ?",
          "Wie lange + haben/hat + subject + schon + Partizip II… ?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-long-have-has-subject-been-verb-ing-que007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que007.json"
      },
      {
        "id": "QUE008",
        "title_en": "How come + subject + verb… ?",
        "title_ru": "Почему так...?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как поднять брови, когда что-то не сходится — ты не просто спрашиваешь «почему», ты хочешь, чтобы тебе объяснили суть без лишних деталей.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "How come + subject + verb… ?",
          "Wie kommt es, dass + subject + verb… ?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-come-subject-verb-que008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que008.json"
      },
      {
        "id": "QUE009",
        "title_en": "What if + subject + verb… ?",
        "title_ru": "А что если…?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как открыть запасной выход на плане здания — ты предлагаешь рассмотреть неожиданный сценарий или план Б.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "What if + subject + verb… ?",
          "Was wäre, wenn + subject + verb… ?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-if-subject-verb-que009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que009.json"
      },
      {
        "id": "QUE010",
        "title_en": "Who is responsible for + noun/gerund?",
        "title_ru": "Кто отвечает за…?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как метко поставить флажок на карте — ты чётко отмечаешь, кто держит контроль за определённой зоной.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Who is responsible for + noun/gerund?",
          "Wer ist für + Akk + verantwortlich?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-is-responsible-for-noun-gerund-que010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que010.json"
      },
      {
        "id": "QUE011",
        "title_en": "How long does it take to + verb?",
        "title_ru": "Сколько времени занимает…?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как включить секундомер перед стартом — ты хочешь заранее знать, сколько времени уйдёт на дистанцию, чтобы лучше планировать силы.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "How long does it take to + verb?",
          "Wie lange dauert es, + zu + Infinitiv?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-long-does-it-take-to-verb-que011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que011.json"
      },
      {
        "id": "QUE012",
        "title_en": "Can I / Can we + verb?",
        "title_ru": "Можно ли...?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как стучаться в закрытую дверь, прежде чем войти — ты показываешь вежливость и запрашиваешь разрешение.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Can I / Can we + verb?",
          "Können wir + Infinitiv?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/can-i-can-we-verb-que012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que012.json"
      },
      {
        "id": "QUE013",
        "title_en": "Should I / Should we + verb?",
        "title_ru": "Следовало бы...?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как остановиться на развилке и спросить совета, куда идти дальше — не просто двигаешься, а сверяешь направление.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Should I / Should we + verb?",
          "Soll ich / Sollen wir + Infinitiv?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/should-i-should-we-verb-que013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que013.json"
      },
      {
        "id": "QUE014",
        "title_en": "Could we + verb?",
        "title_ru": "Можем ли мы...?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как открыть карту и предложить новую дорогу команде — ты предлагаешь альтернативу, но мягко.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Could we + verb?",
          "Könnten wir + Infinitiv?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-we-verb-que014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que014.json"
      },
      {
        "id": "QUE015",
        "title_en": "Would you mind if + subject + past simple?",
        "title_ru": "Вы не возражаете, если…?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Would you mind if + subject + past simple?",
          "Würden Sie es mir übel nehmen, wenn + subject + verb (Konjunktiv II)?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-you-mind-if-subject-past-simple-que015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que015.json"
      },
      {
        "id": "QUE016",
        "title_en": "May I + verb?",
        "title_ru": "Можно ли мне...?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как поднять руку на собрании — ты показываешь, что хочешь взять слово и ждёшь одобрения.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "May I + verb?",
          "Darf ich + Infinitiv?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/may-i-verb-que016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que016.json"
      },
      {
        "id": "QUE017",
        "title_en": "Must we + verb?",
        "title_ru": "Должны ли мы...?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Как смотреть на карту перед въездом на обязательный участок дороги — спрашиваешь, действительно ли это нужно.",
        "group_id": "QUE",
        "set_id": "QNN",
        "formulas": [
          "Must we + verb?",
          "Müssen wir + Infinitiv?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QUE017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/must-we-verb-que017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/que017.json"
      },
      {
        "id": "C1QNN001",
        "title_en": "What would prevent [X] from [Y]?",
        "title_ru": "Что могло бы помешать … выполнить …?",
        "description_en": "A reusable frame from “Questions, negatives, and reference”. Ask precise questions and manage reference.",
        "description_ru": "Спрашивайте о конкретном препятствии, не предполагая заранее, что оно уже существует или что неудача неизбежна.",
        "group_id": "QNN",
        "set_id": "QNN",
        "formulas": [
          "What would prevent [X] from [Y]?",
          "Was würde [X] daran hindern, [Y]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1QNN001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-would-prevent-a-funding-proposal-from-being-c1qnn001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1qnn001.json"
      },
      {
        "id": "GER001",
        "title_en": "It’s not worth + V-ing",
        "title_ru": "Не стоит делать...",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Как поливать засохшее дерево — сколько ни лей, оно не оживёт. Энергия уходит впустую.",
        "group_id": "GER",
        "set_id": "DGR",
        "formulas": [
          "It’s not worth + V-ing",
          "Es lohnt sich nicht, + zu + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GER001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-s-not-worth-verb-ing-ger001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/ger001.json"
      },
      {
        "id": "GER002",
        "title_en": "It’s no use + V-ing",
        "title_ru": "Бесполезно делать...",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Как кричать в пустой колодец — сколько ни зови, ответа не будет. Вся энергия уходит в пустоту.",
        "group_id": "GER",
        "set_id": "DGR",
        "formulas": [
          "It’s no use + V-ing",
          "Es hat keinen Sinn, + zu + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GER002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-s-no-use-verb-ing-ger002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/ger002.json"
      },
      {
        "id": "GER003",
        "title_en": "I ended up + V-ing",
        "title_ru": "В итоге я оказался делая что-то",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Как если бы ты шёл по ровной дороге, а потом неожиданно свернул на грунтовку — не планировал, но оказался там.",
        "group_id": "GER",
        "set_id": "DGR",
        "formulas": [
          "I ended up + V-ing",
          "Am Ende habe ich + Partizip II / Ich bin schließlich + Partizip II"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GER003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-ended-up-verb-ing-ger003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/ger003.json"
      },
      {
        "id": "GER004",
        "title_en": "I’m looking forward to + V-ing",
        "title_ru": "Я с нетерпением жду, чтобы сделать...",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Как стоять на старте перед забегом — всё тело готово рвануть вперёд, ждёшь только сигнала.",
        "group_id": "GER",
        "set_id": "DGR",
        "formulas": [
          "I’m looking forward to + V-ing",
          "Ich freue mich darauf, + zu + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GER004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-m-looking-forward-to-verb-ing-ger004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/ger004.json"
      },
      {
        "id": "GER005",
        "title_en": "be used to + V-ing",
        "title_ru": "Привык к чему-то",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Как износившиеся кроссовки: сначала натирают, но со временем становятся второй кожей — ты не замечаешь и чувствуешь себя уверенно.",
        "group_id": "GER",
        "set_id": "DGR",
        "formulas": [
          "be used to + V-ing",
          "an + Akkusativ + gewöhnt sein, + zu + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GER005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/be-used-to-verb-ing-ger005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/ger005.json"
      },
      {
        "id": "GER006",
        "title_en": "get used to + V-ing",
        "title_ru": "Привыкаю к чему-то новому",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Как катиться на новом велосипеде: сначала неуверенно, но постепенно руки и тело учатся держать баланс.",
        "group_id": "GER",
        "set_id": "DGR",
        "formulas": [
          "get used to + V-ing",
          "sich daran gewöhnen, + zu + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GER006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/get-used-to-verb-ing-ger006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/ger006.json"
      },
      {
        "id": "GER007",
        "title_en": "be supposed to + V",
        "title_ru": "Ожидается или предполагается",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Как невидимая инструкция на коробке: даже если её не видно, все знают, что так нужно сделать.",
        "group_id": "GER",
        "set_id": "DGR",
        "formulas": [
          "be supposed to + V",
          "sollen + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GER007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/be-supposed-to-verb-ger007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/ger007.json"
      },
      {
        "id": "GER008",
        "title_en": "to be worth + V-ing",
        "title_ru": "Стоит того, чтобы сделать",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Как скрытая комната за стеной: не видна сразу, но стоит приложить усилия, чтобы найти и войти.",
        "group_id": "GER",
        "set_id": "DGR",
        "formulas": [
          "to be worth + V-ing",
          "es lohnt sich, + zu + Infinitiv"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GER008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-be-worth-verb-ing-ger008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/ger008.json"
      },
      {
        "id": "GER009",
        "title_en": "prefer + V-ing + to + V-ing",
        "title_ru": "Предпочитаю одно действие другому",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Как две чаши весов: одно перевешивает другое, и сразу видно, что тебе ближе.",
        "group_id": "GER",
        "set_id": "DGR",
        "formulas": [
          "prefer + V-ing + to + V-ing",
          "etwas + lieber + als + etwas + machen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GER009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/prefer-verb-ing-to-verb-ing-ger009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/ger009.json"
      },
      {
        "id": "GRP055",
        "title_en": "want + object + to + V / make|let|have + object + V",
        "title_ru": "Хочу, заставляю, разрешаю: что ставить после",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Ты — дирижёр. Когда хочешь — даёшь полные указания. Когда приказываешь или позволяешь — одного жеста хватает. Чем больше контроль — тем короче команда.",
        "group_id": "GRAM",
        "set_id": "DGR",
        "formulas": [
          "want + object + to + V / make|let|have + object + V",
          "wollen + dass / lassen + Akk + Infinitiv / bringen + zu + D"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "generated",
          "indexable": false,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRP055",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/want-object-to-verb-make-let-have-object-verb-grp055/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grp055.json"
      },
      {
        "id": "C1DGR001",
        "title_en": "Not only + auxiliary + subject + verb, but ... also ..",
        "title_ru": "Не только …, но и … — усилительная инверсия",
        "description_en": "A reusable frame from “German grammar in use”. Transfer German word order, cases, and particles into real use.",
        "description_ru": "Тренируйте усилительную инверсию после Not only с разными вспомогательными глаголами и временными планами, а не одной застывшей фразой.",
        "group_id": "DGR",
        "set_id": "DGR",
        "formulas": [
          "Not only + auxiliary + subject + verb, but ... also ...",
          "Nicht nur [X], sondern auch [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "C1DGR001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/not-only-was-a-funding-proposal-carefully-c1dgr001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/c1dgr001.json"
      },
      {
        "id": "GRMDET001",
        "title_en": "A careful choice of article makes the reference clear [X]",
        "title_ru": "Точный выбор артикля делает отсылку понятной",
        "description_en": "A reusable frame from “Determiners and quantifiers”. Make reference, quantity and scope precise.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «точный выбор артикля делает отсылку понятной» в живом контексте.",
        "group_id": "DET",
        "set_id": "DET",
        "formulas": [
          "A careful choice of article makes the reference clear [the team was reviewing the new policy]",
          "Eine sorgfältige Artikelwahl macht den Bezug eindeutig [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMDET001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-careful-choice-of-article-makes-the-reference-grmdet001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmdet001.json"
      },
      {
        "id": "GRMDET006",
        "title_en": "The information is detailed enough to support the conclusion [X]",
        "title_ru": "Информация достаточно подробна, чтобы подтвердить вывод",
        "description_en": "A reusable frame from “Determiners and quantifiers”. Make reference, quantity and scope precise.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «информация достаточно подробна, чтобы подтвердить вывод» в живом контексте.",
        "group_id": "DET",
        "set_id": "DET",
        "formulas": [
          "The information is detailed enough to support the conclusion [the team was reviewing the new policy]",
          "Die Informationen sind detailliert genug, um die Schlussfolgerung zu stützen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMDET006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-information-is-detailed-enough-to-support-grmdet006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmdet006.json"
      },
      {
        "id": "GRMDET011",
        "title_en": "Only a few of the objections concern the central issue [X]",
        "title_ru": "Лишь немногие возражения касаются главного вопроса",
        "description_en": "A reusable frame from “Determiners and quantifiers”. Make reference, quantity and scope precise.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «лишь немногие возражения касаются главного вопроса» в живом контексте.",
        "group_id": "DET",
        "set_id": "DET",
        "formulas": [
          "Only a few of the objections concern the central issue [the team was reviewing the new policy]",
          "Nur wenige der Einwände betreffen die zentrale Frage [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMDET011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/only-a-few-of-the-objections-concern-the-central-grmdet011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmdet011.json"
      },
      {
        "id": "GRMDET016",
        "title_en": "Each of the alternatives has a practical advantage [X]",
        "title_ru": "У каждой альтернативы есть практическое преимущество",
        "description_en": "A reusable frame from “Determiners and quantifiers”. Make reference, quantity and scope precise.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «у каждой альтернативы есть практическое преимущество» в живом контексте.",
        "group_id": "DET",
        "set_id": "DET",
        "formulas": [
          "Each of the alternatives has a practical advantage [the team was reviewing the new policy]",
          "Jede der Alternativen hat einen praktischen Vorteil [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMDET016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/each-of-the-alternatives-has-a-practical-grmdet016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmdet016.json"
      },
      {
        "id": "GRMDET021",
        "title_en": "Neither proposal offers a complete solution [X]",
        "title_ru": "Ни одно из предложений не даёт полного решения",
        "description_en": "A reusable frame from “Determiners and quantifiers”. Make reference, quantity and scope precise.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «ни одно из предложений не даёт полного решения» в живом контексте.",
        "group_id": "DET",
        "set_id": "DET",
        "formulas": [
          "Neither proposal offers a complete solution [the team was reviewing the new policy]",
          "Keiner der beiden Vorschläge bietet eine vollständige Lösung [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMDET021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/neither-proposal-offers-a-complete-solution-grmdet021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmdet021.json"
      },
      {
        "id": "GRMDET026",
        "title_en": "Much of the progress depends on preparation [X]",
        "title_ru": "Большая часть прогресса зависит от подготовки",
        "description_en": "A reusable frame from “Determiners and quantifiers”. Make reference, quantity and scope precise.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «большая часть прогресса зависит от подготовки» в живом контексте.",
        "group_id": "DET",
        "set_id": "DET",
        "formulas": [
          "Much of the progress depends on preparation [the team was reviewing the new policy]",
          "Ein großer Teil des Fortschritts hängt von der Vorbereitung ab [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMDET026",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/much-of-the-progress-depends-on-preparation-grmdet026/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmdet026.json"
      },
      {
        "id": "GRMDET031",
        "title_en": "Another explanation deserves consideration [X]",
        "title_ru": "Другое объяснение заслуживает рассмотрения",
        "description_en": "A reusable frame from “Determiners and quantifiers”. Make reference, quantity and scope precise.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «другое объяснение заслуживает рассмотрения» в живом контексте.",
        "group_id": "DET",
        "set_id": "DET",
        "formulas": [
          "Another explanation deserves consideration [the team was reviewing the new policy]",
          "Eine weitere Erklärung verdient Beachtung [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMDET031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/another-explanation-deserves-consideration-grmdet031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmdet031.json"
      },
      {
        "id": "GRMDET036",
        "title_en": "The same principle applies to both cases [X]",
        "title_ru": "Один и тот же принцип действует в обоих случаях",
        "description_en": "A reusable frame from “Determiners and quantifiers”. Make reference, quantity and scope precise.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «один и тот же принцип действует в обоих случаях» в живом контексте.",
        "group_id": "DET",
        "set_id": "DET",
        "formulas": [
          "The same principle applies to both cases [the team was reviewing the new policy]",
          "Derselbe Grundsatz gilt für beide Fälle [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMDET036",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-same-principle-applies-to-both-cases-grmdet036/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmdet036.json"
      },
      {
        "id": "GRMINF001",
        "title_en": "She agreed to revise the outline [X]",
        "title_ru": "Она согласилась доработать план",
        "description_en": "A reusable frame from “Verb complements and non-finite clauses”. Choose verb complements and condensed clauses accurately.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «она согласилась доработать план» в живом контексте.",
        "group_id": "INF",
        "set_id": "INF",
        "formulas": [
          "She agreed to revise the outline [the team was reviewing the new policy]",
          "Sie erklärte sich bereit, den Entwurf zu überarbeiten [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMINF001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/she-agreed-to-revise-the-outline-grminf001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grminf001.json"
      },
      {
        "id": "GRMINF006",
        "title_en": "We avoided making a premature promise [X]",
        "title_ru": "Мы избежали поспешного обещания",
        "description_en": "A reusable frame from “Verb complements and non-finite clauses”. Choose verb complements and condensed clauses accurately.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «мы избежали поспешного обещания» в живом контексте.",
        "group_id": "INF",
        "set_id": "INF",
        "formulas": [
          "We avoided making a premature promise [the team was reviewing the new policy]",
          "Wir vermieden es, ein vorschnelles Versprechen zu geben [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMINF006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-avoided-making-a-premature-promise-grminf006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grminf006.json"
      },
      {
        "id": "GRMINF011",
        "title_en": "Having considered the alternatives, the committee chose to wait [X]",
        "title_ru": "Рассмотрев альтернативы, комитет решил подождать",
        "description_en": "A reusable frame from “Verb complements and non-finite clauses”. Choose verb complements and condensed clauses accurately.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «рассмотрев альтернативы, комитет решил подождать» в живом контексте.",
        "group_id": "INF",
        "set_id": "INF",
        "formulas": [
          "Having considered the alternatives, the committee chose to wait [the team was reviewing the new policy]",
          "Nachdem der Ausschuss die Alternativen geprüft hatte, entschied er sich zu warten [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMINF011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/having-considered-the-alternatives-the-committee-grminf011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grminf011.json"
      },
      {
        "id": "GRMINF016",
        "title_en": "The report is difficult to interpret without further data [X]",
        "title_ru": "Отчёт трудно интерпретировать без дополнительных данных",
        "description_en": "A reusable frame from “Verb complements and non-finite clauses”. Choose verb complements and condensed clauses accurately.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «отчёт трудно интерпретировать без дополнительных данных» в живом контексте.",
        "group_id": "INF",
        "set_id": "INF",
        "formulas": [
          "The report is difficult to interpret without further data [the team was reviewing the new policy]",
          "Der Bericht ist ohne weitere Daten schwer zu interpretieren [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMINF016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-report-is-difficult-to-interpret-without-grminf016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grminf016.json"
      },
      {
        "id": "GRMINF021",
        "title_en": "To clarify the issue, the team scheduled a meeting [X]",
        "title_ru": "Чтобы прояснить вопрос, команда назначила встречу",
        "description_en": "A reusable frame from “Verb complements and non-finite clauses”. Choose verb complements and condensed clauses accurately.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «чтобы прояснить вопрос, команда назначила встречу» в живом контексте.",
        "group_id": "INF",
        "set_id": "INF",
        "formulas": [
          "To clarify the issue, the team scheduled a meeting [the team was reviewing the new policy]",
          "Um die Frage zu klären, setzte das Team ein Treffen an [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMINF021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-clarify-the-issue-the-team-scheduled-a-grminf021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grminf021.json"
      },
      {
        "id": "GRMINF026",
        "title_en": "They were expected to respond by Friday [X]",
        "title_ru": "От них ожидали ответа к пятнице",
        "description_en": "Organises professional communication around a next action, deadline, or clarification.",
        "description_ru": "Организует рабочую коммуникацию вокруг следующего действия, срока или нужного уточнения.",
        "group_id": "INF",
        "set_id": "INF",
        "formulas": [
          "They were expected to respond by Friday [the team was reviewing the new policy]",
          "Von ihnen wurde erwartet, bis Freitag zu antworten [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMINF026",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/they-were-expected-to-respond-by-friday-grminf026/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grminf026.json"
      },
      {
        "id": "GRMINF031",
        "title_en": "Instead of postponing the decision, we revised the plan [X]",
        "title_ru": "Вместо переноса решения мы пересмотрели план",
        "description_en": "A reusable frame from “Verb complements and non-finite clauses”. Choose verb complements and condensed clauses accurately.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «вместо переноса решения мы пересмотрели план» в живом контексте.",
        "group_id": "INF",
        "set_id": "INF",
        "formulas": [
          "Instead of postponing the decision, we revised the plan [the team was reviewing the new policy]",
          "Statt die Entscheidung zu verschieben, überarbeiteten wir den Plan [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMINF031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/instead-of-postponing-the-decision-we-revised-grminf031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grminf031.json"
      },
      {
        "id": "GRMINF036",
        "title_en": "The manager let the team test the new process [X]",
        "title_ru": "Руководитель дал команде протестировать новый процесс",
        "description_en": "A reusable frame from “Verb complements and non-finite clauses”. Choose verb complements and condensed clauses accurately.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «руководитель дал команде протестировать новый процесс» в живом контексте.",
        "group_id": "INF",
        "set_id": "INF",
        "formulas": [
          "The manager let the team test the new process [the team was reviewing the new policy]",
          "Die Leitung ließ das Team den neuen Prozess testen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMINF036",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-manager-let-the-team-test-the-new-process-grminf036/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grminf036.json"
      },
      {
        "id": "GRMSUB001",
        "title_en": "Although the evidence is limited, the trend is consistent [X]",
        "title_ru": "Хотя данные ограничены, тенденция остаётся устойчивой",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "SUB",
        "set_id": "SUB",
        "formulas": [
          "Although the evidence is limited, the trend is consistent [the team was reviewing the new policy]",
          "Obwohl die Belege begrenzt sind, ist der Trend eindeutig [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMSUB001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/although-the-evidence-is-limited-the-trend-is-grmsub001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmsub001.json"
      },
      {
        "id": "GRMSUB006",
        "title_en": "Once the review has finished, we can publish the results [X]",
        "title_ru": "Когда проверка завершится, мы сможем опубликовать результаты",
        "description_en": "A reusable frame from “Subordinate and complement clauses”. Build multi-clause reasoning with clear dependencies.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «когда проверка завершится, мы сможем опубликовать результаты» в живом контексте.",
        "group_id": "SUB",
        "set_id": "SUB",
        "formulas": [
          "Once the review has finished, we can publish the results [the team was reviewing the new policy]",
          "Nachdem die Prüfung abgeschlossen ist, können wir die Ergebnisse veröffentlichen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMSUB006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/once-the-review-has-finished-we-can-publish-the-grmsub006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmsub006.json"
      },
      {
        "id": "GRMSUB011",
        "title_en": "The question is whether the change will last [X]",
        "title_ru": "Вопрос в том, сохранится ли это изменение",
        "description_en": "A reusable frame from “Subordinate and complement clauses”. Build multi-clause reasoning with clear dependencies.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «вопрос в том, сохранится ли это изменение» в живом контексте.",
        "group_id": "SUB",
        "set_id": "SUB",
        "formulas": [
          "The question is whether the change will last [the team was reviewing the new policy]",
          "Die Frage ist, ob die Änderung Bestand haben wird [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMSUB011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-question-is-whether-the-change-will-last-grmsub011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmsub011.json"
      },
      {
        "id": "GRMSUB016",
        "title_en": "What matters is that everyone understands the reason [X]",
        "title_ru": "Главное, чтобы все понимали причину",
        "description_en": "A reusable frame from “Subordinate and complement clauses”. Build multi-clause reasoning with clear dependencies.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «главное, чтобы все понимали причину» в живом контексте.",
        "group_id": "SUB",
        "set_id": "SUB",
        "formulas": [
          "What matters is that everyone understands the reason [the team was reviewing the new policy]",
          "Entscheidend ist, dass alle den Grund verstehen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMSUB016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-matters-is-that-everyone-understands-the-grmsub016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmsub016.json"
      },
      {
        "id": "GRMSUB021",
        "title_en": "Whereas the first option saves time, the second reduces risk [X]",
        "title_ru": "Первая альтернатива экономит время, а вторая снижает риск",
        "description_en": "A reusable frame from “Subordinate and complement clauses”. Build multi-clause reasoning with clear dependencies.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «первая альтернатива экономит время, а вторая снижает риск» в живом контексте.",
        "group_id": "SUB",
        "set_id": "SUB",
        "formulas": [
          "Whereas the first option saves time, the second reduces risk [the team was reviewing the new policy]",
          "Während die erste Option Zeit spart, verringert die zweite das Risiko [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMSUB021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/whereas-the-first-option-saves-time-the-second-grmsub021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmsub021.json"
      },
      {
        "id": "GRMSUB026",
        "title_en": "The team acted as if the deadline were fixed [X]",
        "title_ru": "Команда действовала так, будто срок был окончательным",
        "description_en": "A reusable frame from “Subordinate and complement clauses”. Build multi-clause reasoning with clear dependencies.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «команда действовала так, будто срок был окончательным» в живом контексте.",
        "group_id": "SUB",
        "set_id": "SUB",
        "formulas": [
          "The team acted as if the deadline were fixed [the team was reviewing the new policy]",
          "Das Team handelte, als ob der Termin feststünde [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMSUB026",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-team-acted-as-if-the-deadline-were-fixed-grmsub026/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmsub026.json"
      },
      {
        "id": "GRMSUB031",
        "title_en": "Provided that the data remain secure, the pilot may continue [X]",
        "title_ru": "При условии сохранности данных пилот можно продолжить",
        "description_en": "A reusable frame from “Subordinate and complement clauses”. Build multi-clause reasoning with clear dependencies.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «при условии сохранности данных пилот можно продолжить» в живом контексте.",
        "group_id": "SUB",
        "set_id": "SUB",
        "formulas": [
          "Provided that the data remain secure, the pilot may continue [the team was reviewing the new policy]",
          "Vorausgesetzt, dass die Daten sicher bleiben, kann das Pilotprojekt fortgesetzt werden [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMSUB031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/provided-that-the-data-remain-secure-the-pilot-grmsub031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmsub031.json"
      },
      {
        "id": "GRMSUB036",
        "title_en": "The result depends on how the evidence is interpreted [X]",
        "title_ru": "Результат зависит от того, как интерпретируют данные",
        "description_en": "A reusable frame from “Subordinate and complement clauses”. Build multi-clause reasoning with clear dependencies.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «результат зависит от того, как интерпретируют данные» в живом контексте.",
        "group_id": "SUB",
        "set_id": "SUB",
        "formulas": [
          "The result depends on how the evidence is interpreted [the team was reviewing the new policy]",
          "Das Ergebnis hängt davon ab, wie die Belege ausgelegt werden [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMSUB036",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-result-depends-on-how-the-evidence-is-grmsub036/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmsub036.json"
      },
      {
        "id": "GRMFCS001",
        "title_en": "Rarely have we seen such a clear improvement [X]",
        "title_ru": "Мы редко видели столь явное улучшение",
        "description_en": "A reusable frame from “Focus, inversion and emphasis”. Bring the key part of a message into focus.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «мы редко видели столь явное улучшение» в живом контексте.",
        "group_id": "FCS",
        "set_id": "FCS",
        "formulas": [
          "Rarely have we seen such a clear improvement [the team was reviewing the new policy]",
          "Selten haben wir eine so deutliche Verbesserung gesehen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMFCS001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/rarely-have-we-seen-such-a-clear-improvement-grmfcs001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmfcs001.json"
      },
      {
        "id": "GRMFCS006",
        "title_en": "Only after the review did the problem become visible [X]",
        "title_ru": "Лишь после проверки проблема стала заметна",
        "description_en": "A reusable frame from “Focus, inversion and emphasis”. Bring the key part of a message into focus.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «лишь после проверки проблема стала заметна» в живом контексте.",
        "group_id": "FCS",
        "set_id": "FCS",
        "formulas": [
          "Only after the review did the problem become visible [the team was reviewing the new policy]",
          "Erst nach der Prüfung wurde das Problem sichtbar [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMFCS006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/only-after-the-review-did-the-problem-become-grmfcs006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmfcs006.json"
      },
      {
        "id": "GRMFCS011",
        "title_en": "What the proposal needs is a realistic timetable [X]",
        "title_ru": "Предложению нужен реалистичный график",
        "description_en": "A reusable frame from “Focus, inversion and emphasis”. Bring the key part of a message into focus.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «предложению нужен реалистичный график» в живом контексте.",
        "group_id": "FCS",
        "set_id": "FCS",
        "formulas": [
          "What the proposal needs is a realistic timetable [the team was reviewing the new policy]",
          "Was der Vorschlag braucht, ist ein realistischer Zeitplan [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMFCS011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-the-proposal-needs-is-a-realistic-timetable-grmfcs011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmfcs011.json"
      },
      {
        "id": "GRMFCS016",
        "title_en": "It was the lack of evidence that changed the decision [X]",
        "title_ru": "Именно нехватка данных изменила решение",
        "description_en": "A reusable frame from “Focus, inversion and emphasis”. Bring the key part of a message into focus.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «именно нехватка данных изменила решение» в живом контексте.",
        "group_id": "FCS",
        "set_id": "FCS",
        "formulas": [
          "It was the lack of evidence that changed the decision [the team was reviewing the new policy]",
          "Es war der Mangel an Belegen, der die Entscheidung veränderte [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMFCS016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-was-the-lack-of-evidence-that-changed-the-grmfcs016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmfcs016.json"
      },
      {
        "id": "GRMFCS021",
        "title_en": "Not only did the team identify the risk, but it also reduced it [X]",
        "title_ru": "Команда не только выявила риск, но и снизила его",
        "description_en": "A reusable frame from “Focus, inversion and emphasis”. Bring the key part of a message into focus.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «команда не только выявила риск, но и снизила его» в живом контексте.",
        "group_id": "FCS",
        "set_id": "FCS",
        "formulas": [
          "Not only did the team identify the risk, but it also reduced it [the team was reviewing the new policy]",
          "Das Team erkannte nicht nur das Risiko, sondern verringerte es auch [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMFCS021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/not-only-did-the-team-identify-the-risk-but-it-grmfcs021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmfcs021.json"
      },
      {
        "id": "GRMFCS026",
        "title_en": "Under no circumstances should the data be shared [X]",
        "title_ru": "Данные нельзя передавать ни при каких обстоятельствах",
        "description_en": "A reusable frame from “Focus, inversion and emphasis”. Bring the key part of a message into focus.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «данные нельзя передавать ни при каких обстоятельствах» в живом контексте.",
        "group_id": "FCS",
        "set_id": "FCS",
        "formulas": [
          "Under no circumstances should the data be shared [the team was reviewing the new policy]",
          "Unter keinen Umständen dürfen die Daten weitergegeben werden [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMFCS026",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/under-no-circumstances-should-the-data-be-shared-grmfcs026/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmfcs026.json"
      },
      {
        "id": "GRMFCS031",
        "title_en": "The point I want to stress is the need for patience [X]",
        "title_ru": "Я хочу подчеркнуть необходимость терпения",
        "description_en": "A reusable frame from “Focus, inversion and emphasis”. Bring the key part of a message into focus.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «я хочу подчеркнуть необходимость терпения» в живом контексте.",
        "group_id": "FCS",
        "set_id": "FCS",
        "formulas": [
          "The point I want to stress is the need for patience [the team was reviewing the new policy]",
          "Was ich betonen möchte, ist die Notwendigkeit von Geduld [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMFCS031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-point-i-want-to-stress-is-the-need-for-grmfcs031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmfcs031.json"
      },
      {
        "id": "GRMFCS036",
        "title_en": "So important was the timing that the launch was delayed [X]",
        "title_ru": "Сроки были настолько важны, что запуск перенесли",
        "description_en": "A reusable frame from “Focus, inversion and emphasis”. Bring the key part of a message into focus.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «сроки были настолько важны, что запуск перенесли» в живом контексте.",
        "group_id": "FCS",
        "set_id": "FCS",
        "formulas": [
          "So important was the timing that the launch was delayed [the team was reviewing the new policy]",
          "Der Zeitpunkt war so wichtig, dass der Start verschoben wurde [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMFCS036",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/so-important-was-the-timing-that-the-launch-was-grmfcs036/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmfcs036.json"
      },
      {
        "id": "GRMREL001",
        "title_en": "The report, which was revised yesterday, now needs approval [X]",
        "title_ru": "Отчёт, который вчера доработали, теперь требует утверждения",
        "description_en": "A reusable frame from “Relative and participial clauses”. Add precise information without losing the main clause.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «отчёт, который вчера доработали, теперь требует утверждения» в живом контексте.",
        "group_id": "REL",
        "set_id": "REL",
        "formulas": [
          "The report, which was revised yesterday, now needs approval [the team was reviewing the new policy]",
          "Der Bericht, der gestern überarbeitet wurde, benötigt nun eine Genehmigung [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMREL001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-report-which-was-revised-yesterday-now-needs-grmrel001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmrel001.json"
      },
      {
        "id": "GRMREL006",
        "title_en": "People working on the pilot need clear guidance [X]",
        "title_ru": "Людям, работающим над пилотом, нужны ясные ориентиры",
        "description_en": "A reusable frame from “Relative and participial clauses”. Add precise information without losing the main clause.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «людям, работающим над пилотом, нужны ясные ориентиры» в живом контексте.",
        "group_id": "REL",
        "set_id": "REL",
        "formulas": [
          "People working on the pilot need clear guidance [the team was reviewing the new policy]",
          "Die Personen, die am Pilotprojekt arbeiten, brauchen klare Orientierung [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMREL006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/people-working-on-the-pilot-need-clear-guidance-grmrel006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmrel006.json"
      },
      {
        "id": "GRMREL011",
        "title_en": "The concerns raised by the reviewers were addressed [X]",
        "title_ru": "Замечания экспертов были учтены",
        "description_en": "A reusable frame from “Relative and participial clauses”. Add precise information without losing the main clause.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «замечания экспертов были учтены» в живом контексте.",
        "group_id": "REL",
        "set_id": "REL",
        "formulas": [
          "The concerns raised by the reviewers were addressed [the team was reviewing the new policy]",
          "Die von den Gutachtern geäußerten Bedenken wurden berücksichtigt [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMREL011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-concerns-raised-by-the-reviewers-were-grmrel011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmrel011.json"
      },
      {
        "id": "GRMREL016",
        "title_en": "The colleague whose proposal we adopted will lead the next phase [X]",
        "title_ru": "Коллега, чьё предложение мы приняли, возглавит следующий этап",
        "description_en": "A reusable frame from “Relative and participial clauses”. Add precise information without losing the main clause.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «коллега, чьё предложение мы приняли, возглавит следующий этап» в живом контексте.",
        "group_id": "REL",
        "set_id": "REL",
        "formulas": [
          "The colleague whose proposal we adopted will lead the next phase [the team was reviewing the new policy]",
          "Die Kollegin, deren Vorschlag wir übernommen haben, wird die nächste Phase leiten [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMREL016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-colleague-whose-proposal-we-adopted-will-grmrel016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmrel016.json"
      },
      {
        "id": "GRMREL021",
        "title_en": "This is the principle by which we assess the options [X]",
        "title_ru": "Это принцип, по которому мы оцениваем варианты",
        "description_en": "A reusable frame from “Relative and participial clauses”. Add precise information without losing the main clause.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «это принцип, по которому мы оцениваем варианты» в живом контексте.",
        "group_id": "REL",
        "set_id": "REL",
        "formulas": [
          "This is the principle by which we assess the options [the team was reviewing the new policy]",
          "Dies ist der Grundsatz, nach dem wir die Optionen bewerten [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMREL021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-is-the-principle-by-which-we-assess-the-grmrel021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmrel021.json"
      },
      {
        "id": "GRMREL026",
        "title_en": "The team found a solution that could be implemented quickly [X]",
        "title_ru": "Команда нашла решение, которое можно быстро внедрить",
        "description_en": "A reusable frame from “Relative and participial clauses”. Add precise information without losing the main clause.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «команда нашла решение, которое можно быстро внедрить» в живом контексте.",
        "group_id": "REL",
        "set_id": "REL",
        "formulas": [
          "The team found a solution that could be implemented quickly [the team was reviewing the new policy]",
          "Das Team fand eine Lösung, die schnell umgesetzt werden konnte [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMREL026",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-team-found-a-solution-that-could-be-grmrel026/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmrel026.json"
      },
      {
        "id": "GRMREL031",
        "title_en": "Having been [X], [Y] [Z]",
        "title_ru": "Предшествующее пассивное действие: «после того как …»",
        "description_en": "A reusable frame from “Relative and participial clauses”. Add precise information without losing the main clause.",
        "description_ru": "Грамматическая задача: показать, что пассивное действие завершилось раньше основного события.",
        "group_id": "REL",
        "set_id": "REL",
        "formulas": [
          "Having been [past participle], [subject] [past-tense result].",
          "Nachdem [X] [Partizip II] worden war/waren, [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMREL031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/having-been-informed-of-the-change-the-partners-grmrel031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmrel031.json"
      },
      {
        "id": "GRMREL036",
        "title_en": "The document contains a section outlining the main risks [X]",
        "title_ru": "Документ содержит раздел с основными рисками",
        "description_en": "A reusable frame from “Relative and participial clauses”. Add precise information without losing the main clause.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «документ содержит раздел с основными рисками» в живом контексте.",
        "group_id": "REL",
        "set_id": "REL",
        "formulas": [
          "The document contains a section outlining the main risks [the team was reviewing the new policy]",
          "Das Dokument enthält einen Abschnitt, der die Hauptrisiken darlegt [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMREL036",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-document-contains-a-section-outlining-the-grmrel036/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmrel036.json"
      },
      {
        "id": "GRMPRP001",
        "title_en": "She insisted on discussing the issue openly [X]",
        "title_ru": "Она настояла на открытом обсуждении вопроса",
        "description_en": "A reusable frame from “Prepositions and governed complements”. Use the complements that verbs, nouns and adjectives require.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «она настояла на открытом обсуждении вопроса» в живом контексте.",
        "group_id": "PRP",
        "set_id": "PRP",
        "formulas": [
          "She insisted on discussing the issue openly [the team was reviewing the new policy]",
          "Sie bestand darauf, die Frage offen zu besprechen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMPRP001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/she-insisted-on-discussing-the-issue-openly-grmprp001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmprp001.json"
      },
      {
        "id": "GRMPRP006",
        "title_en": "The outcome depends on how carefully we prepare [X]",
        "title_ru": "Результат зависит от того, насколько тщательно мы подготовимся",
        "description_en": "A reusable frame from “Prepositions and governed complements”. Use the complements that verbs, nouns and adjectives require.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «результат зависит от того, насколько тщательно мы подготовимся» в живом контексте.",
        "group_id": "PRP",
        "set_id": "PRP",
        "formulas": [
          "The outcome depends on how carefully we prepare [the team was reviewing the new policy]",
          "Das Ergebnis hängt davon ab, wie sorgfältig wir uns vorbereiten [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMPRP006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-outcome-depends-on-how-carefully-we-prepare-grmprp006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmprp006.json"
      },
      {
        "id": "GRMPRP011",
        "title_en": "We succeeded in reaching an agreement [X]",
        "title_ru": "Нам удалось достичь соглашения",
        "description_en": "A reusable frame from “Prepositions and governed complements”. Use the complements that verbs, nouns and adjectives require.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «нам удалось достичь соглашения» в живом контексте.",
        "group_id": "PRP",
        "set_id": "PRP",
        "formulas": [
          "We succeeded in reaching an agreement [the team was reviewing the new policy]",
          "Es gelang uns, eine Einigung zu erzielen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMPRP011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-succeeded-in-reaching-an-agreement-grmprp011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmprp011.json"
      },
      {
        "id": "GRMPRP016",
        "title_en": "They objected to changing the terms at short notice [X]",
        "title_ru": "Они возразили против изменения условий в последний момент",
        "description_en": "A reusable frame from “Prepositions and governed complements”. Use the complements that verbs, nouns and adjectives require.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «они возразили против изменения условий в последний момент» в живом контексте.",
        "group_id": "PRP",
        "set_id": "PRP",
        "formulas": [
          "They objected to changing the terms at short notice [the team was reviewing the new policy]",
          "Sie wandten sich dagegen, die Bedingungen kurzfristig zu ändern [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMPRP016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/they-objected-to-changing-the-terms-at-short-grmprp016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmprp016.json"
      },
      {
        "id": "GRMPRP021",
        "title_en": "The proposal differs from the earlier version in one respect [X]",
        "title_ru": "Предложение отличается от предыдущей версии в одном аспекте",
        "description_en": "A reusable frame from “Prepositions and governed complements”. Use the complements that verbs, nouns and adjectives require.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «предложение отличается от предыдущей версии в одном аспекте» в живом контексте.",
        "group_id": "PRP",
        "set_id": "PRP",
        "formulas": [
          "The proposal differs from the earlier version in one respect [the team was reviewing the new policy]",
          "Der Vorschlag unterscheidet sich in einem Punkt von der früheren Fassung [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMPRP021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-proposal-differs-from-the-earlier-version-in-grmprp021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmprp021.json"
      },
      {
        "id": "GRMPRP026",
        "title_en": "He is responsible for ensuring that the data are accurate [X]",
        "title_ru": "Он отвечает за точность данных",
        "description_en": "A reusable frame from “Prepositions and governed complements”. Use the complements that verbs, nouns and adjectives require.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «он отвечает за точность данных» в живом контексте.",
        "group_id": "PRP",
        "set_id": "PRP",
        "formulas": [
          "He is responsible for ensuring that the data are accurate [the team was reviewing the new policy]",
          "Er ist dafür verantwortlich, dass die Daten korrekt sind [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMPRP026",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/he-is-responsible-for-ensuring-that-the-data-are-grmprp026/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmprp026.json"
      },
      {
        "id": "GRMPRP031",
        "title_en": "We need to focus on what can be improved [X]",
        "title_ru": "Нам нужно сосредоточиться на том, что можно улучшить",
        "description_en": "A reusable frame from “Prepositions and governed complements”. Use the complements that verbs, nouns and adjectives require.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «нам нужно сосредоточиться на том, что можно улучшить» в живом контексте.",
        "group_id": "PRP",
        "set_id": "PRP",
        "formulas": [
          "We need to focus on what can be improved [the team was reviewing the new policy]",
          "Wir müssen uns auf das konzentrieren, was verbessert werden kann [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMPRP031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-need-to-focus-on-what-can-be-improved-grmprp031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmprp031.json"
      },
      {
        "id": "GRMPRP036",
        "title_en": "The decision resulted in a more transparent process [X]",
        "title_ru": "Решение привело к более прозрачному процессу",
        "description_en": "A reusable frame from “Prepositions and governed complements”. Use the complements that verbs, nouns and adjectives require.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «решение привело к более прозрачному процессу» в живом контексте.",
        "group_id": "PRP",
        "set_id": "PRP",
        "formulas": [
          "The decision resulted in a more transparent process [the team was reviewing the new policy]",
          "Die Entscheidung führte zu einem transparenteren Verfahren [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMPRP036",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-decision-resulted-in-a-more-transparent-grmprp036/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmprp036.json"
      },
      {
        "id": "GRMWOR001",
        "title_en": "The team has already sent the revised draft to the partners [X]",
        "title_ru": "Команда уже отправила партнёрам обновлённый черновик",
        "description_en": "A reusable frame from “Word order and verb position”. Control sentence structure across statements, questions and clauses.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «команда уже отправила партнёрам обновлённый черновик» в живом контексте.",
        "group_id": "WOR",
        "set_id": "WOR",
        "formulas": [
          "The team has already sent the revised draft to the partners [the team was reviewing the new policy]",
          "Das Team hat den überarbeiteten Entwurf bereits an die Partner geschickt [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMWOR001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-team-has-already-sent-the-revised-draft-to-grmwor001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmwor001.json"
      },
      {
        "id": "GRMWOR006",
        "title_en": "Because the evidence was incomplete, we postponed the decision [X]",
        "title_ru": "Поскольку данных не хватало, мы отложили решение",
        "description_en": "A reusable frame from “Word order and verb position”. Control sentence structure across statements, questions and clauses.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «поскольку данных не хватало, мы отложили решение» в живом контексте.",
        "group_id": "WOR",
        "set_id": "WOR",
        "formulas": [
          "Because the evidence was incomplete, we postponed the decision [the team was reviewing the new policy]",
          "Weil die Belege unvollständig waren, verschoben wir die Entscheidung [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMWOR006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/because-the-evidence-was-incomplete-we-postponed-grmwor006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmwor006.json"
      },
      {
        "id": "GRMWOR011",
        "title_en": "She said that the report had been checked twice [X]",
        "title_ru": "Она сказала, что отчёт проверили дважды",
        "description_en": "A reusable frame from “Word order and verb position”. Control sentence structure across statements, questions and clauses.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «она сказала, что отчёт проверили дважды» в живом контексте.",
        "group_id": "WOR",
        "set_id": "WOR",
        "formulas": [
          "She said that the report had been checked twice [the team was reviewing the new policy]",
          "Sie sagte, dass der Bericht zweimal geprüft worden sei [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMWOR011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/she-said-that-the-report-had-been-checked-twice-grmwor011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmwor011.json"
      },
      {
        "id": "GRMWOR016",
        "title_en": "We will discuss the proposal tomorrow in the meeting [X]",
        "title_ru": "Завтра мы обсудим предложение на встрече",
        "description_en": "A reusable frame from “Word order and verb position”. Control sentence structure across statements, questions and clauses.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «завтра мы обсудим предложение на встрече» в живом контексте.",
        "group_id": "WOR",
        "set_id": "WOR",
        "formulas": [
          "We will discuss the proposal tomorrow in the meeting [the team was reviewing the new policy]",
          "Wir werden den Vorschlag morgen in der Sitzung besprechen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMWOR016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-will-discuss-the-proposal-tomorrow-in-the-grmwor016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmwor016.json"
      },
      {
        "id": "GRMWOR021",
        "title_en": "Had we known the risk, we would have acted earlier [X]",
        "title_ru": "Если бы мы знали о риске, мы бы действовали раньше",
        "description_en": "A reusable frame from “Word order and verb position”. Control sentence structure across statements, questions and clauses.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «если бы мы знали о риске, мы бы действовали раньше» в живом контексте.",
        "group_id": "WOR",
        "set_id": "WOR",
        "formulas": [
          "Had we known the risk, we would have acted earlier [the team was reviewing the new policy]",
          "Hätten wir das Risiko gekannt, hätten wir früher gehandelt [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMWOR021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/had-we-known-the-risk-we-would-have-acted-grmwor021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmwor021.json"
      },
      {
        "id": "GRMWOR026",
        "title_en": "The question is why the process has become so slow [X]",
        "title_ru": "Вопрос в том, почему процесс стал таким медленным",
        "description_en": "A reusable frame from “Word order and verb position”. Control sentence structure across statements, questions and clauses.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «вопрос в том, почему процесс стал таким медленным» в живом контексте.",
        "group_id": "WOR",
        "set_id": "WOR",
        "formulas": [
          "The question is why the process has become so slow [the team was reviewing the new policy]",
          "Die Frage ist, warum das Verfahren so langsam geworden ist [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMWOR026",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-question-is-why-the-process-has-become-so-grmwor026/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmwor026.json"
      },
      {
        "id": "GRMWOR031",
        "title_en": "Before the meeting ends, the chair will summarise the decision [X]",
        "title_ru": "До конца встречи ведущий подведёт итог решения",
        "description_en": "A reusable frame from “Word order and verb position”. Control sentence structure across statements, questions and clauses.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «до конца встречи ведущий подведёт итог решения» в живом контексте.",
        "group_id": "WOR",
        "set_id": "WOR",
        "formulas": [
          "Before the meeting ends, the chair will summarise the decision [the team was reviewing the new policy]",
          "Bevor die Sitzung endet, wird die Leitung die Entscheidung zusammenfassen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMWOR031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/before-the-meeting-ends-the-chair-will-summarise-grmwor031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmwor031.json"
      },
      {
        "id": "GRMWOR036",
        "title_en": "The team wants to know whether the plan can still work [X]",
        "title_ru": "Команда хочет понять, может ли план ещё сработать",
        "description_en": "A reusable frame from “Word order and verb position”. Control sentence structure across statements, questions and clauses.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «команда хочет понять, может ли план ещё сработать» в живом контексте.",
        "group_id": "WOR",
        "set_id": "WOR",
        "formulas": [
          "The team wants to know whether the plan can still work [the team was reviewing the new policy]",
          "Das Team möchte wissen, ob der Plan noch funktionieren kann [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMWOR036",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-team-wants-to-know-whether-the-plan-can-grmwor036/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmwor036.json"
      },
      {
        "id": "GRMCAS001",
        "title_en": "She gave the new colleague a detailed explanation [X]",
        "title_ru": "Она дала новой коллеге подробное объяснение",
        "description_en": "A reusable frame from “Cases and nominal agreement”. Keep roles and agreement clear inside the noun phrase.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «она дала новой коллеге подробное объяснение» в живом контексте.",
        "group_id": "CAS",
        "set_id": "CAS",
        "formulas": [
          "She gave the new colleague a detailed explanation [the team was reviewing the new policy]",
          "Sie gab der neuen Kollegin eine ausführliche Erklärung [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMCAS001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/she-gave-the-new-colleague-a-detailed-grmcas001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmcas001.json"
      },
      {
        "id": "GRMCAS006",
        "title_en": "The committee considered the proposal carefully [X]",
        "title_ru": "Комитет внимательно рассмотрел предложение",
        "description_en": "A reusable frame from “Cases and nominal agreement”. Keep roles and agreement clear inside the noun phrase.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «комитет внимательно рассмотрел предложение» в живом контексте.",
        "group_id": "CAS",
        "set_id": "CAS",
        "formulas": [
          "The committee considered the proposal carefully [the team was reviewing the new policy]",
          "Der Ausschuss prüfte den Vorschlag sorgfältig [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMCAS006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-committee-considered-the-proposal-carefully-grmcas006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmcas006.json"
      },
      {
        "id": "GRMCAS011",
        "title_en": "We spoke with the person responsible for the archive [X]",
        "title_ru": "Мы поговорили с человеком, ответственным за архив",
        "description_en": "A reusable frame from “Cases and nominal agreement”. Keep roles and agreement clear inside the noun phrase.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «мы поговорили с человеком, ответственным за архив» в живом контексте.",
        "group_id": "CAS",
        "set_id": "CAS",
        "formulas": [
          "We spoke with the person responsible for the archive [the team was reviewing the new policy]",
          "Wir sprachen mit der Person, die für das Archiv verantwortlich ist [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMCAS011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-spoke-with-the-person-responsible-for-the-grmcas011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmcas011.json"
      },
      {
        "id": "GRMCAS016",
        "title_en": "The success of the project depends on reliable coordination [X]",
        "title_ru": "Успех проекта зависит от надёжной координации",
        "description_en": "A reusable frame from “Cases and nominal agreement”. Keep roles and agreement clear inside the noun phrase.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «успех проекта зависит от надёжной координации» в живом контексте.",
        "group_id": "CAS",
        "set_id": "CAS",
        "formulas": [
          "The success of the project depends on reliable coordination [the team was reviewing the new policy]",
          "Der Erfolg des Projekts hängt von einer verlässlichen Koordination ab [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMCAS016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-success-of-the-project-depends-on-reliable-grmcas016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmcas016.json"
      },
      {
        "id": "GRMCAS021",
        "title_en": "They informed the participants about the revised procedure [X]",
        "title_ru": "Они сообщили участникам об обновлённой процедуре",
        "description_en": "A reusable frame from “Cases and nominal agreement”. Keep roles and agreement clear inside the noun phrase.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «они сообщили участникам об обновлённой процедуре» в живом контексте.",
        "group_id": "CAS",
        "set_id": "CAS",
        "formulas": [
          "They informed the participants about the revised procedure [the team was reviewing the new policy]",
          "Sie informierten die Teilnehmenden über das überarbeitete Verfahren [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMCAS021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/they-informed-the-participants-about-the-revised-grmcas021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmcas021.json"
      },
      {
        "id": "GRMCAS026",
        "title_en": "The manager thanked the team for its work [X]",
        "title_ru": "Руководитель поблагодарил команду за работу",
        "description_en": "A reusable frame from “Cases and nominal agreement”. Keep roles and agreement clear inside the noun phrase.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «руководитель поблагодарил команду за работу» в живом контексте.",
        "group_id": "CAS",
        "set_id": "CAS",
        "formulas": [
          "The manager thanked the team for its work [the team was reviewing the new policy]",
          "Die Leitung dankte dem Team für seine Arbeit [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMCAS026",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-manager-thanked-the-team-for-its-work-grmcas026/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmcas026.json"
      },
      {
        "id": "GRMCAS031",
        "title_en": "This decision affects everyone involved [X]",
        "title_ru": "Это решение касается всех участников",
        "description_en": "A reusable frame from “Cases and nominal agreement”. Keep roles and agreement clear inside the noun phrase.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «это решение касается всех участников» в живом контексте.",
        "group_id": "CAS",
        "set_id": "CAS",
        "formulas": [
          "This decision affects everyone involved [the team was reviewing the new policy]",
          "Diese Entscheidung betrifft alle Beteiligten [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMCAS031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-decision-affects-everyone-involved-grmcas031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmcas031.json"
      },
      {
        "id": "GRMCAS036",
        "title_en": "The proposal was developed with the support of the advisers [X]",
        "title_ru": "Предложение разработали при поддержке консультантов",
        "description_en": "A reusable frame from “Cases and nominal agreement”. Keep roles and agreement clear inside the noun phrase.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «предложение разработали при поддержке консультантов» в живом контексте.",
        "group_id": "CAS",
        "set_id": "CAS",
        "formulas": [
          "The proposal was developed with the support of the advisers [the team was reviewing the new policy]",
          "Der Vorschlag wurde mit Unterstützung der Berater entwickelt [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMCAS036",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-proposal-was-developed-with-the-support-of-grmcas036/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmcas036.json"
      },
      {
        "id": "GRMADJ001",
        "title_en": "A more [X] [Y] would be [Z] to [A]",
        "title_ru": "Более выраженный признак → легче выполнить действие",
        "description_en": "A reusable frame from “Adjectives and comparison”. Describe, compare and qualify with accurate noun phrases.",
        "description_ru": "Сравнивайте возможные варианты: изменение признака объекта делает предполагаемое действие легче или сложнее.",
        "group_id": "ADJ",
        "set_id": "ADJ",
        "formulas": [
          "A more [adjective] [noun] would be [easier/harder] to [verb].",
          "Ein/eine [Komparativ + Nomen] wäre [leichter/schwerer] zu [Verb]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMADJ001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-more-transparent-process-would-be-easier-to-grmadj001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmadj001.json"
      },
      {
        "id": "GRMADJ006",
        "title_en": "The [X] [Y] is not always the [Z] one",
        "title_ru": "Превосходная степень: «самый …» не всегда «самый …»",
        "description_en": "A reusable frame from “Adjectives and comparison”. Describe, compare and qualify with accurate noun phrases.",
        "description_ru": "Сопоставляйте две характеристики одного варианта и не путайте «самый заметный по одному критерию» с «лучшим по другому».",
        "group_id": "ADJ",
        "set_id": "ADJ",
        "formulas": [
          "The [superlative adjective] [noun] is not always the [superlative adjective] one.",
          "Der/die/das [Superlativ + Nomen] ist nicht immer der/die/das [Superlativ]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMADJ006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-most-useful-option-is-not-always-the-fastest-grmadj006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmadj006.json"
      },
      {
        "id": "GRMADJ011",
        "title_en": "[X] + [Y]",
        "title_ru": "Прилагательное перед существительным",
        "description_en": "A reusable frame from “Adjectives and comparison”. Describe, compare and qualify with accurate noun phrases.",
        "description_ru": "Тренируйте сочетание признака и существительного в разных темах, чтобы прилагательное не запоминалось только внутри одной фразы.",
        "group_id": "ADJ",
        "set_id": "ADJ",
        "formulas": [
          "[adjective] + [noun]",
          "[flektiertes Adjektiv] + [Nomen]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMADJ011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-need-a-reliable-method-for-complex-cases-grmadj011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmadj011.json"
      },
      {
        "id": "GRMADJ016",
        "title_en": "The [X] [Y] [Z] [A]",
        "title_ru": "Причастие как определение перед существительным",
        "description_en": "A reusable frame from “Adjectives and comparison”. Describe, compare and qualify with accurate noun phrases.",
        "description_ru": "Используйте причастия как компактные определения: они описывают состояние или результат действия прямо перед существительным.",
        "group_id": "ADJ",
        "set_id": "ADJ",
        "formulas": [
          "The [past participle used as adjective] [noun] [finite verb] [complement].",
          "Der [Partizip als flektiertes Adjektiv] [Nomen] [finites Verb] [Ergänzung]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMADJ016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-revised-plan-contains-several-important-grmadj016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmadj016.json"
      },
      {
        "id": "GRMADJ021",
        "title_en": "[X] is/was [Y] than [Z]",
        "title_ru": "Сравнительная степень с «чем»",
        "description_en": "A reusable frame from “Adjectives and comparison”. Describe, compare and qualify with accurate noun phrases.",
        "description_ru": "Сравнивайте два объекта по одному явному признаку, меняя и признак, и предмет сравнения.",
        "group_id": "ADJ",
        "set_id": "ADJ",
        "formulas": [
          "[X] is/was [comparative adjective] than [Y].",
          "[X] ist/war [Komparativ] als [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMADJ021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/her-explanation-was-clearer-than-the-original-grmadj021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmadj021.json"
      },
      {
        "id": "GRMADJ026",
        "title_en": "Such a/an [X] [Y] can [Z]",
        "title_ru": "«Такой + прилагательное + существительное» для усиления",
        "description_en": "A reusable frame from “Adjectives and comparison”. Describe, compare and qualify with accurate noun phrases.",
        "description_ru": "Подчёркивайте степень признака через конструкцию «такой …», а затем показывайте её реальное следствие.",
        "group_id": "ADJ",
        "set_id": "ADJ",
        "formulas": [
          "Such a/an [adjective] [noun] can [consequence].",
          "Ein/eine so [Adjektiv] [Nomen] kann [Folge]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMADJ026",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/such-a-small-change-can-have-significant-effects-grmadj026/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmadj026.json"
      },
      {
        "id": "GRMADJ031",
        "title_en": "They chose the least risky alternative [X]",
        "title_ru": "Они выбрали наименее рискованную альтернативу",
        "description_en": "A reusable frame from “Adjectives and comparison”. Describe, compare and qualify with accurate noun phrases.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «они выбрали наименее рискованную альтернативу» в живом контексте.",
        "group_id": "ADJ",
        "set_id": "ADJ",
        "formulas": [
          "They chose the least risky alternative [the team was reviewing the new policy]",
          "Sie wählten die am wenigsten riskante Alternative [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMADJ031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/they-chose-the-least-risky-alternative-grmadj031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmadj031.json"
      },
      {
        "id": "GRMADJ036",
        "title_en": "[X] provides/gives a more [Y] [Z]",
        "title_ru": "Сравнение через «более + признак»",
        "description_en": "A reusable frame from “Adjectives and comparison”. Describe, compare and qualify with accurate noun phrases.",
        "description_ru": "Используйте сравнительную степень для более точной оценки данных, вариантов и наблюдений.",
        "group_id": "ADJ",
        "set_id": "ADJ",
        "formulas": [
          "[X] provides/gives a more [adjective] [noun].",
          "[X] liefert/vermittelt ein [Komparativ + Nomen]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 8,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 8,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": false,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMADJ036",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-data-provide-a-more-complete-picture-of-the-grmadj036/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmadj036.json"
      },
      {
        "id": "GRMKON001",
        "title_en": "If the evidence were stronger, we could decide today [X]",
        "title_ru": "Если бы данные были убедительнее, мы могли бы решить сегодня",
        "description_en": "A reusable frame from “Mood, modality and reported stance”. Express possibility, recommendation and reported judgement precisely.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «если бы данные были убедительнее, мы могли бы решить сегодня» в живом контексте.",
        "group_id": "KON",
        "set_id": "KON",
        "formulas": [
          "If the evidence were stronger, we could decide today [the team was reviewing the new policy]",
          "Wenn die Belege überzeugender wären, könnten wir heute entscheiden [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMKON001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-the-evidence-were-stronger-we-could-decide-grmkon001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmkon001.json"
      },
      {
        "id": "GRMKON006",
        "title_en": "I wish the process were less complicated [X]",
        "title_ru": "Хотелось бы, чтобы процесс был менее сложным",
        "description_en": "A reusable frame from “Mood, modality and reported stance”. Express possibility, recommendation and reported judgement precisely.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «хотелось бы, чтобы процесс был менее сложным» в живом контексте.",
        "group_id": "KON",
        "set_id": "KON",
        "formulas": [
          "I wish the process were less complicated [the team was reviewing the new policy]",
          "Ich wünschte, das Verfahren wäre weniger kompliziert [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMKON006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-wish-the-process-were-less-complicated-grmkon006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmkon006.json"
      },
      {
        "id": "GRMKON011",
        "title_en": "She said she would review the material later [X]",
        "title_ru": "Она сказала, что позже проверит материал",
        "description_en": "A reusable frame from “Mood, modality and reported stance”. Express possibility, recommendation and reported judgement precisely.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «она сказала, что позже проверит материал» в живом контексте.",
        "group_id": "KON",
        "set_id": "KON",
        "formulas": [
          "She said she would review the material later [the team was reviewing the new policy]",
          "Sie sagte, sie werde das Material später prüfen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMKON011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/she-said-she-would-review-the-material-later-grmkon011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmkon011.json"
      },
      {
        "id": "GRMKON016",
        "title_en": "The chair recommended that the team reconsider the timetable [X]",
        "title_ru": "Ведущий рекомендовал команде ещё раз рассмотреть график",
        "description_en": "A reusable frame from “Mood, modality and reported stance”. Express possibility, recommendation and reported judgement precisely.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «ведущий рекомендовал команде ещё раз рассмотреть график» в живом контексте.",
        "group_id": "KON",
        "set_id": "KON",
        "formulas": [
          "The chair recommended that the team reconsider the timetable [the team was reviewing the new policy]",
          "Die Leitung empfahl dem Team, den Zeitplan noch einmal zu prüfen [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMKON016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-chair-recommended-that-the-team-reconsider-grmkon016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmkon016.json"
      },
      {
        "id": "GRMKON021",
        "title_en": "It is essential that every participant be informed [X]",
        "title_ru": "Крайне важно, чтобы все участники были проинформированы",
        "description_en": "A reusable frame from “Mood, modality and reported stance”. Express possibility, recommendation and reported judgement precisely.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «крайне важно, чтобы все участники были проинформированы» в живом контексте.",
        "group_id": "KON",
        "set_id": "KON",
        "formulas": [
          "It is essential that every participant be informed [the team was reviewing the new policy]",
          "Es ist entscheidend, dass alle Teilnehmenden informiert werden [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMKON021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-is-essential-that-every-participant-be-grmkon021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmkon021.json"
      },
      {
        "id": "GRMKON026",
        "title_en": "Had the team acted earlier, the delay might have been avoided [X]",
        "title_ru": "Если бы команда действовала раньше, задержки можно было бы избежать",
        "description_en": "A reusable frame from “Mood, modality and reported stance”. Express possibility, recommendation and reported judgement precisely.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «если бы команда действовала раньше, задержки можно было бы избежать» в живом контексте.",
        "group_id": "KON",
        "set_id": "KON",
        "formulas": [
          "Had the team acted earlier, the delay might have been avoided [the team was reviewing the new policy]",
          "Hätte das Team früher gehandelt, hätte die Verzögerung vielleicht vermieden werden können [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMKON026",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/had-the-team-acted-earlier-the-delay-might-have-grmkon026/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmkon026.json"
      },
      {
        "id": "GRMKON031",
        "title_en": "He seems to have misunderstood the instruction [X]",
        "title_ru": "Похоже, он неверно понял инструкцию",
        "description_en": "A reusable frame from “Mood, modality and reported stance”. Express possibility, recommendation and reported judgement precisely.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «похоже, он неверно понял инструкцию» в живом контексте.",
        "group_id": "KON",
        "set_id": "KON",
        "formulas": [
          "He seems to have misunderstood the instruction [the team was reviewing the new policy]",
          "Er scheint die Anweisung missverstanden zu haben [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMKON031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/he-seems-to-have-misunderstood-the-instruction-grmkon031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmkon031.json"
      },
      {
        "id": "GRMKON036",
        "title_en": "The report is said to contain a useful recommendation [X]",
        "title_ru": "Говорят, что в отчёте есть полезная рекомендация",
        "description_en": "A reusable frame from “Mood, modality and reported stance”. Express possibility, recommendation and reported judgement precisely.",
        "description_ru": "Грамматическая задача: выбрать конструкцию «говорят, что в отчёте есть полезная рекомендация» в живом контексте.",
        "group_id": "KON",
        "set_id": "KON",
        "formulas": [
          "The report is said to contain a useful recommendation [the team was reviewing the new policy]",
          "Der Bericht soll eine hilfreiche Empfehlung enthalten [das Team die neue Regelung prüfte]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GRMKON036",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-report-is-said-to-contain-a-useful-grmkon036/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/grmkon036.json"
      },
      {
        "id": "QSTQYN001",
        "title_en": "Do you know whether [X]?",
        "title_ru": "Вы знаете, верно ли, что …?",
        "description_en": "A reusable frame from “Yes/no questions”. Check a fact, possibility or condition.",
        "description_ru": "Каркас из раздела «Общие вопросы». Проверяйте факт, возможность или условие.",
        "group_id": "QYN",
        "set_id": "QYN",
        "formulas": [
          "Do you know whether [the team needs another day to decide]?",
          "Wissen Sie, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQYN001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/do-you-know-whether-the-team-needs-another-day-qstqyn001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqyn001.json"
      },
      {
        "id": "QSTQYN011",
        "title_en": "Is it possible that [X]?",
        "title_ru": "Возможно ли, что …?",
        "description_en": "Expresses likelihood and uncertainty without pretending to have more precision than the evidence supports.",
        "description_ru": "Позволяет говорить о вероятности и неопределённости без ложной точности.",
        "group_id": "QYN",
        "set_id": "QYN",
        "formulas": [
          "Is it possible that [the team needs another day to decide]?",
          "Ist es möglich, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQYN011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/is-it-possible-that-the-team-needs-another-day-qstqyn011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqyn011.json"
      },
      {
        "id": "QSTQYN021",
        "title_en": "Can we confirm that [X]?",
        "title_ru": "Можем ли мы подтвердить, что …?",
        "description_en": "A reusable frame from “Yes/no questions”. Check a fact, possibility or condition.",
        "description_ru": "Каркас из раздела «Общие вопросы». Проверяйте факт, возможность или условие.",
        "group_id": "QYN",
        "set_id": "QYN",
        "formulas": [
          "Can we confirm that [the team needs another day to decide]?",
          "Können wir bestätigen, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQYN021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/can-we-confirm-that-the-team-needs-another-day-qstqyn021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqyn021.json"
      },
      {
        "id": "QSTQYN031",
        "title_en": "Would it matter if [X]?",
        "title_ru": "Изменило бы что-то, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QYN",
        "set_id": "QYN",
        "formulas": [
          "Would it matter if [the team needs another day to decide]?",
          "Würde es etwas ändern, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQYN031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-it-matter-if-the-team-needs-another-day-to-qstqyn031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqyn031.json"
      },
      {
        "id": "QSTQWH001",
        "title_en": "Why is it important that [X]?",
        "title_ru": "Почему важно, что …?",
        "description_en": "A reusable frame from “Wh-questions”. Ask for the missing reason, method, thing or outcome.",
        "description_ru": "Каркас из раздела «Специальные вопросы». Спрашивайте о причине, способе, предмете или результате.",
        "group_id": "QWH",
        "set_id": "QWH",
        "formulas": [
          "Why is it important that [the team needs another day to decide]?",
          "Warum ist es wichtig, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQWH001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/why-is-it-important-that-the-team-needs-another-qstqwh001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqwh001.json"
      },
      {
        "id": "QSTQWH011",
        "title_en": "How can we tell whether [X]?",
        "title_ru": "Как мы можем понять, …?",
        "description_en": "A reusable frame from “Wh-questions”. Ask for the missing reason, method, thing or outcome.",
        "description_ru": "Каркас из раздела «Специальные вопросы». Спрашивайте о причине, способе, предмете или результате.",
        "group_id": "QWH",
        "set_id": "QWH",
        "formulas": [
          "How can we tell whether [the team needs another day to decide]?",
          "Wie können wir feststellen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQWH011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-can-we-tell-whether-the-team-needs-another-qstqwh011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqwh011.json"
      },
      {
        "id": "QSTQWH021",
        "title_en": "What suggests that [X]?",
        "title_ru": "Что указывает на то, что …?",
        "description_en": "A reusable frame from “Wh-questions”. Ask for the missing reason, method, thing or outcome.",
        "description_ru": "Каркас из раздела «Специальные вопросы». Спрашивайте о причине, способе, предмете или результате.",
        "group_id": "QWH",
        "set_id": "QWH",
        "formulas": [
          "What suggests that [the team needs another day to decide]?",
          "Was deutet darauf hin, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQWH021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-suggests-that-the-team-needs-another-day-to-qstqwh021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqwh021.json"
      },
      {
        "id": "QSTQWH031",
        "title_en": "Which consequence would follow if [X]?",
        "title_ru": "Какое последствие наступило бы, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QWH",
        "set_id": "QWH",
        "formulas": [
          "Which consequence would follow if [the team needs another day to decide]?",
          "Welche Folge hätte es, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQWH031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/which-consequence-would-follow-if-the-team-needs-qstqwh031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqwh031.json"
      },
      {
        "id": "QSTQSUB001",
        "title_en": "Who can confirm whether [X]?",
        "title_ru": "Кто может подтвердить, …?",
        "description_en": "A reusable frame from “Subject questions”. Ask who or what performs the key action.",
        "description_ru": "Каркас из раздела «Вопросы к подлежащему». Спрашивайте, кто или что выполняет ключевое действие.",
        "group_id": "QSUB",
        "set_id": "QSUB",
        "formulas": [
          "Who can confirm whether [the team needs another day to decide]?",
          "Wer kann bestätigen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQSUB001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-can-confirm-whether-the-team-needs-another-qstqsub001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqsub001.json"
      },
      {
        "id": "QSTQSUB011",
        "title_en": "Who knows why [X]?",
        "title_ru": "Кто знает, почему …?",
        "description_en": "A reusable frame from “Subject questions”. Ask who or what performs the key action.",
        "description_ru": "Каркас из раздела «Вопросы к подлежащему». Спрашивайте, кто или что выполняет ключевое действие.",
        "group_id": "QSUB",
        "set_id": "QSUB",
        "formulas": [
          "Who knows why [the team needs another day to decide]?",
          "Wer weiß, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQSUB011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-knows-why-the-team-needs-another-day-to-qstqsub011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqsub011.json"
      },
      {
        "id": "QSTQSUB021",
        "title_en": "Who should decide if [X]?",
        "title_ru": "Кто должен решать, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QSUB",
        "set_id": "QSUB",
        "formulas": [
          "Who should decide if [the team needs another day to decide]?",
          "Wer sollte entscheiden, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQSUB021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-should-decide-if-the-team-needs-another-day-qstqsub021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqsub021.json"
      },
      {
        "id": "QSTQSUB031",
        "title_en": "Who would be affected if [X]?",
        "title_ru": "Кого это затронуло бы, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QSUB",
        "set_id": "QSUB",
        "formulas": [
          "Who would be affected if [the team needs another day to decide]?",
          "Wer wäre betroffen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQSUB031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-would-be-affected-if-the-team-needs-another-qstqsub031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqsub031.json"
      },
      {
        "id": "QSTQOBJ001",
        "title_en": "What do we know about the fact that [X]?",
        "title_ru": "Что мы знаем о том, что …?",
        "description_en": "A reusable frame from “Object questions”. Ask what action, evidence or response is needed.",
        "description_ru": "Каркас из раздела «Вопросы к дополнению». Спрашивайте, какое действие, доказательство или ответ нужен.",
        "group_id": "QOBJ",
        "set_id": "QOBJ",
        "formulas": [
          "What do we know about the fact that [the team needs another day to decide]?",
          "Was wissen wir darüber, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQOBJ001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-do-we-know-about-the-fact-that-the-team-qstqobj001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqobj001.json"
      },
      {
        "id": "QSTQOBJ011",
        "title_en": "What should we do if [X]?",
        "title_ru": "Что нам следует сделать, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QOBJ",
        "set_id": "QOBJ",
        "formulas": [
          "What should we do if [the team needs another day to decide]?",
          "Was sollten wir tun, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQOBJ011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-should-we-do-if-the-team-needs-another-day-qstqobj011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqobj011.json"
      },
      {
        "id": "QSTQOBJ021",
        "title_en": "What information would help us assess whether [X]?",
        "title_ru": "Какая информация помогла бы нам оценить, …?",
        "description_en": "A reusable frame from “Object questions”. Ask what action, evidence or response is needed.",
        "description_ru": "Каркас из раздела «Вопросы к дополнению». Спрашивайте, какое действие, доказательство или ответ нужен.",
        "group_id": "QOBJ",
        "set_id": "QOBJ",
        "formulas": [
          "What information would help us assess whether [the team needs another day to decide]?",
          "Welche Informationen würden uns helfen zu beurteilen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQOBJ021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-information-would-help-us-assess-whether-qstqobj021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqobj021.json"
      },
      {
        "id": "QSTQOBJ031",
        "title_en": "What would change if [X]?",
        "title_ru": "Что изменилось бы, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QOBJ",
        "set_id": "QOBJ",
        "formulas": [
          "What would change if [the team needs another day to decide]?",
          "Was würde sich ändern, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQOBJ031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-would-change-if-the-team-needs-another-day-qstqobj031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqobj031.json"
      },
      {
        "id": "QSTQPRE001",
        "title_en": "With whom should we discuss whether [X]?",
        "title_ru": "С кем нам обсудить, …?",
        "description_en": "A reusable frame from “Preposition questions”. Practise preposition plus question word as one unit.",
        "description_ru": "Каркас из раздела «Вопросы с предлогом». Отрабатывайте предлог и вопросительное слово как единое целое.",
        "group_id": "QPRE",
        "set_id": "QPRE",
        "formulas": [
          "With whom should we discuss whether [the team needs another day to decide]?",
          "Mit wem sollten wir besprechen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRE001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/with-whom-should-we-discuss-whether-the-team-qstqpre001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpre001.json"
      },
      {
        "id": "QSTQPRE011",
        "title_en": "For what reason might it be that [X]?",
        "title_ru": "По какой причине может быть так, что …?",
        "description_en": "A reusable frame from “Preposition questions”. Practise preposition plus question word as one unit.",
        "description_ru": "Каркас из раздела «Вопросы с предлогом». Отрабатывайте предлог и вопросительное слово как единое целое.",
        "group_id": "QPRE",
        "set_id": "QPRE",
        "formulas": [
          "For what reason might it be that [the team needs another day to decide]?",
          "Aus welchem Grund könnte es sein, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRE011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/for-what-reason-might-it-be-that-the-team-needs-qstqpre011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpre011.json"
      },
      {
        "id": "QSTQPRE021",
        "title_en": "Under what conditions could it be that [X]?",
        "title_ru": "При каких условиях может быть так, что …?",
        "description_en": "A reusable frame from “Preposition questions”. Practise preposition plus question word as one unit.",
        "description_ru": "Каркас из раздела «Вопросы с предлогом». Отрабатывайте предлог и вопросительное слово как единое целое.",
        "group_id": "QPRE",
        "set_id": "QPRE",
        "formulas": [
          "Under what conditions could it be that [the team needs another day to decide]?",
          "Unter welchen Bedingungen könnte es sein, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRE021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/under-what-conditions-could-it-be-that-the-team-qstqpre021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpre021.json"
      },
      {
        "id": "QSTQPRE031",
        "title_en": "To what extent would it matter if [X]?",
        "title_ru": "В какой степени это было бы важно, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QPRE",
        "set_id": "QPRE",
        "formulas": [
          "To what extent would it matter if [the team needs another day to decide]?",
          "In welchem Maß würde es eine Rolle spielen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRE031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-what-extent-would-it-matter-if-the-team-needs-qstqpre031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpre031.json"
      },
      {
        "id": "QSTQTAG001",
        "title_en": "Isn't it the case that [X]?",
        "title_ru": "Разве не так, что …?",
        "description_en": "A reusable frame from “Tag and checking questions”. Invite confirmation without sounding abrupt.",
        "description_ru": "Каркас из раздела «Разделительные и проверочные вопросы». Запрашивайте подтверждение без резкости.",
        "group_id": "QTAG",
        "set_id": "QTAG",
        "formulas": [
          "Isn't it the case that [the team needs another day to decide]?",
          "Stimmt es nicht, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQTAG001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/isn-t-it-the-case-that-the-team-needs-another-qstqtag001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqtag001.json"
      },
      {
        "id": "QSTQTAG011",
        "title_en": "It is clear that [X], isn't it?",
        "title_ru": "Ясно, что …, не так ли?",
        "description_en": "A reusable frame from “Tag and checking questions”. Invite confirmation without sounding abrupt.",
        "description_ru": "Каркас из раздела «Разделительные и проверочные вопросы». Запрашивайте подтверждение без резкости.",
        "group_id": "QTAG",
        "set_id": "QTAG",
        "formulas": [
          "It is clear that [the team needs another day to decide], isn't it?",
          "Es ist klar, dass [das Team einen weiteren Tag für die Entscheidung braucht], oder?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQTAG011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-is-clear-that-the-team-needs-another-day-to-qstqtag011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqtag011.json"
      },
      {
        "id": "QSTQTAG021",
        "title_en": "Would you agree that [X]?",
        "title_ru": "Вы согласились бы, что …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QTAG",
        "set_id": "QTAG",
        "formulas": [
          "Would you agree that [the team needs another day to decide]?",
          "Würden Sie zustimmen, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQTAG021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-you-agree-that-the-team-needs-another-day-qstqtag021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqtag021.json"
      },
      {
        "id": "QSTQTAG031",
        "title_en": "You would agree that [X], wouldn't you?",
        "title_ru": "Вы ведь согласились бы, что …, верно?",
        "description_en": "A reusable frame from “Tag and checking questions”. Invite confirmation without sounding abrupt.",
        "description_ru": "Каркас из раздела «Разделительные и проверочные вопросы». Запрашивайте подтверждение без резкости.",
        "group_id": "QTAG",
        "set_id": "QTAG",
        "formulas": [
          "You would agree that [the team needs another day to decide], wouldn't you?",
          "Sie würden doch zustimmen, dass [das Team einen weiteren Tag für die Entscheidung braucht], oder?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQTAG031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/you-would-agree-that-the-team-needs-another-day-qstqtag031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqtag031.json"
      },
      {
        "id": "QSTQIND001",
        "title_en": "Could you tell me whether [X]?",
        "title_ru": "Не могли бы вы сказать, …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QIND",
        "set_id": "QIND",
        "formulas": [
          "Could you tell me whether [the team needs another day to decide]?",
          "Könnten Sie mir sagen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQIND001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-you-tell-me-whether-the-team-needs-another-qstqind001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqind001.json"
      },
      {
        "id": "QSTQIND011",
        "title_en": "Do you happen to know why [X]?",
        "title_ru": "Вы случайно не знаете, почему …?",
        "description_en": "A reusable frame from “Indirect questions”. Keep question order inside polite embedded clauses.",
        "description_ru": "Каркас из раздела «Косвенные вопросы». Сохраняйте порядок слов в вежливых вложенных вопросах.",
        "group_id": "QIND",
        "set_id": "QIND",
        "formulas": [
          "Do you happen to know why [the team needs another day to decide]?",
          "Wissen Sie zufällig, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQIND011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/do-you-happen-to-know-why-the-team-needs-another-qstqind011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqind011.json"
      },
      {
        "id": "QSTQIND021",
        "title_en": "Would you mind explaining how it is possible that [X]?",
        "title_ru": "Не могли бы вы объяснить, как возможно, что …?",
        "description_en": "Expresses likelihood and uncertainty without pretending to have more precision than the evidence supports.",
        "description_ru": "Позволяет говорить о вероятности и неопределённости без ложной точности.",
        "group_id": "QIND",
        "set_id": "QIND",
        "formulas": [
          "Would you mind explaining how it is possible that [the team needs another day to decide]?",
          "Würden Sie erklären, wie es möglich ist, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQIND021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-you-mind-explaining-how-it-is-possible-qstqind021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqind021.json"
      },
      {
        "id": "QSTQIND031",
        "title_en": "May I ask if [X]?",
        "title_ru": "Можно спросить, …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QIND",
        "set_id": "QIND",
        "formulas": [
          "May I ask if [the team needs another day to decide]?",
          "Darf ich fragen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQIND031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/may-i-ask-if-the-team-needs-another-day-to-qstqind031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqind031.json"
      },
      {
        "id": "QSTQNEG001",
        "title_en": "Why haven't we clarified whether [X]?",
        "title_ru": "Почему мы ещё не прояснили, …?",
        "description_en": "A reusable frame from “Negative questions”. Use negation to question an assumption or prompt action.",
        "description_ru": "Каркас из раздела «Отрицательные вопросы». Используйте отрицание, чтобы проверить предположение или подтолкнуть к действию.",
        "group_id": "QNEG",
        "set_id": "QNEG",
        "formulas": [
          "Why haven't we clarified whether [the team needs another day to decide]?",
          "Warum haben wir noch nicht geklärt, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQNEG001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/why-haven-t-we-clarified-whether-the-team-needs-qstqneg001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqneg001.json"
      },
      {
        "id": "QSTQNEG011",
        "title_en": "Isn't it likely that [X]?",
        "title_ru": "Разве не вероятно, что …?",
        "description_en": "A reusable frame from “Negative questions”. Use negation to question an assumption or prompt action.",
        "description_ru": "Каркас из раздела «Отрицательные вопросы». Используйте отрицание, чтобы проверить предположение или подтолкнуть к действию.",
        "group_id": "QNEG",
        "set_id": "QNEG",
        "formulas": [
          "Isn't it likely that [the team needs another day to decide]?",
          "Ist es nicht wahrscheinlich, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQNEG011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/isn-t-it-likely-that-the-team-needs-another-day-qstqneg011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqneg011.json"
      },
      {
        "id": "QSTQNEG021",
        "title_en": "Could no one confirm that [X]?",
        "title_ru": "Никто не мог подтвердить, что …?",
        "description_en": "A reusable frame from “Negative questions”. Use negation to question an assumption or prompt action.",
        "description_ru": "Каркас из раздела «Отрицательные вопросы». Используйте отрицание, чтобы проверить предположение или подтолкнуть к действию.",
        "group_id": "QNEG",
        "set_id": "QNEG",
        "formulas": [
          "Could no one confirm that [the team needs another day to decide]?",
          "Konnte niemand bestätigen, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQNEG021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-no-one-confirm-that-the-team-needs-another-qstqneg021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqneg021.json"
      },
      {
        "id": "QSTQNEG031",
        "title_en": "Shouldn't we ask whether [X]?",
        "title_ru": "Разве нам не стоит спросить, …?",
        "description_en": "A reusable frame from “Negative questions”. Use negation to question an assumption or prompt action.",
        "description_ru": "Каркас из раздела «Отрицательные вопросы». Используйте отрицание, чтобы проверить предположение или подтолкнуть к действию.",
        "group_id": "QNEG",
        "set_id": "QNEG",
        "formulas": [
          "Shouldn't we ask whether [the team needs another day to decide]?",
          "Sollten wir nicht fragen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQNEG031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/shouldn-t-we-ask-whether-the-team-needs-another-qstqneg031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqneg031.json"
      },
      {
        "id": "QSTQCHO001",
        "title_en": "Should we decide now or wait until we know whether [X]?",
        "title_ru": "Нам решить сейчас или подождать, пока мы не узнаем, …?",
        "description_en": "A reusable frame from “Alternative questions”. Compare two routes before making a choice.",
        "description_ru": "Каркас из раздела «Альтернативные вопросы». Сравнивайте два пути перед выбором.",
        "group_id": "QCHO",
        "set_id": "QCHO",
        "formulas": [
          "Should we decide now or wait until we know whether [the team needs another day to decide]?",
          "Sollten wir jetzt entscheiden oder warten, bis wir wissen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCHO001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/should-we-decide-now-or-wait-until-we-know-qstqcho001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcho001.json"
      },
      {
        "id": "QSTQCHO011",
        "title_en": "Would you rather act now or check whether [X]?",
        "title_ru": "Вы предпочли бы действовать сейчас или проверить, …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QCHO",
        "set_id": "QCHO",
        "formulas": [
          "Would you rather act now or check whether [the team needs another day to decide]?",
          "Würden Sie lieber jetzt handeln oder prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCHO011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-you-rather-act-now-or-check-whether-the-qstqcho011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcho011.json"
      },
      {
        "id": "QSTQCHO021",
        "title_en": "Is the better option to continue if [X] or to pause?",
        "title_ru": "Лучше продолжить, если …, или сделать паузу?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QCHO",
        "set_id": "QCHO",
        "formulas": [
          "Is the better option to continue if [the team needs another day to decide] or to pause?",
          "Ist es besser fortzufahren, wenn [das Team einen weiteren Tag für die Entscheidung braucht], oder zu pausieren?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCHO021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/is-the-better-option-to-continue-if-the-team-qstqcho021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcho021.json"
      },
      {
        "id": "QSTQCHO031",
        "title_en": "Do we need more evidence, or is it enough that [X]?",
        "title_ru": "Нам нужно больше данных или достаточно того, что …?",
        "description_en": "A reusable frame from “Alternative questions”. Compare two routes before making a choice.",
        "description_ru": "Каркас из раздела «Альтернативные вопросы». Сравнивайте два пути перед выбором.",
        "group_id": "QCHO",
        "set_id": "QCHO",
        "formulas": [
          "Do we need more evidence, or is it enough that [the team needs another day to decide]?",
          "Brauchen wir mehr Belege, oder reicht es, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCHO031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/do-we-need-more-evidence-or-is-it-enough-that-qstqcho031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcho031.json"
      },
      {
        "id": "QSTQCNF001",
        "title_en": "Can you confirm that [X]?",
        "title_ru": "Можете подтвердить, что …?",
        "description_en": "A reusable frame from “Confirmation questions”. Check a fact carefully before relying on it.",
        "description_ru": "Каркас из раздела «Вопросы на подтверждение». Тщательно проверяйте факт, прежде чем на него опираться.",
        "group_id": "QCNF",
        "set_id": "QCNF",
        "formulas": [
          "Can you confirm that [the team needs another day to decide]?",
          "Können Sie bestätigen, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCNF001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/can-you-confirm-that-the-team-needs-another-day-qstqcnf001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcnf001.json"
      },
      {
        "id": "QSTQCNF011",
        "title_en": "Are we certain that [X]?",
        "title_ru": "Мы уверены, что …?",
        "description_en": "A reusable frame from “Confirmation questions”. Check a fact carefully before relying on it.",
        "description_ru": "Каркас из раздела «Вопросы на подтверждение». Тщательно проверяйте факт, прежде чем на него опираться.",
        "group_id": "QCNF",
        "set_id": "QCNF",
        "formulas": [
          "Are we certain that [the team needs another day to decide]?",
          "Sind wir sicher, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCNF011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/are-we-certain-that-the-team-needs-another-day-qstqcnf011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcnf011.json"
      },
      {
        "id": "QSTQCNF021",
        "title_en": "Would you verify whether [X]?",
        "title_ru": "Вы могли бы проверить, …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QCNF",
        "set_id": "QCNF",
        "formulas": [
          "Would you verify whether [the team needs another day to decide]?",
          "Würden Sie prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCNF021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-you-verify-whether-the-team-needs-another-qstqcnf021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcnf021.json"
      },
      {
        "id": "QSTQCNF031",
        "title_en": "Is there any doubt that [X]?",
        "title_ru": "Есть ли сомнения, что …?",
        "description_en": "A reusable frame from “Confirmation questions”. Check a fact carefully before relying on it.",
        "description_ru": "Каркас из раздела «Вопросы на подтверждение». Тщательно проверяйте факт, прежде чем на него опираться.",
        "group_id": "QCNF",
        "set_id": "QCNF",
        "formulas": [
          "Is there any doubt that [the team needs another day to decide]?",
          "Gibt es Zweifel daran, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCNF031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/is-there-any-doubt-that-the-team-needs-another-qstqcnf031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcnf031.json"
      },
      {
        "id": "QSTQCL001",
        "title_en": "When you say that [X], what exactly do you mean?",
        "title_ru": "Когда вы говорите, что …, что именно вы имеете в виду?",
        "description_en": "A reusable frame from “Clarification questions”. Repair meaning before the conversation moves on.",
        "description_ru": "Каркас из раздела «Уточняющие вопросы». Уточняйте смысл до того, как разговор продолжится.",
        "group_id": "QCL",
        "set_id": "QCL",
        "formulas": [
          "When you say that [the team needs another day to decide], what exactly do you mean?",
          "Wenn Sie sagen, dass [das Team einen weiteren Tag für die Entscheidung braucht], was genau meinen Sie?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCL001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/when-you-say-that-the-team-needs-another-day-to-qstqcl001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcl001.json"
      },
      {
        "id": "QSTQCL011",
        "title_en": "Could you clarify whether [X]?",
        "title_ru": "Не могли бы вы уточнить, …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QCL",
        "set_id": "QCL",
        "formulas": [
          "Could you clarify whether [the team needs another day to decide]?",
          "Könnten Sie klären, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCL011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-you-clarify-whether-the-team-needs-another-qstqcl011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcl011.json"
      },
      {
        "id": "QSTQCL021",
        "title_en": "How should we understand the fact that [X]?",
        "title_ru": "Как нам понимать то, что …?",
        "description_en": "A reusable frame from “Clarification questions”. Repair meaning before the conversation moves on.",
        "description_ru": "Каркас из раздела «Уточняющие вопросы». Уточняйте смысл до того, как разговор продолжится.",
        "group_id": "QCL",
        "set_id": "QCL",
        "formulas": [
          "How should we understand the fact that [the team needs another day to decide]?",
          "Wie sollten wir verstehen, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCL021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-should-we-understand-the-fact-that-the-team-qstqcl021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcl021.json"
      },
      {
        "id": "QSTQCL031",
        "title_en": "Which part needs clarification if [X]?",
        "title_ru": "Какую часть нужно уточнить, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QCL",
        "set_id": "QCL",
        "formulas": [
          "Which part needs clarification if [the team needs another day to decide]?",
          "Welcher Teil braucht eine Klärung, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCL031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/which-part-needs-clarification-if-the-team-needs-qstqcl031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcl031.json"
      },
      {
        "id": "QSTQFOL001",
        "title_en": "What follows if [X]?",
        "title_ru": "Что следует из этого, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QFOL",
        "set_id": "QFOL",
        "formulas": [
          "What follows if [the team needs another day to decide]?",
          "Was folgt daraus, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQFOL001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-follows-if-the-team-needs-another-day-to-qstqfol001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqfol001.json"
      },
      {
        "id": "QSTQFOL011",
        "title_en": "How does it affect the plan if [X]?",
        "title_ru": "Как это влияет на план, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QFOL",
        "set_id": "QFOL",
        "formulas": [
          "How does it affect the plan if [the team needs another day to decide]?",
          "Wie wirkt es sich auf den Plan aus, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQFOL011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-does-it-affect-the-plan-if-the-team-needs-qstqfol011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqfol011.json"
      },
      {
        "id": "QSTQFOL021",
        "title_en": "What else should we consider if [X]?",
        "title_ru": "Что ещё нам следует учесть, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QFOL",
        "set_id": "QFOL",
        "formulas": [
          "What else should we consider if [the team needs another day to decide]?",
          "Was sollten wir außerdem berücksichtigen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQFOL021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-else-should-we-consider-if-the-team-needs-qstqfol021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqfol021.json"
      },
      {
        "id": "QSTQFOL031",
        "title_en": "Why does that matter if [X]?",
        "title_ru": "Почему это важно, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QFOL",
        "set_id": "QFOL",
        "formulas": [
          "Why does that matter if [the team needs another day to decide]?",
          "Warum ist das wichtig, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQFOL031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/why-does-that-matter-if-the-team-needs-another-qstqfol031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqfol031.json"
      },
      {
        "id": "QSTQOP001",
        "title_en": "Do you think it is likely that [X]?",
        "title_ru": "Как вы думаете, вероятно ли, что …?",
        "description_en": "A reusable frame from “Opinion questions”. Invite a view with the right amount of openness.",
        "description_ru": "Каркас из раздела «Вопросы о мнении». Запрашивайте мнение, оставляя пространство для ответа.",
        "group_id": "QOP",
        "set_id": "QOP",
        "formulas": [
          "Do you think it is likely that [the team needs another day to decide]?",
          "Glauben Sie, dass es wahrscheinlich ist, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQOP001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/do-you-think-it-is-likely-that-the-team-needs-qstqop001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqop001.json"
      },
      {
        "id": "QSTQOP011",
        "title_en": "In your view, what explains why [X]?",
        "title_ru": "Что, по-вашему, объясняет, почему …?",
        "description_en": "Makes a cause-and-effect link explicit so the reasoning is easier to inspect.",
        "description_ru": "Делает связь причины и следствия явной, чтобы ход рассуждения было легче проверить.",
        "group_id": "QOP",
        "set_id": "QOP",
        "formulas": [
          "In your view, what explains why [the team needs another day to decide]?",
          "Was erklärt Ihrer Ansicht nach, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQOP011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/in-your-view-what-explains-why-the-team-needs-qstqop011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqop011.json"
      },
      {
        "id": "QSTQOP021",
        "title_en": "How would you assess the risk if [X]?",
        "title_ru": "Как бы вы оценили риск, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QOP",
        "set_id": "QOP",
        "formulas": [
          "How would you assess the risk if [the team needs another day to decide]?",
          "Wie würden Sie das Risiko einschätzen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQOP021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-would-you-assess-the-risk-if-the-team-needs-qstqop021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqop021.json"
      },
      {
        "id": "QSTQOP031",
        "title_en": "What is your view on whether [X]?",
        "title_ru": "Каково ваше мнение о том, …?",
        "description_en": "A reusable frame from “Opinion questions”. Invite a view with the right amount of openness.",
        "description_ru": "Каркас из раздела «Вопросы о мнении». Запрашивайте мнение, оставляя пространство для ответа.",
        "group_id": "QOP",
        "set_id": "QOP",
        "formulas": [
          "What is your view on whether [the team needs another day to decide]?",
          "Wie ist Ihre Einschätzung dazu, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQOP031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-is-your-view-on-whether-the-team-needs-qstqop031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqop031.json"
      },
      {
        "id": "QSTQCAU001",
        "title_en": "What explains why [X]?",
        "title_ru": "Что объясняет, почему …?",
        "description_en": "Makes a cause-and-effect link explicit so the reasoning is easier to inspect.",
        "description_ru": "Делает связь причины и следствия явной, чтобы ход рассуждения было легче проверить.",
        "group_id": "QCAU",
        "set_id": "QCAU",
        "formulas": [
          "What explains why [the team needs another day to decide]?",
          "Was erklärt, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCAU001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-explains-why-the-team-needs-another-day-to-qstqcau001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcau001.json"
      },
      {
        "id": "QSTQCAU011",
        "title_en": "Which factor matters most if [X]?",
        "title_ru": "Какой фактор важнее всего, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QCAU",
        "set_id": "QCAU",
        "formulas": [
          "Which factor matters most if [the team needs another day to decide]?",
          "Welcher Faktor ist am wichtigsten, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCAU011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/which-factor-matters-most-if-the-team-needs-qstqcau011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcau011.json"
      },
      {
        "id": "QSTQCAU021",
        "title_en": "How did it happen that [X]?",
        "title_ru": "Как получилось, что …?",
        "description_en": "A reusable frame from “Cause and reason questions”. Trace a result back to its likely cause.",
        "description_ru": "Каркас из раздела «Вопросы о причине». Прослеживайте результат до вероятной причины.",
        "group_id": "QCAU",
        "set_id": "QCAU",
        "formulas": [
          "How did it happen that [the team needs another day to decide]?",
          "Wie kam es dazu, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCAU021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-did-it-happen-that-the-team-needs-another-qstqcau021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcau021.json"
      },
      {
        "id": "QSTQCAU031",
        "title_en": "What consequence follows from the fact that [X]?",
        "title_ru": "Какое следствие возникает из того, что …?",
        "description_en": "Makes a cause-and-effect link explicit so the reasoning is easier to inspect.",
        "description_ru": "Делает связь причины и следствия явной, чтобы ход рассуждения было легче проверить.",
        "group_id": "QCAU",
        "set_id": "QCAU",
        "formulas": [
          "What consequence follows from the fact that [the team needs another day to decide]?",
          "Welche Folge ergibt sich daraus, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCAU031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-consequence-follows-from-the-fact-that-the-qstqcau031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcau031.json"
      },
      {
        "id": "QSTQPUR001",
        "title_en": "What would be the purpose if [X]?",
        "title_ru": "Какова была бы цель, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QPUR",
        "set_id": "QPUR",
        "formulas": [
          "What would be the purpose if [the team needs another day to decide]?",
          "Welchen Zweck hätte es, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPUR001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-would-be-the-purpose-if-the-team-needs-qstqpur001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpur001.json"
      },
      {
        "id": "QSTQPUR011",
        "title_en": "Why might we want to know whether [X]?",
        "title_ru": "Почему нам может быть важно знать, …?",
        "description_en": "A reusable frame from “Purpose questions”. Ask what an action is meant to achieve.",
        "description_ru": "Каркас из раздела «Вопросы о цели». Спрашивайте, какой цели служит действие.",
        "group_id": "QPUR",
        "set_id": "QPUR",
        "formulas": [
          "Why might we want to know whether [the team needs another day to decide]?",
          "Warum könnten wir wissen wollen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPUR011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/why-might-we-want-to-know-whether-the-team-needs-qstqpur011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpur011.json"
      },
      {
        "id": "QSTQPUR021",
        "title_en": "How would the goal change if [X]?",
        "title_ru": "Как изменилась бы цель, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QPUR",
        "set_id": "QPUR",
        "formulas": [
          "How would the goal change if [the team needs another day to decide]?",
          "Wie würde sich das Ziel ändern, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPUR021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-would-the-goal-change-if-the-team-needs-qstqpur021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpur021.json"
      },
      {
        "id": "QSTQPUR031",
        "title_en": "What are we trying to achieve if [X]?",
        "title_ru": "Чего мы пытаемся добиться, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QPUR",
        "set_id": "QPUR",
        "formulas": [
          "What are we trying to achieve if [the team needs another day to decide]?",
          "Was wollen wir erreichen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPUR031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-are-we-trying-to-achieve-if-the-team-needs-qstqpur031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpur031.json"
      },
      {
        "id": "QSTQTM001",
        "title_en": "When will we know whether [X]?",
        "title_ru": "Когда мы узнаем, …?",
        "description_en": "A reusable frame from “Time questions”. Place an action, answer or decision on a timeline.",
        "description_ru": "Каркас из раздела «Вопросы о времени». Помещайте действие, ответ или решение во временную шкалу.",
        "group_id": "QTM",
        "set_id": "QTM",
        "formulas": [
          "When will we know whether [the team needs another day to decide]?",
          "Wann werden wir wissen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQTM001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/when-will-we-know-whether-the-team-needs-another-qstqtm001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqtm001.json"
      },
      {
        "id": "QSTQTM011",
        "title_en": "How long will it take before we know if [X]?",
        "title_ru": "Сколько времени понадобится, прежде чем мы узнаем, …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QTM",
        "set_id": "QTM",
        "formulas": [
          "How long will it take before we know if [the team needs another day to decide]?",
          "Wie lange wird es dauern, bis wir wissen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQTM011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-long-will-it-take-before-we-know-if-the-team-qstqtm011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqtm011.json"
      },
      {
        "id": "QSTQTM021",
        "title_en": "At what point should we ask whether [X]?",
        "title_ru": "В какой момент нам следует спросить, …?",
        "description_en": "A reusable frame from “Time questions”. Place an action, answer or decision on a timeline.",
        "description_ru": "Каркас из раздела «Вопросы о времени». Помещайте действие, ответ или решение во временную шкалу.",
        "group_id": "QTM",
        "set_id": "QTM",
        "formulas": [
          "At what point should we ask whether [the team needs another day to decide]?",
          "Zu welchem Zeitpunkt sollten wir fragen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQTM021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/at-what-point-should-we-ask-whether-the-team-qstqtm021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqtm021.json"
      },
      {
        "id": "QSTQTM031",
        "title_en": "By when must we decide if [X]?",
        "title_ru": "До какого срока нам нужно решить, …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QTM",
        "set_id": "QTM",
        "formulas": [
          "By when must we decide if [the team needs another day to decide]?",
          "Bis wann müssen wir entscheiden, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQTM031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/by-when-must-we-decide-if-the-team-needs-another-qstqtm031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqtm031.json"
      },
      {
        "id": "QSTQPLC001",
        "title_en": "Where should we discuss whether [X]?",
        "title_ru": "Где нам обсудить, …?",
        "description_en": "A reusable frame from “Place and setting questions”. Choose the right place or setting for the next step.",
        "description_ru": "Каркас из раздела «Вопросы о месте и формате». Выбирайте место или формат для следующего шага.",
        "group_id": "QPLC",
        "set_id": "QPLC",
        "formulas": [
          "Where should we discuss whether [the team needs another day to decide]?",
          "Wo sollten wir besprechen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPLC001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/where-should-we-discuss-whether-the-team-needs-qstqplc001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqplc001.json"
      },
      {
        "id": "QSTQPLC011",
        "title_en": "Which setting would be best if [X]?",
        "title_ru": "Какой формат был бы лучшим, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QPLC",
        "set_id": "QPLC",
        "formulas": [
          "Which setting would be best if [the team needs another day to decide]?",
          "Welcher Rahmen wäre am besten, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPLC011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/which-setting-would-be-best-if-the-team-needs-qstqplc011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqplc011.json"
      },
      {
        "id": "QSTQPLC021",
        "title_en": "Where can we find out whether [X]?",
        "title_ru": "Где мы можем выяснить, …?",
        "description_en": "A reusable frame from “Place and setting questions”. Choose the right place or setting for the next step.",
        "description_ru": "Каркас из раздела «Вопросы о месте и формате». Выбирайте место или формат для следующего шага.",
        "group_id": "QPLC",
        "set_id": "QPLC",
        "formulas": [
          "Where can we find out whether [the team needs another day to decide]?",
          "Wo können wir herausfinden, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPLC021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/where-can-we-find-out-whether-the-team-needs-qstqplc021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqplc021.json"
      },
      {
        "id": "QSTQPLC031",
        "title_en": "In which meeting should we clarify why [X]?",
        "title_ru": "На какой встрече нам следует прояснить, почему …?",
        "description_en": "A reusable frame from “Place and setting questions”. Choose the right place or setting for the next step.",
        "description_ru": "Каркас из раздела «Вопросы о месте и формате». Выбирайте место или формат для следующего шага.",
        "group_id": "QPLC",
        "set_id": "QPLC",
        "formulas": [
          "In which meeting should we clarify why [the team needs another day to decide]?",
          "In welcher Sitzung sollten wir klären, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPLC031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/in-which-meeting-should-we-clarify-why-the-team-qstqplc031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqplc031.json"
      },
      {
        "id": "QSTQPRS001",
        "title_en": "Who can explain why [X]?",
        "title_ru": "Кто может объяснить, почему …?",
        "description_en": "A reusable frame from “People and responsibility questions”. Identify who can act, decide or approve.",
        "description_ru": "Каркас из раздела «Вопросы о людях и ответственности». Определяйте, кто может действовать, решать или утверждать.",
        "group_id": "QPRS",
        "set_id": "QPRS",
        "formulas": [
          "Who can explain why [the team needs another day to decide]?",
          "Wer kann erklären, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRS001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-can-explain-why-the-team-needs-another-day-qstqprs001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqprs001.json"
      },
      {
        "id": "QSTQPRS011",
        "title_en": "Whom should we ask whether [X]?",
        "title_ru": "Кого нам следует спросить, …?",
        "description_en": "A reusable frame from “People and responsibility questions”. Identify who can act, decide or approve.",
        "description_ru": "Каркас из раздела «Вопросы о людях и ответственности». Определяйте, кто может действовать, решать или утверждать.",
        "group_id": "QPRS",
        "set_id": "QPRS",
        "formulas": [
          "Whom should we ask whether [the team needs another day to decide]?",
          "Wen sollten wir fragen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRS011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/whom-should-we-ask-whether-the-team-needs-qstqprs011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqprs011.json"
      },
      {
        "id": "QSTQPRS021",
        "title_en": "Who would decide if [X]?",
        "title_ru": "Кто бы решал, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QPRS",
        "set_id": "QPRS",
        "formulas": [
          "Who would decide if [the team needs another day to decide]?",
          "Wer würde entscheiden, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRS021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-would-decide-if-the-team-needs-another-day-qstqprs021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqprs021.json"
      },
      {
        "id": "QSTQPRS031",
        "title_en": "Whose approval would we need if [X]?",
        "title_ru": "Чьё одобрение нам понадобилось бы, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QPRS",
        "set_id": "QPRS",
        "formulas": [
          "Whose approval would we need if [the team needs another day to decide]?",
          "Wessen Zustimmung bräuchten wir, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRS031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/whose-approval-would-we-need-if-the-team-needs-qstqprs031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqprs031.json"
      },
      {
        "id": "QSTQQNT001",
        "title_en": "How much would change if [X]?",
        "title_ru": "Насколько многое изменилось бы, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QQNT",
        "set_id": "QQNT",
        "formulas": [
          "How much would change if [the team needs another day to decide]?",
          "Wie viel würde sich ändern, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQQNT001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-much-would-change-if-the-team-needs-another-qstqqnt001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqqnt001.json"
      },
      {
        "id": "QSTQQNT011",
        "title_en": "How many people would be affected if [X]?",
        "title_ru": "Сколько людей это затронуло бы, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QQNT",
        "set_id": "QQNT",
        "formulas": [
          "How many people would be affected if [the team needs another day to decide]?",
          "Wie viele Menschen wären betroffen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQQNT011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-many-people-would-be-affected-if-the-team-qstqqnt011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqqnt011.json"
      },
      {
        "id": "QSTQQNT021",
        "title_en": "To what degree is it likely that [X]?",
        "title_ru": "В какой степени вероятно, что …?",
        "description_en": "A reusable frame from “Quantity and degree questions”. Ask about scale, frequency and intensity.",
        "description_ru": "Каркас из раздела «Вопросы о количестве и степени». Спрашивайте о масштабе, частоте и степени.",
        "group_id": "QQNT",
        "set_id": "QQNT",
        "formulas": [
          "To what degree is it likely that [the team needs another day to decide]?",
          "In welchem Maß ist es wahrscheinlich, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQQNT021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-what-degree-is-it-likely-that-the-team-needs-qstqqnt021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqqnt021.json"
      },
      {
        "id": "QSTQQNT031",
        "title_en": "How often should we check whether [X]?",
        "title_ru": "Как часто нам следует проверять, …?",
        "description_en": "A reusable frame from “Quantity and degree questions”. Ask about scale, frequency and intensity.",
        "description_ru": "Каркас из раздела «Вопросы о количестве и степени». Спрашивайте о масштабе, частоте и степени.",
        "group_id": "QQNT",
        "set_id": "QQNT",
        "formulas": [
          "How often should we check whether [the team needs another day to decide]?",
          "Wie oft sollten wir prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQQNT031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-often-should-we-check-whether-the-team-needs-qstqqnt031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqqnt031.json"
      },
      {
        "id": "QSTQCMP001",
        "title_en": "Would it be better if [X]?",
        "title_ru": "Было бы лучше, если …?",
        "description_en": "Compares alternatives against an explicit criterion instead of simply declaring one better.",
        "description_ru": "Помогает сопоставить варианты по явному критерию, а не просто объявить один из них лучше.",
        "group_id": "QCMP",
        "set_id": "QCMP",
        "formulas": [
          "Would it be better if [the team needs another day to decide]?",
          "Wäre es besser, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCMP001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-it-be-better-if-the-team-needs-another-day-qstqcmp001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcmp001.json"
      },
      {
        "id": "QSTQCMP011",
        "title_en": "Which option is stronger if [X]?",
        "title_ru": "Какой вариант лучше, если …?",
        "description_en": "Compares alternatives against an explicit criterion instead of simply declaring one better.",
        "description_ru": "Помогает сопоставить варианты по явному критерию, а не просто объявить один из них лучше.",
        "group_id": "QCMP",
        "set_id": "QCMP",
        "formulas": [
          "Which option is stronger if [the team needs another day to decide]?",
          "Welche Option ist besser, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCMP011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/which-option-is-stronger-if-the-team-needs-qstqcmp011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcmp011.json"
      },
      {
        "id": "QSTQCMP021",
        "title_en": "How does the outcome compare if [X]?",
        "title_ru": "Как соотносится результат, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QCMP",
        "set_id": "QCMP",
        "formulas": [
          "How does the outcome compare if [the team needs another day to decide]?",
          "Wie fällt das Ergebnis im Vergleich aus, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCMP021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-does-the-outcome-compare-if-the-team-needs-qstqcmp021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcmp021.json"
      },
      {
        "id": "QSTQCMP031",
        "title_en": "Is the alternative safer if [X]?",
        "title_ru": "Альтернатива безопаснее, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QCMP",
        "set_id": "QCMP",
        "formulas": [
          "Is the alternative safer if [the team needs another day to decide]?",
          "Ist die Alternative sicherer, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQCMP031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/is-the-alternative-safer-if-the-team-needs-qstqcmp031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqcmp031.json"
      },
      {
        "id": "QSTQHYP001",
        "title_en": "What would happen if [X]?",
        "title_ru": "Что произошло бы, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QHYP",
        "set_id": "QHYP",
        "formulas": [
          "What would happen if [the team needs another day to decide]?",
          "Was würde passieren, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQHYP001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-would-happen-if-the-team-needs-another-day-qstqhyp001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqhyp001.json"
      },
      {
        "id": "QSTQHYP011",
        "title_en": "How would we respond if [X]?",
        "title_ru": "Как бы мы отреагировали, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QHYP",
        "set_id": "QHYP",
        "formulas": [
          "How would we respond if [the team needs another day to decide]?",
          "Wie würden wir reagieren, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQHYP011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-would-we-respond-if-the-team-needs-another-qstqhyp011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqhyp011.json"
      },
      {
        "id": "QSTQHYP021",
        "title_en": "Which assumption would fail if [X]?",
        "title_ru": "Какое предположение перестало бы работать, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QHYP",
        "set_id": "QHYP",
        "formulas": [
          "Which assumption would fail if [the team needs another day to decide]?",
          "Welche Annahme würde nicht mehr gelten, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQHYP021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/which-assumption-would-fail-if-the-team-needs-qstqhyp021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqhyp021.json"
      },
      {
        "id": "QSTQHYP031",
        "title_en": "What might have changed if [X]?",
        "title_ru": "Что могло бы измениться, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QHYP",
        "set_id": "QHYP",
        "formulas": [
          "What might have changed if [the team needs another day to decide]?",
          "Was hätte sich ändern können, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQHYP031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-might-have-changed-if-the-team-needs-qstqhyp031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqhyp031.json"
      },
      {
        "id": "QSTQPRB001",
        "title_en": "How likely is it that [X]?",
        "title_ru": "Насколько вероятно, что …?",
        "description_en": "Expresses likelihood and uncertainty without pretending to have more precision than the evidence supports.",
        "description_ru": "Позволяет говорить о вероятности и неопределённости без ложной точности.",
        "group_id": "QPRB",
        "set_id": "QPRB",
        "formulas": [
          "How likely is it that [the team needs another day to decide]?",
          "Wie wahrscheinlich ist es, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRB001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-likely-is-it-that-the-team-needs-another-day-qstqprb001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqprb001.json"
      },
      {
        "id": "QSTQPRB011",
        "title_en": "What makes it probable that [X]?",
        "title_ru": "Что делает вероятным, что …?",
        "description_en": "Expresses likelihood and uncertainty without pretending to have more precision than the evidence supports.",
        "description_ru": "Позволяет говорить о вероятности и неопределённости без ложной точности.",
        "group_id": "QPRB",
        "set_id": "QPRB",
        "formulas": [
          "What makes it probable that [the team needs another day to decide]?",
          "Was macht es wahrscheinlich, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRB011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-makes-it-probable-that-the-team-needs-qstqprb011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqprb011.json"
      },
      {
        "id": "QSTQPRB021",
        "title_en": "Could it still be possible that [X]?",
        "title_ru": "Может ли всё ещё быть возможным, что …?",
        "description_en": "Expresses likelihood and uncertainty without pretending to have more precision than the evidence supports.",
        "description_ru": "Позволяет говорить о вероятности и неопределённости без ложной точности.",
        "group_id": "QPRB",
        "set_id": "QPRB",
        "formulas": [
          "Could it still be possible that [the team needs another day to decide]?",
          "Könnte es dennoch möglich sein, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRB021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-it-still-be-possible-that-the-team-needs-qstqprb021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqprb021.json"
      },
      {
        "id": "QSTQPRB031",
        "title_en": "Which sign would suggest that [X]?",
        "title_ru": "Какой признак указал бы на то, что …?",
        "description_en": "A reusable frame from “Probability questions”. Ask about likelihood without claiming certainty.",
        "description_ru": "Каркас из раздела «Вопросы о вероятности». Спрашивайте о вероятности без ложной уверенности.",
        "group_id": "QPRB",
        "set_id": "QPRB",
        "formulas": [
          "Which sign would suggest that [the team needs another day to decide]?",
          "Welches Zeichen würde darauf hindeuten, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPRB031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/which-sign-would-suggest-that-the-team-needs-qstqprb031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqprb031.json"
      },
      {
        "id": "QSTQPOL001",
        "title_en": "Could you let us know whether [X]?",
        "title_ru": "Не могли бы вы сообщить нам, …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QPOL",
        "set_id": "QPOL",
        "formulas": [
          "Could you let us know whether [the team needs another day to decide]?",
          "Könnten Sie uns wissen lassen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPOL001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-you-let-us-know-whether-the-team-needs-qstqpol001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpol001.json"
      },
      {
        "id": "QSTQPOL011",
        "title_en": "Would you be able to explain why [X]?",
        "title_ru": "Вы могли бы объяснить, почему …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QPOL",
        "set_id": "QPOL",
        "formulas": [
          "Would you be able to explain why [the team needs another day to decide]?",
          "Wären Sie in der Lage zu erklären, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPOL011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-you-be-able-to-explain-why-the-team-needs-qstqpol011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpol011.json"
      },
      {
        "id": "QSTQPOL021",
        "title_en": "Would you mind telling us whether [X]?",
        "title_ru": "Не могли бы вы сказать нам, …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "QPOL",
        "set_id": "QPOL",
        "formulas": [
          "Would you mind telling us whether [the team needs another day to decide]?",
          "Würden Sie uns bitte sagen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPOL021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-you-mind-telling-us-whether-the-team-needs-qstqpol021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpol021.json"
      },
      {
        "id": "QSTQPOL031",
        "title_en": "Could we ask you to confirm that [X]?",
        "title_ru": "Можем ли мы попросить вас подтвердить, что …?",
        "description_en": "A reusable frame from “Polite request questions”. Ask for help, information or action tactfully.",
        "description_ru": "Каркас из раздела «Вежливые вопросы-просьбы». Тактично просите о помощи, информации или действии.",
        "group_id": "QPOL",
        "set_id": "QPOL",
        "formulas": [
          "Could we ask you to confirm that [the team needs another day to decide]?",
          "Könnten wir Sie bitten zu bestätigen, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQPOL031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-we-ask-you-to-confirm-that-the-team-needs-qstqpol031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqpol031.json"
      },
      {
        "id": "QSTQWRK001",
        "title_en": "Could you confirm by Friday whether [X]?",
        "title_ru": "Не могли бы вы подтвердить до пятницы, …?",
        "description_en": "Organises professional communication around a next action, deadline, or clarification.",
        "description_ru": "Организует рабочую коммуникацию вокруг следующего действия, срока или нужного уточнения.",
        "group_id": "QWRK",
        "set_id": "QWRK",
        "formulas": [
          "Could you confirm by Friday whether [the team needs another day to decide]?",
          "Könnten Sie bis Freitag bestätigen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQWRK001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-you-confirm-by-friday-whether-the-team-qstqwrk001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqwrk001.json"
      },
      {
        "id": "QSTQWRK011",
        "title_en": "Who should we contact if [X]?",
        "title_ru": "С кем нам связаться, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QWRK",
        "set_id": "QWRK",
        "formulas": [
          "Who should we contact if [the team needs another day to decide]?",
          "Wen sollten wir kontaktieren, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQWRK011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-should-we-contact-if-the-team-needs-another-qstqwrk011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqwrk011.json"
      },
      {
        "id": "QSTQWRK021",
        "title_en": "How should the team proceed if [X]?",
        "title_ru": "Как команде следует действовать, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QWRK",
        "set_id": "QWRK",
        "formulas": [
          "How should the team proceed if [the team needs another day to decide]?",
          "Wie sollte das Team vorgehen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQWRK021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-should-the-team-proceed-if-the-team-needs-qstqwrk021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqwrk021.json"
      },
      {
        "id": "QSTQWRK031",
        "title_en": "Can we agree on what to do if [X]?",
        "title_ru": "Можем ли мы договориться, что делать, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QWRK",
        "set_id": "QWRK",
        "formulas": [
          "Can we agree on what to do if [the team needs another day to decide]?",
          "Können wir uns darauf einigen, was zu tun ist, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQWRK031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/can-we-agree-on-what-to-do-if-the-team-needs-qstqwrk031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqwrk031.json"
      },
      {
        "id": "QSTQACA001",
        "title_en": "What evidence would show that [X]?",
        "title_ru": "Какие данные показали бы, что …?",
        "description_en": "Connects a claim to evidence and helps keep observation separate from inference.",
        "description_ru": "Связывает утверждение с данными и помогает отделить наблюдение от вывода.",
        "group_id": "QACA",
        "set_id": "QACA",
        "formulas": [
          "What evidence would show that [the team needs another day to decide]?",
          "Welche Belege würden zeigen, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQACA001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-evidence-would-show-that-the-team-needs-qstqaca001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqaca001.json"
      },
      {
        "id": "QSTQACA011",
        "title_en": "How could we test whether [X]?",
        "title_ru": "Как мы могли бы проверить, …?",
        "description_en": "A reusable frame from “Academic and research questions”. Turn evidence and uncertainty into researchable questions.",
        "description_ru": "Каркас из раздела «Академические и исследовательские вопросы». Превращайте данные и неопределённость в исследовательские вопросы.",
        "group_id": "QACA",
        "set_id": "QACA",
        "formulas": [
          "How could we test whether [the team needs another day to decide]?",
          "Wie könnten wir prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQACA011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-could-we-test-whether-the-team-needs-another-qstqaca011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqaca011.json"
      },
      {
        "id": "QSTQACA021",
        "title_en": "Which question would help explain why [X]?",
        "title_ru": "Какой вопрос помог бы объяснить, почему …?",
        "description_en": "A reusable frame from “Academic and research questions”. Turn evidence and uncertainty into researchable questions.",
        "description_ru": "Каркас из раздела «Академические и исследовательские вопросы». Превращайте данные и неопределённость в исследовательские вопросы.",
        "group_id": "QACA",
        "set_id": "QACA",
        "formulas": [
          "Which question would help explain why [the team needs another day to decide]?",
          "Welche Frage würde helfen zu erklären, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQACA021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/which-question-would-help-explain-why-the-team-qstqaca021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqaca021.json"
      },
      {
        "id": "QSTQACA031",
        "title_en": "What data would we need to decide if [X]?",
        "title_ru": "Какие данные нужны, чтобы решить, …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QACA",
        "set_id": "QACA",
        "formulas": [
          "What data would we need to decide if [the team needs another day to decide]?",
          "Welche Daten bräuchten wir, um zu entscheiden, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQACA031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-data-would-we-need-to-decide-if-the-team-qstqaca031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqaca031.json"
      },
      {
        "id": "QSTQDEC001",
        "title_en": "What decision would be appropriate if [X]?",
        "title_ru": "Какое решение было бы уместно, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QDEC",
        "set_id": "QDEC",
        "formulas": [
          "What decision would be appropriate if [the team needs another day to decide]?",
          "Welche Entscheidung wäre angemessen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQDEC001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-decision-would-be-appropriate-if-the-team-qstqdec001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqdec001.json"
      },
      {
        "id": "QSTQDEC011",
        "title_en": "Which option should we choose if [X]?",
        "title_ru": "Какой вариант нам выбрать, если …?",
        "description_en": "Compares alternatives against an explicit criterion instead of simply declaring one better.",
        "description_ru": "Помогает сопоставить варианты по явному критерию, а не просто объявить один из них лучше.",
        "group_id": "QDEC",
        "set_id": "QDEC",
        "formulas": [
          "Which option should we choose if [the team needs another day to decide]?",
          "Welche Option sollten wir wählen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQDEC011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/which-option-should-we-choose-if-the-team-needs-qstqdec011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqdec011.json"
      },
      {
        "id": "QSTQDEC021",
        "title_en": "How should we proceed if [X]?",
        "title_ru": "Как нам следует действовать, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QDEC",
        "set_id": "QDEC",
        "formulas": [
          "How should we proceed if [the team needs another day to decide]?",
          "Wie sollten wir vorgehen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQDEC021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-should-we-proceed-if-the-team-needs-another-qstqdec021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqdec021.json"
      },
      {
        "id": "QSTQDEC031",
        "title_en": "What would make it reasonable to act if [X]?",
        "title_ru": "Что сделало бы действие разумным, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QDEC",
        "set_id": "QDEC",
        "formulas": [
          "What would make it reasonable to act if [the team needs another day to decide]?",
          "Was würde es sinnvoll machen, zu handeln, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQDEC031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-would-make-it-reasonable-to-act-if-the-team-qstqdec031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqdec031.json"
      },
      {
        "id": "QSTQNGT001",
        "title_en": "How could we proceed if [X]?",
        "title_ru": "Как мы могли бы действовать, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QNGT",
        "set_id": "QNGT",
        "formulas": [
          "How could we proceed if [the team needs another day to decide]?",
          "Wie könnten wir vorgehen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQNGT001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-could-we-proceed-if-the-team-needs-another-qstqngt001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqngt001.json"
      },
      {
        "id": "QSTQNGT011",
        "title_en": "What concession would be possible if [X]?",
        "title_ru": "Какая уступка была бы возможна, если …?",
        "description_en": "Creates room for a workable compromise by making the negotiable condition explicit.",
        "description_ru": "Открывает пространство для компромисса и формулирует условие, вокруг которого можно договариваться.",
        "group_id": "QNGT",
        "set_id": "QNGT",
        "formulas": [
          "What concession would be possible if [the team needs another day to decide]?",
          "Welche Zugeständnisse wären möglich, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQNGT011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-concession-would-be-possible-if-the-team-qstqngt011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqngt011.json"
      },
      {
        "id": "QSTQNGT021",
        "title_en": "Would it help to pause if [X]?",
        "title_ru": "Помогло бы сделать паузу, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QNGT",
        "set_id": "QNGT",
        "formulas": [
          "Would it help to pause if [the team needs another day to decide]?",
          "Würde es helfen zu pausieren, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQNGT021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-it-help-to-pause-if-the-team-needs-another-qstqngt021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqngt021.json"
      },
      {
        "id": "QSTQNGT031",
        "title_en": "Which compromise could work if [X]?",
        "title_ru": "Какой компромисс мог бы сработать, если …?",
        "description_en": "Creates room for a workable compromise by making the negotiable condition explicit.",
        "description_ru": "Открывает пространство для компромисса и формулирует условие, вокруг которого можно договариваться.",
        "group_id": "QNGT",
        "set_id": "QNGT",
        "formulas": [
          "Which compromise could work if [the team needs another day to decide]?",
          "Welcher Kompromiss könnte funktionieren, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQNGT031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/which-compromise-could-work-if-the-team-needs-qstqngt031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqngt031.json"
      },
      {
        "id": "QSTQREP001",
        "title_en": "Did she ask whether [X]?",
        "title_ru": "Она спросила, …?",
        "description_en": "Reports someone else's position or question while keeping the source distinct from the current speaker.",
        "description_ru": "Передаёт чужую позицию или вопрос, сохраняя дистанцию между источником сообщения и говорящим.",
        "group_id": "QREP",
        "set_id": "QREP",
        "formulas": [
          "Did she ask whether [the team needs another day to decide]?",
          "Hat sie gefragt, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQREP001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/did-she-ask-whether-the-team-needs-another-day-qstqrep001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqrep001.json"
      },
      {
        "id": "QSTQREP011",
        "title_en": "Who wanted to know why [X]?",
        "title_ru": "Кто хотел узнать, почему …?",
        "description_en": "A reusable frame from “Reported questions”. Report what was asked without losing the question's meaning.",
        "description_ru": "Каркас из раздела «Косвенная передача вопросов». Передавайте заданный вопрос, не теряя его смысла.",
        "group_id": "QREP",
        "set_id": "QREP",
        "formulas": [
          "Who wanted to know why [the team needs another day to decide]?",
          "Wer wollte wissen, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQREP011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-wanted-to-know-why-the-team-needs-another-qstqrep011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqrep011.json"
      },
      {
        "id": "QSTQREP021",
        "title_en": "How was the question of whether [X] raised?",
        "title_ru": "Как был поднят вопрос о том, …?",
        "description_en": "A reusable frame from “Reported questions”. Report what was asked without losing the question's meaning.",
        "description_ru": "Каркас из раздела «Косвенная передача вопросов». Передавайте заданный вопрос, не теряя его смысла.",
        "group_id": "QREP",
        "set_id": "QREP",
        "formulas": [
          "How was the question of whether [the team needs another day to decide] raised?",
          "Wie wurde die Frage aufgeworfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQREP021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-was-the-question-of-whether-the-team-needs-qstqrep021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqrep021.json"
      },
      {
        "id": "QSTQREP031",
        "title_en": "What should happen according to the report if [X]?",
        "title_ru": "Что, согласно отчёту, должно произойти, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QREP",
        "set_id": "QREP",
        "formulas": [
          "What should happen according to the report if [the team needs another day to decide]?",
          "Was sollte laut Bericht geschehen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQREP031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-should-happen-according-to-the-report-if-qstqrep031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqrep031.json"
      },
      {
        "id": "QSTQDIS001",
        "title_en": "Before we continue, can we clarify whether [X]?",
        "title_ru": "Прежде чем продолжить, можем ли мы прояснить, …?",
        "description_en": "Pauses the discussion at an important uncertainty and resolves it before the conversation moves on.",
        "description_ru": "Помогает остановить обсуждение на важной неопределённости и прояснить её до следующего шага.",
        "group_id": "QDIS",
        "set_id": "QDIS",
        "formulas": [
          "Before we continue, can we clarify whether [the team needs another day to decide]?",
          "Bevor wir fortfahren, können wir klären, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQDIS001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/before-we-continue-can-we-clarify-whether-the-qstqdis001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqdis001.json"
      },
      {
        "id": "QSTQDIS011",
        "title_en": "Could we return to why [X]?",
        "title_ru": "Можем ли мы вернуться к тому, почему …?",
        "description_en": "A reusable frame from “Discourse-management questions”. Use questions to steer a conversation with care.",
        "description_ru": "Каркас из раздела «Вопросы для управления разговором». Используйте вопросы, чтобы бережно направлять разговор.",
        "group_id": "QDIS",
        "set_id": "QDIS",
        "formulas": [
          "Could we return to why [the team needs another day to decide]?",
          "Können wir darauf zurückkommen, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQDIS011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-we-return-to-why-the-team-needs-another-qstqdis011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqdis011.json"
      },
      {
        "id": "QSTQDIS021",
        "title_en": "What question should we ask next if [X]?",
        "title_ru": "Какой вопрос нам задать следующим, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QDIS",
        "set_id": "QDIS",
        "formulas": [
          "What question should we ask next if [the team needs another day to decide]?",
          "Welche Frage sollten wir als Nächstes stellen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQDIS021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-question-should-we-ask-next-if-the-team-qstqdis021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqdis021.json"
      },
      {
        "id": "QSTQDIS031",
        "title_en": "Is there anything else we need to know if [X]?",
        "title_ru": "Есть ли что-то ещё, что нам нужно знать, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QDIS",
        "set_id": "QDIS",
        "formulas": [
          "Is there anything else we need to know if [the team needs another day to decide]?",
          "Gibt es noch etwas, das wir wissen müssen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQDIS031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/is-there-anything-else-we-need-to-know-if-the-qstqdis031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqdis031.json"
      },
      {
        "id": "QSTQFRM001",
        "title_en": "Why did we not notice that [X]?",
        "title_ru": "Почему мы не заметили, что …?",
        "description_en": "A reusable frame from “Question forms and auxiliaries”. Control tense, auxiliary verbs and question formation.",
        "description_ru": "Каркас из раздела «Формы вопросов и вспомогательные глаголы». Управляйте временем, вспомогательными глаголами и построением вопроса.",
        "group_id": "QFRM",
        "set_id": "QFRM",
        "formulas": [
          "Why did we not notice that [the team needs another day to decide]?",
          "Warum haben wir nicht bemerkt, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQFRM001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/why-did-we-not-notice-that-the-team-needs-qstqfrm001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqfrm001.json"
      },
      {
        "id": "QSTQFRM011",
        "title_en": "Have we considered whether [X]?",
        "title_ru": "Мы рассмотрели, верно ли, что …?",
        "description_en": "A reusable frame from “Question forms and auxiliaries”. Control tense, auxiliary verbs and question formation.",
        "description_ru": "Каркас из раздела «Формы вопросов и вспомогательные глаголы». Управляйте временем, вспомогательными глаголами и построением вопроса.",
        "group_id": "QFRM",
        "set_id": "QFRM",
        "formulas": [
          "Have we considered whether [the team needs another day to decide]?",
          "Haben wir berücksichtigt, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQFRM011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/have-we-considered-whether-the-team-needs-qstqfrm011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqfrm011.json"
      },
      {
        "id": "QSTQFRM021",
        "title_en": "Does it mean that [X]?",
        "title_ru": "Означает ли это, что …?",
        "description_en": "A reusable frame from “Question forms and auxiliaries”. Control tense, auxiliary verbs and question formation.",
        "description_ru": "Каркас из раздела «Формы вопросов и вспомогательные глаголы». Управляйте временем, вспомогательными глаголами и построением вопроса.",
        "group_id": "QFRM",
        "set_id": "QFRM",
        "formulas": [
          "Does it mean that [the team needs another day to decide]?",
          "Bedeutet das, dass [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQFRM021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/does-it-mean-that-the-team-needs-another-day-to-qstqfrm021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqfrm021.json"
      },
      {
        "id": "QSTQFRM031",
        "title_en": "Will it matter if [X]?",
        "title_ru": "Будет ли это важно, если …?",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "QFRM",
        "set_id": "QFRM",
        "formulas": [
          "Will it matter if [the team needs another day to decide]?",
          "Wird es eine Rolle spielen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "QSTQFRM031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/will-it-matter-if-the-team-needs-another-day-to-qstqfrm031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/qstqfrm031.json"
      },
      {
        "id": "FUNPFR001",
        "title_en": "I would prefer it if [X]",
        "title_ru": "Я бы предпочёл(а), чтобы …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "PFR",
        "set_id": "PFR",
        "formulas": [
          "I would prefer it if [the team needs another day to decide].",
          "Ich würde es vorziehen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPFR001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-would-prefer-it-if-the-team-needs-another-day-funpfr001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpfr001.json"
      },
      {
        "id": "FUNPFR011",
        "title_en": "Rather than assume that [X], I would compare the options",
        "title_ru": "Вместо того чтобы предполагать, что …, я бы сравнил(а) варианты",
        "description_en": "A reusable frame from “Preferences and choices”. State a preference and weigh alternatives.",
        "description_ru": "Каркас из раздела «Предпочтения и выбор». Выражайте предпочтение и взвешивайте альтернативы.",
        "group_id": "PFR",
        "set_id": "PFR",
        "formulas": [
          "Rather than assume that [the team needs another day to decide], I would compare the options.",
          "Statt anzunehmen, dass [das Team einen weiteren Tag für die Entscheidung braucht], würde ich die Optionen vergleichen."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPFR011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/rather-than-assume-that-the-team-needs-another-funpfr011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpfr011.json"
      },
      {
        "id": "FUNPFR021",
        "title_en": "My preference would be to wait until we know whether [X]",
        "title_ru": "Я бы предпочёл(а) подождать, пока мы не узнаем, …",
        "description_en": "A reusable frame from “Preferences and choices”. State a preference and weigh alternatives.",
        "description_ru": "Каркас из раздела «Предпочтения и выбор». Выражайте предпочтение и взвешивайте альтернативы.",
        "group_id": "PFR",
        "set_id": "PFR",
        "formulas": [
          "My preference would be to wait until we know whether [the team needs another day to decide].",
          "Ich würde lieber warten, bis wir wissen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPFR021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/my-preference-would-be-to-wait-until-we-know-funpfr021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpfr021.json"
      },
      {
        "id": "FUNPFR031",
        "title_en": "Given that [X], the simpler option seems preferable",
        "title_ru": "Учитывая, что …, более простой вариант кажется предпочтительным",
        "description_en": "A reusable frame from “Preferences and choices”. State a preference and weigh alternatives.",
        "description_ru": "Каркас из раздела «Предпочтения и выбор». Выражайте предпочтение и взвешивайте альтернативы.",
        "group_id": "PFR",
        "set_id": "PFR",
        "formulas": [
          "Given that [the team needs another day to decide], the simpler option seems preferable.",
          "Da [das Team einen weiteren Tag für die Entscheidung braucht], erscheint die einfachere Option vorzugswürdig."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPFR031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/given-that-the-team-needs-another-day-to-decide-funpfr031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpfr031.json"
      },
      {
        "id": "FUNADV001",
        "title_en": "I would recommend checking whether [X]",
        "title_ru": "Я бы рекомендовал(а) проверить, …",
        "description_en": "Recommends checking a condition or fact before acting, with a softer tone than a direct instruction.",
        "description_ru": "Мягко предлагает сначала проверить условие или факт, а уже затем принимать решение. Звучит менее категорично, чем прямой совет.",
        "group_id": "ADV",
        "set_id": "ADV",
        "formulas": [
          "I would recommend checking whether [the team needs another day to decide].",
          "Ich würde empfehlen zu prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNADV001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-would-recommend-checking-whether-the-team-funadv001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funadv001.json"
      },
      {
        "id": "FUNADV011",
        "title_en": "It may be worth asking why [X]",
        "title_ru": "Возможно, стоит спросить, почему …",
        "description_en": "A reusable frame from “Advice and recommendations”. Recommend a next step without overstating certainty.",
        "description_ru": "Каркас из раздела «Советы и рекомендации». Рекомендуйте следующий шаг без излишней уверенности.",
        "group_id": "ADV",
        "set_id": "ADV",
        "formulas": [
          "It may be worth asking why [the team needs another day to decide].",
          "Es könnte sich lohnen zu fragen, warum [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNADV011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-may-be-worth-asking-why-the-team-needs-funadv011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funadv011.json"
      },
      {
        "id": "FUNADV021",
        "title_en": "One practical step would be to [X]",
        "title_ru": "Практический следующий шаг: предложить конкретное действие",
        "description_en": "A reusable frame from “Advice and recommendations”. Recommend a next step without overstating certainty.",
        "description_ru": "Каркас из раздела «Советы и рекомендации». Рекомендуйте следующий шаг без излишней уверенности.",
        "group_id": "ADV",
        "set_id": "ADV",
        "formulas": [
          "One practical step would be to [do X].",
          "Ein praktischer Schritt wäre, [X zu tun]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNADV021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/one-practical-step-would-be-to-confirm-that-the-funadv021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funadv021.json"
      },
      {
        "id": "FUNADV031",
        "title_en": "If [X], we should reconsider the timetable",
        "title_ru": "Если …, нам следует пересмотреть график",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "ADV",
        "set_id": "ADV",
        "formulas": [
          "If [the team needs another day to decide], we should reconsider the timetable.",
          "Wenn [das Team einen weiteren Tag für die Entscheidung braucht], sollten wir den Zeitplan überdenken."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNADV031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-the-team-needs-another-day-to-decide-we-funadv031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funadv031.json"
      },
      {
        "id": "FUNRQT001",
        "title_en": "Could you confirm whether [X]?",
        "title_ru": "Не могли бы вы подтвердить, …?",
        "description_en": "Politely asks someone to confirm a fact or condition, especially before a follow-up action.",
        "description_ru": "Вежливо просит подтвердить факт или условие. Подходит для рабочих уточнений и дальнейших действий.",
        "group_id": "RQT",
        "set_id": "RQT",
        "formulas": [
          "Could you confirm whether [the team needs another day to decide]?",
          "Könnten Sie bestätigen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNRQT001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-you-confirm-whether-the-team-needs-another-funrqt001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funrqt001.json"
      },
      {
        "id": "FUNRQT011",
        "title_en": "I would appreciate it if you could check whether [X]",
        "title_ru": "Я был(а) бы признателен(на), если бы вы могли проверить, …",
        "description_en": "A reusable frame from “Requests and follow-through”. Make a clear, workable request.",
        "description_ru": "Каркас из раздела «Просьбы и дальнейшие действия». Формулируйте ясную и выполнимую просьбу.",
        "group_id": "RQT",
        "set_id": "RQT",
        "formulas": [
          "I would appreciate it if you could check whether [the team needs another day to decide].",
          "Ich wäre Ihnen dankbar, wenn Sie prüfen könnten, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNRQT011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-would-appreciate-it-if-you-could-check-whether-funrqt011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funrqt011.json"
      },
      {
        "id": "FUNRQT021",
        "title_en": "Please let us know if [X]",
        "title_ru": "Пожалуйста, сообщите нам, если …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "RQT",
        "set_id": "RQT",
        "formulas": [
          "Please let us know if [the team needs another day to decide].",
          "Bitte lassen Sie uns wissen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNRQT021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/please-let-us-know-if-the-team-needs-another-day-funrqt021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funrqt021.json"
      },
      {
        "id": "FUNRQT031",
        "title_en": "Would it be possible to clarify why [X]?",
        "title_ru": "Можно ли прояснить, почему …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "RQT",
        "set_id": "RQT",
        "formulas": [
          "Would it be possible to clarify why [the team needs another day to decide]?",
          "Wäre es möglich zu klären, warum [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNRQT031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-it-be-possible-to-clarify-why-the-team-funrqt031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funrqt031.json"
      },
      {
        "id": "FUNOFR001",
        "title_en": "I can take responsibility if [X]",
        "title_ru": "Я могу взять ответственность, если …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "OFR",
        "set_id": "OFR",
        "formulas": [
          "I can take responsibility if [the team needs another day to decide].",
          "Ich kann die Verantwortung übernehmen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNOFR001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-can-take-responsibility-if-the-team-needs-funofr001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funofr001.json"
      },
      {
        "id": "FUNOFR011",
        "title_en": "We could help by checking whether [X]",
        "title_ru": "Мы могли бы помочь, проверив, …",
        "description_en": "A reusable frame from “Offers and support”. Offer a concrete contribution with an easy next step.",
        "description_ru": "Каркас из раздела «Предложения помощи». Предлагайте конкретную помощь с простым следующим шагом.",
        "group_id": "OFR",
        "set_id": "OFR",
        "formulas": [
          "We could help by checking whether [the team needs another day to decide].",
          "Wir könnten helfen, indem wir prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNOFR011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-could-help-by-checking-whether-the-team-needs-funofr011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funofr011.json"
      },
      {
        "id": "FUNOFR021",
        "title_en": "I would be happy to explain why [X]",
        "title_ru": "Я с радостью объясню, почему …",
        "description_en": "A reusable frame from “Offers and support”. Offer a concrete contribution with an easy next step.",
        "description_ru": "Каркас из раздела «Предложения помощи». Предлагайте конкретную помощь с простым следующим шагом.",
        "group_id": "OFR",
        "set_id": "OFR",
        "formulas": [
          "I would be happy to explain why [the team needs another day to decide].",
          "Ich würde gern erklären, warum [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNOFR021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-would-be-happy-to-explain-why-the-team-needs-funofr021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funofr021.json"
      },
      {
        "id": "FUNOFR031",
        "title_en": "If useful, we can prepare for the possibility that [X]",
        "title_ru": "Если это полезно, мы можем подготовиться к возможности, что …",
        "description_en": "A reusable frame from “Offers and support”. Offer a concrete contribution with an easy next step.",
        "description_ru": "Каркас из раздела «Предложения помощи». Предлагайте конкретную помощь с простым следующим шагом.",
        "group_id": "OFR",
        "set_id": "OFR",
        "formulas": [
          "If useful, we can prepare for the possibility that [the team needs another day to decide].",
          "Falls hilfreich, können wir uns auf die Möglichkeit vorbereiten, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNOFR031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-useful-we-can-prepare-for-the-possibility-funofr031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funofr031.json"
      },
      {
        "id": "FUNPRM001",
        "title_en": "You are welcome to proceed if [X]",
        "title_ru": "Вы можете продолжить, если …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "PRM",
        "set_id": "PRM",
        "formulas": [
          "You are welcome to proceed if [the team needs another day to decide].",
          "Sie können gern fortfahren, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRM001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/you-are-welcome-to-proceed-if-the-team-needs-funprm001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funprm001.json"
      },
      {
        "id": "FUNPRM011",
        "title_en": "We are not authorised to continue unless [X]",
        "title_ru": "Мы не уполномочены продолжать, если только не …",
        "description_en": "A reusable frame from “Permission and boundaries”. State what is allowed, required or out of scope.",
        "description_ru": "Каркас из раздела «Разрешение и границы». Обозначайте, что разрешено, требуется или выходит за рамки.",
        "group_id": "PRM",
        "set_id": "PRM",
        "formulas": [
          "We are not authorised to continue unless [the team needs another day to decide].",
          "Wir sind nicht befugt fortzufahren, sofern nicht [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRM011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-are-not-authorised-to-continue-unless-the-funprm011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funprm011.json"
      },
      {
        "id": "FUNPRM021",
        "title_en": "Permission should be sought before we assume that [X]",
        "title_ru": "Прежде чем предполагать, что …, следует получить разрешение",
        "description_en": "A reusable frame from “Permission and boundaries”. State what is allowed, required or out of scope.",
        "description_ru": "Каркас из раздела «Разрешение и границы». Обозначайте, что разрешено, требуется или выходит за рамки.",
        "group_id": "PRM",
        "set_id": "PRM",
        "formulas": [
          "Permission should be sought before we assume that [the team needs another day to decide].",
          "Bevor wir annehmen, dass [das Team einen weiteren Tag für die Entscheidung braucht], sollte eine Genehmigung eingeholt werden."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRM021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/permission-should-be-sought-before-we-assume-funprm021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funprm021.json"
      },
      {
        "id": "FUNPRM031",
        "title_en": "It is acceptable to pause if [X]",
        "title_ru": "Допустимо сделать паузу, если …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "PRM",
        "set_id": "PRM",
        "formulas": [
          "It is acceptable to pause if [the team needs another day to decide].",
          "Es ist vertretbar zu pausieren, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRM031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-is-acceptable-to-pause-if-the-team-needs-funprm031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funprm031.json"
      },
      {
        "id": "FUNCMT001",
        "title_en": "I will make sure that [X]",
        "title_ru": "Я позабочусь о том, чтобы …",
        "description_en": "A reusable frame from “Commitments and promises”. Make commitments that are specific and accountable.",
        "description_ru": "Каркас из раздела «Обязательства и обещания». Давайте конкретные и проверяемые обязательства.",
        "group_id": "CMT",
        "set_id": "CMT",
        "formulas": [
          "I will make sure that [the team needs another day to decide].",
          "Ich werde dafür sorgen, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNCMT001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-will-make-sure-that-the-team-needs-another-day-funcmt001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funcmt001.json"
      },
      {
        "id": "FUNCMT011",
        "title_en": "We commit to reviewing whether [X]",
        "title_ru": "Мы обязуемся проверить, …",
        "description_en": "A reusable frame from “Commitments and promises”. Make commitments that are specific and accountable.",
        "description_ru": "Каркас из раздела «Обязательства и обещания». Давайте конкретные и проверяемые обязательства.",
        "group_id": "CMT",
        "set_id": "CMT",
        "formulas": [
          "We commit to reviewing whether [the team needs another day to decide].",
          "Wir verpflichten uns zu prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNCMT011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-commit-to-reviewing-whether-the-team-needs-funcmt011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funcmt011.json"
      },
      {
        "id": "FUNCMT021",
        "title_en": "I can confirm that we will act if [X]",
        "title_ru": "Я могу подтвердить, что мы будем действовать, если …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "CMT",
        "set_id": "CMT",
        "formulas": [
          "I can confirm that we will act if [the team needs another day to decide].",
          "Ich kann bestätigen, dass wir handeln werden, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNCMT021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-can-confirm-that-we-will-act-if-the-team-needs-funcmt021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funcmt021.json"
      },
      {
        "id": "FUNCMT031",
        "title_en": "By Friday, we will know whether [X]",
        "title_ru": "К пятнице мы узнаем, …",
        "description_en": "Organises professional communication around a next action, deadline, or clarification.",
        "description_ru": "Организует рабочую коммуникацию вокруг следующего действия, срока или нужного уточнения.",
        "group_id": "CMT",
        "set_id": "CMT",
        "formulas": [
          "By Friday, we will know whether [the team needs another day to decide].",
          "Bis Freitag werden wir wissen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNCMT031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/by-friday-we-will-know-whether-the-team-needs-funcmt031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funcmt031.json"
      },
      {
        "id": "FUNPLN001",
        "title_en": "We should plan for the possibility that [X]",
        "title_ru": "Нам следует запланировать возможность, что …",
        "description_en": "A reusable frame from “Planning and scheduling”. Sequence actions and make the next step visible.",
        "description_ru": "Каркас из раздела «Планирование и расписание». Выстраивайте действия по порядку и делайте следующий шаг ясным.",
        "group_id": "PLN",
        "set_id": "PLN",
        "formulas": [
          "We should plan for the possibility that [the team needs another day to decide].",
          "Wir sollten die Möglichkeit einplanen, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPLN001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-should-plan-for-the-possibility-that-the-team-funpln001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpln001.json"
      },
      {
        "id": "FUNPLN011",
        "title_en": "The next step is to confirm whether [X]",
        "title_ru": "Следующий шаг — подтвердить, …",
        "description_en": "Organises professional communication around a next action, deadline, or clarification.",
        "description_ru": "Организует рабочую коммуникацию вокруг следующего действия, срока или нужного уточнения.",
        "group_id": "PLN",
        "set_id": "PLN",
        "formulas": [
          "The next step is to confirm whether [the team needs another day to decide].",
          "Der nächste Schritt ist zu bestätigen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPLN011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-next-step-is-to-confirm-whether-the-team-funpln011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpln011.json"
      },
      {
        "id": "FUNPLN021",
        "title_en": "Before we decide, we should establish whether [X]",
        "title_ru": "Прежде чем решать, нам следует выяснить, …",
        "description_en": "Organises professional communication around a next action, deadline, or clarification.",
        "description_ru": "Организует рабочую коммуникацию вокруг следующего действия, срока или нужного уточнения.",
        "group_id": "PLN",
        "set_id": "PLN",
        "formulas": [
          "Before we decide, we should establish whether [the team needs another day to decide].",
          "Bevor wir entscheiden, sollten wir klären, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPLN021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/before-we-decide-we-should-establish-whether-the-funpln021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpln021.json"
      },
      {
        "id": "FUNPLN031",
        "title_en": "Once we know whether [X], we can set a date",
        "title_ru": "Как только мы узнаем, …, мы сможем назначить дату",
        "description_en": "A reusable frame from “Planning and scheduling”. Sequence actions and make the next step visible.",
        "description_ru": "Каркас из раздела «Планирование и расписание». Выстраивайте действия по порядку и делайте следующий шаг ясным.",
        "group_id": "PLN",
        "set_id": "PLN",
        "formulas": [
          "Once we know whether [the team needs another day to decide], we can set a date.",
          "Sobald wir wissen, ob [das Team einen weiteren Tag für die Entscheidung braucht], können wir einen Termin festlegen."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPLN031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/once-we-know-whether-the-team-needs-another-day-funpln031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpln031.json"
      },
      {
        "id": "FUNPRI001",
        "title_en": "Given that [X], our priority should be to reduce uncertainty",
        "title_ru": "Учитывая, что …, нашим приоритетом должно быть снижение неопределённости",
        "description_en": "A reusable frame from “Priorities and trade-offs”. Name what matters most and what can wait.",
        "description_ru": "Каркас из раздела «Приоритеты и компромиссы». Обозначайте, что важнее всего и что может подождать.",
        "group_id": "PRI",
        "set_id": "PRI",
        "formulas": [
          "Given that [the team needs another day to decide], our priority should be to reduce uncertainty.",
          "Da [das Team einen weiteren Tag für die Entscheidung braucht], sollte unsere Priorität darin liegen, Unsicherheit zu verringern."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRI001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/given-that-the-team-needs-another-day-to-decide-funpri001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpri001.json"
      },
      {
        "id": "FUNPRI011",
        "title_en": "We need to decide whether [X] before we add new tasks",
        "title_ru": "Нам нужно решить, …, прежде чем добавлять новые задачи",
        "description_en": "A reusable frame from “Priorities and trade-offs”. Name what matters most and what can wait.",
        "description_ru": "Каркас из раздела «Приоритеты и компромиссы». Обозначайте, что важнее всего и что может подождать.",
        "group_id": "PRI",
        "set_id": "PRI",
        "formulas": [
          "We need to decide whether [the team needs another day to decide] before we add new tasks.",
          "Wir müssen entscheiden, ob [das Team einen weiteren Tag für die Entscheidung braucht], bevor wir neue Aufgaben hinzufügen."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRI011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-need-to-decide-whether-the-team-needs-another-funpri011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpri011.json"
      },
      {
        "id": "FUNPRI021",
        "title_en": "The most urgent question is whether [X]",
        "title_ru": "Самый срочный вопрос — …",
        "description_en": "A reusable frame from “Priorities and trade-offs”. Name what matters most and what can wait.",
        "description_ru": "Каркас из раздела «Приоритеты и компромиссы». Обозначайте, что важнее всего и что может подождать.",
        "group_id": "PRI",
        "set_id": "PRI",
        "formulas": [
          "The most urgent question is whether [the team needs another day to decide].",
          "Die dringendste Frage ist, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRI021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-most-urgent-question-is-whether-the-team-funpri021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpri021.json"
      },
      {
        "id": "FUNPRI031",
        "title_en": "Rather than trying to do everything, we should check whether [X]",
        "title_ru": "Вместо того чтобы пытаться сделать всё, нам следует проверить, …",
        "description_en": "A reusable frame from “Priorities and trade-offs”. Name what matters most and what can wait.",
        "description_ru": "Каркас из раздела «Приоритеты и компромиссы». Обозначайте, что важнее всего и что может подождать.",
        "group_id": "PRI",
        "set_id": "PRI",
        "formulas": [
          "Rather than trying to do everything, we should check whether [the team needs another day to decide].",
          "Statt alles zu versuchen, sollten wir prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRI031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/rather-than-trying-to-do-everything-we-should-funpri031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funpri031.json"
      },
      {
        "id": "FUNGOA001",
        "title_en": "Our aim is to ensure that [X]",
        "title_ru": "Наша цель — обеспечить, чтобы …",
        "description_en": "Makes the goal explicit and connects the discussion to the intended outcome.",
        "description_ru": "Делает цель явной и связывает обсуждение с ожидаемым результатом.",
        "group_id": "GOA",
        "set_id": "GOA",
        "formulas": [
          "Our aim is to ensure that [the team needs another day to decide].",
          "Unser Ziel ist es sicherzustellen, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNGOA001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/our-aim-is-to-ensure-that-the-team-needs-another-fungoa001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/fungoa001.json"
      },
      {
        "id": "FUNGOA011",
        "title_en": "The purpose is to find out whether [X]",
        "title_ru": "Цель состоит в том, чтобы выяснить, …",
        "description_en": "Makes the goal explicit and connects the discussion to the intended outcome.",
        "description_ru": "Делает цель явной и связывает обсуждение с ожидаемым результатом.",
        "group_id": "GOA",
        "set_id": "GOA",
        "formulas": [
          "The purpose is to find out whether [the team needs another day to decide].",
          "Der Zweck besteht darin herauszufinden, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNGOA011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-purpose-is-to-find-out-whether-the-team-fungoa011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/fungoa011.json"
      },
      {
        "id": "FUNGOA021",
        "title_en": "To make progress, we need to know why [X]",
        "title_ru": "Чтобы продвинуться, нам нужно знать, почему …",
        "description_en": "A reusable frame from “Goals and intentions”. Express what the work is meant to achieve.",
        "description_ru": "Каркас из раздела «Цели и намерения». Выражайте, какой цели должна служить работа.",
        "group_id": "GOA",
        "set_id": "GOA",
        "formulas": [
          "To make progress, we need to know why [the team needs another day to decide].",
          "Um Fortschritte zu machen, müssen wir wissen, warum [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNGOA021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-make-progress-we-need-to-know-why-the-team-fungoa021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/fungoa021.json"
      },
      {
        "id": "FUNGOA031",
        "title_en": "Success would mean that [X]",
        "title_ru": "Успех означал бы, что …",
        "description_en": "Makes the goal explicit and connects the discussion to the intended outcome.",
        "description_ru": "Делает цель явной и связывает обсуждение с ожидаемым результатом.",
        "group_id": "GOA",
        "set_id": "GOA",
        "formulas": [
          "Success would mean that [the team needs another day to decide].",
          "Erfolg würde bedeuten, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNGOA031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/success-would-mean-that-the-team-needs-another-fungoa031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/fungoa031.json"
      },
      {
        "id": "FUNCNS001",
        "title_en": "Even if [X], we should keep the main objective in view",
        "title_ru": "Даже если …, нам следует держать главную цель в поле зрения",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "CNS",
        "set_id": "CNS",
        "formulas": [
          "Even if [the team needs another day to decide], we should keep the main objective in view.",
          "Selbst wenn [das Team einen weiteren Tag für die Entscheidung braucht], sollten wir das Hauptziel im Blick behalten."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNCNS001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/even-if-the-team-needs-another-day-to-decide-we-funcns001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funcns001.json"
      },
      {
        "id": "FUNCNS011",
        "title_en": "Although [X], it would be premature to draw a conclusion",
        "title_ru": "Хотя …, было бы преждевременно делать вывод",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "CNS",
        "set_id": "CNS",
        "formulas": [
          "Although [the team needs another day to decide], it would be premature to draw a conclusion.",
          "Obwohl [das Team einen weiteren Tag für die Entscheidung braucht], wäre es verfrüht, eine Schlussfolgerung zu ziehen."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNCNS011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/although-the-team-needs-another-day-to-decide-it-funcns011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funcns011.json"
      },
      {
        "id": "FUNCNS021",
        "title_en": "That said, we still need to check whether [X]",
        "title_ru": "Тем не менее нам всё ещё нужно проверить, …",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "CNS",
        "set_id": "CNS",
        "formulas": [
          "That said, we still need to check whether [the team needs another day to decide].",
          "Das gesagt, müssen wir dennoch prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNCNS021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/that-said-we-still-need-to-check-whether-the-funcns021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funcns021.json"
      },
      {
        "id": "FUNCNS031",
        "title_en": "Despite the fact that [X], the core issue remains open",
        "title_ru": "Несмотря на то, что …, главный вопрос остаётся открытым",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "CNS",
        "set_id": "CNS",
        "formulas": [
          "Despite the fact that [the team needs another day to decide], the core issue remains open.",
          "Trotz der Tatsache, dass [das Team einen weiteren Tag für die Entscheidung braucht], bleibt die Kernfrage offen."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNCNS031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/despite-the-fact-that-the-team-needs-another-day-funcns031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funcns031.json"
      },
      {
        "id": "FUNEXM001",
        "title_en": "For example, we should ask whether [X]",
        "title_ru": "Например, нам следует спросить, …",
        "description_en": "Turns an abstract point into a concrete example that is easier to discuss and test.",
        "description_ru": "Переводит абстрактную мысль в конкретный пример, который легче обсудить и проверить.",
        "group_id": "EXM",
        "set_id": "EXM",
        "formulas": [
          "For example, we should ask whether [the team needs another day to decide].",
          "Zum Beispiel sollten wir fragen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNEXM001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/for-example-we-should-ask-whether-the-team-needs-funexm001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funexm001.json"
      },
      {
        "id": "FUNEXM011",
        "title_en": "One case is when [X]",
        "title_ru": "Один из случаев — когда …",
        "description_en": "Turns an abstract point into a concrete example that is easier to discuss and test.",
        "description_ru": "Переводит абстрактную мысль в конкретный пример, который легче обсудить и проверить.",
        "group_id": "EXM",
        "set_id": "EXM",
        "formulas": [
          "One case is when [the team needs another day to decide].",
          "Ein Fall liegt vor, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNEXM011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/one-case-is-when-the-team-needs-another-day-to-funexm011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funexm011.json"
      },
      {
        "id": "FUNEXM021",
        "title_en": "To illustrate the point, consider why [X]",
        "title_ru": "Чтобы проиллюстрировать мысль, рассмотрите, почему …",
        "description_en": "Turns an abstract point into a concrete example that is easier to discuss and test.",
        "description_ru": "Переводит абстрактную мысль в конкретный пример, который легче обсудить и проверить.",
        "group_id": "EXM",
        "set_id": "EXM",
        "formulas": [
          "To illustrate the point, consider why [the team needs another day to decide].",
          "Um den Punkt zu veranschaulichen, betrachten Sie, warum [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNEXM021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-illustrate-the-point-consider-why-the-team-funexm021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funexm021.json"
      },
      {
        "id": "FUNEXM031",
        "title_en": "A specific example would be if [X]",
        "title_ru": "Конкретным примером было бы, если …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "EXM",
        "set_id": "EXM",
        "formulas": [
          "A specific example would be if [the team needs another day to decide].",
          "Ein konkretes Beispiel wäre, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNEXM031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-specific-example-would-be-if-the-team-needs-funexm031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funexm031.json"
      },
      {
        "id": "FUNSUM001",
        "title_en": "To sum up, we still need to establish whether [X]",
        "title_ru": "Подводя итог, нам всё ещё нужно выяснить, …",
        "description_en": "Brings several points together into a proportionate conclusion.",
        "description_ru": "Сводит несколько пунктов к аккуратному выводу без лишнего усиления.",
        "group_id": "SUM",
        "set_id": "SUM",
        "formulas": [
          "To sum up, we still need to establish whether [the team needs another day to decide].",
          "Zusammenfassend müssen wir noch klären, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSUM001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-sum-up-we-still-need-to-establish-whether-the-funsum001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsum001.json"
      },
      {
        "id": "FUNSUM011",
        "title_en": "Overall, the evidence suggests that [X]",
        "title_ru": "В целом данные указывают на то, что …",
        "description_en": "Connects a claim to evidence and helps keep observation separate from inference.",
        "description_ru": "Связывает утверждение с данными и помогает отделить наблюдение от вывода.",
        "group_id": "SUM",
        "set_id": "SUM",
        "formulas": [
          "Overall, the evidence suggests that [the team needs another day to decide].",
          "Insgesamt deuten die Belege darauf hin, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSUM011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/overall-the-evidence-suggests-that-the-team-funsum011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsum011.json"
      },
      {
        "id": "FUNSUM021",
        "title_en": "The main point is that [X]",
        "title_ru": "Главное в том, что …",
        "description_en": "Brings several points together into a proportionate conclusion.",
        "description_ru": "Сводит несколько пунктов к аккуратному выводу без лишнего усиления.",
        "group_id": "SUM",
        "set_id": "SUM",
        "formulas": [
          "The main point is that [the team needs another day to decide].",
          "Der Hauptpunkt ist, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSUM021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-main-point-is-that-the-team-needs-another-funsum021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsum021.json"
      },
      {
        "id": "FUNSUM031",
        "title_en": "Taken together, these points explain why [X]",
        "title_ru": "В совокупности эти пункты объясняют, почему …",
        "description_en": "Brings several points together into a proportionate conclusion.",
        "description_ru": "Сводит несколько пунктов к аккуратному выводу без лишнего усиления.",
        "group_id": "SUM",
        "set_id": "SUM",
        "formulas": [
          "Taken together, these points explain why [the team needs another day to decide].",
          "Zusammengenommen erklären diese Punkte, warum [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSUM031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/taken-together-these-points-explain-why-the-team-funsum031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsum031.json"
      },
      {
        "id": "FUNORG001",
        "title_en": "Let us begin by clarifying whether [X]",
        "title_ru": "Давайте начнём с уточнения, …",
        "description_en": "A reusable frame from “Organising conversation”. Open, sequence and redirect a discussion constructively.",
        "description_ru": "Каркас из раздела «Организация разговора». Открывайте, выстраивайте и перенаправляйте обсуждение конструктивно.",
        "group_id": "ORG",
        "set_id": "ORG",
        "formulas": [
          "Let us begin by clarifying whether [the team needs another day to decide].",
          "Beginnen wir damit zu klären, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNORG001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/let-us-begin-by-clarifying-whether-the-team-funorg001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funorg001.json"
      },
      {
        "id": "FUNORG011",
        "title_en": "Before moving on, we should understand why [X]",
        "title_ru": "Прежде чем двигаться дальше, нам следует понять, почему …",
        "description_en": "A reusable frame from “Organising conversation”. Open, sequence and redirect a discussion constructively.",
        "description_ru": "Каркас из раздела «Организация разговора». Открывайте, выстраивайте и перенаправляйте обсуждение конструктивно.",
        "group_id": "ORG",
        "set_id": "ORG",
        "formulas": [
          "Before moving on, we should understand why [the team needs another day to decide].",
          "Bevor wir weitermachen, sollten wir verstehen, warum [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNORG011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/before-moving-on-we-should-understand-why-the-funorg011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funorg011.json"
      },
      {
        "id": "FUNORG021",
        "title_en": "We can return to the issue if [X]",
        "title_ru": "Мы можем вернуться к вопросу, если …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "ORG",
        "set_id": "ORG",
        "formulas": [
          "We can return to the issue if [the team needs another day to decide].",
          "Wir können auf die Frage zurückkommen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNORG021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-can-return-to-the-issue-if-the-team-needs-funorg021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funorg021.json"
      },
      {
        "id": "FUNORG031",
        "title_en": "The next item is to decide whether [X]",
        "title_ru": "Следующий пункт — решить, …",
        "description_en": "A reusable frame from “Organising conversation”. Open, sequence and redirect a discussion constructively.",
        "description_ru": "Каркас из раздела «Организация разговора». Открывайте, выстраивайте и перенаправляйте обсуждение конструктивно.",
        "group_id": "ORG",
        "set_id": "ORG",
        "formulas": [
          "The next item is to decide whether [the team needs another day to decide].",
          "Der nächste Punkt ist zu entscheiden, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNORG031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-next-item-is-to-decide-whether-the-team-funorg031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funorg031.json"
      },
      {
        "id": "FUNFEL001",
        "title_en": "I am concerned that [X]",
        "title_ru": "Меня беспокоит, что …",
        "description_en": "Expresses a reaction to a situation without turning it into a personal accusation.",
        "description_ru": "Выражает реакцию через ситуацию или факт, не превращая её в личное обвинение.",
        "group_id": "FEL",
        "set_id": "FEL",
        "formulas": [
          "I am concerned that [the team needs another day to decide].",
          "Ich bin besorgt, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNFEL001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-am-concerned-that-the-team-needs-another-day-funfel001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funfel001.json"
      },
      {
        "id": "FUNFEL011",
        "title_en": "It is reassuring that [X]",
        "title_ru": "Обнадёживает, что …",
        "description_en": "Expresses a reaction to a situation without turning it into a personal accusation.",
        "description_ru": "Выражает реакцию через ситуацию или факт, не превращая её в личное обвинение.",
        "group_id": "FEL",
        "set_id": "FEL",
        "formulas": [
          "It is reassuring that [the team needs another day to decide].",
          "Es ist beruhigend, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNFEL011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-is-reassuring-that-the-team-needs-another-day-funfel011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funfel011.json"
      },
      {
        "id": "FUNFEL021",
        "title_en": "I am not convinced that [X]",
        "title_ru": "Я не уверен(а), что …",
        "description_en": "Keeps a conclusion proportionate when the available evidence does not justify certainty.",
        "description_ru": "Смягчает вывод и удерживает нужную степень уверенности, когда данных недостаточно для категоричного утверждения.",
        "group_id": "FEL",
        "set_id": "FEL",
        "formulas": [
          "I am not convinced that [the team needs another day to decide].",
          "Ich bin nicht überzeugt, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNFEL021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-am-not-convinced-that-the-team-needs-another-funfel021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funfel021.json"
      },
      {
        "id": "FUNFEL031",
        "title_en": "It would be frustrating if [X]",
        "title_ru": "Было бы досадно, если …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "FEL",
        "set_id": "FEL",
        "formulas": [
          "It would be frustrating if [the team needs another day to decide].",
          "Es wäre frustrierend, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNFEL031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-would-be-frustrating-if-the-team-needs-funfel031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funfel031.json"
      },
      {
        "id": "FUNTCT001",
        "title_en": "Would you be open to checking whether [X]?",
        "title_ru": "Вы были бы открыты к тому, чтобы проверить, …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "TCT",
        "set_id": "TCT",
        "formulas": [
          "Would you be open to checking whether [the team needs another day to decide]?",
          "Wären Sie offen dafür zu prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNTCT001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-you-be-open-to-checking-whether-the-team-funtct001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funtct001.json"
      },
      {
        "id": "FUNTCT011",
        "title_en": "I hope you do not mind if we ask whether [X]",
        "title_ru": "Надеюсь, вы не против, если мы спросим, …",
        "description_en": "A reusable frame from “Tact and politeness”. Make a difficult point easier to receive.",
        "description_ru": "Каркас из раздела «Такт и вежливость». Смягчайте сложную мысль, чтобы её было легче принять.",
        "group_id": "TCT",
        "set_id": "TCT",
        "formulas": [
          "I hope you do not mind if we ask whether [the team needs another day to decide].",
          "Ich hoffe, es macht Ihnen nichts aus, wenn wir fragen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNTCT011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-hope-you-do-not-mind-if-we-ask-whether-the-funtct011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funtct011.json"
      },
      {
        "id": "FUNTCT021",
        "title_en": "Perhaps we could clarify why [X]",
        "title_ru": "Возможно, мы могли бы прояснить, почему …",
        "description_en": "A reusable frame from “Tact and politeness”. Make a difficult point easier to receive.",
        "description_ru": "Каркас из раздела «Такт и вежливость». Смягчайте сложную мысль, чтобы её было легче принять.",
        "group_id": "TCT",
        "set_id": "TCT",
        "formulas": [
          "Perhaps we could clarify why [the team needs another day to decide].",
          "Vielleicht könnten wir klären, warum [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNTCT021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/perhaps-we-could-clarify-why-the-team-needs-funtct021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funtct021.json"
      },
      {
        "id": "FUNTCT031",
        "title_en": "I appreciate that [X], but we need more detail",
        "title_ru": "Я ценю, что …, но нам нужно больше деталей",
        "description_en": "A reusable frame from “Tact and politeness”. Make a difficult point easier to receive.",
        "description_ru": "Каркас из раздела «Такт и вежливость». Смягчайте сложную мысль, чтобы её было легче принять.",
        "group_id": "TCT",
        "set_id": "TCT",
        "formulas": [
          "I appreciate that [the team needs another day to decide], but we need more detail.",
          "Ich weiß zu schätzen, dass [das Team einen weiteren Tag für die Entscheidung braucht], aber wir brauchen mehr Details."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNTCT031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-appreciate-that-the-team-needs-another-day-to-funtct031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funtct031.json"
      },
      {
        "id": "FUNFBK001",
        "title_en": "One strength is that [X]",
        "title_ru": "Одна сильная сторона в том, что …",
        "description_en": "Highlights a concrete strength and ties the positive evaluation to an observable point.",
        "description_ru": "Выделяет конкретную сильную сторону и связывает положительную оценку с наблюдаемым фактом.",
        "group_id": "FBK",
        "set_id": "FBK",
        "formulas": [
          "One strength is that [the team needs another day to decide].",
          "Eine Stärke ist, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNFBK001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/one-strength-is-that-the-team-needs-another-day-funfbk001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funfbk001.json"
      },
      {
        "id": "FUNFBK011",
        "title_en": "One area to improve is whether [X]",
        "title_ru": "Одна область для улучшения — …",
        "description_en": "A reusable frame from “Feedback and evaluation”. Give feedback that points to a concrete improvement.",
        "description_ru": "Каркас из раздела «Обратная связь и оценка». Давайте обратную связь, указывающую на конкретное улучшение.",
        "group_id": "FBK",
        "set_id": "FBK",
        "formulas": [
          "One area to improve is whether [the team needs another day to decide].",
          "Ein Verbesserungsbereich ist die Frage, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNFBK011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/one-area-to-improve-is-whether-the-team-needs-funfbk011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funfbk011.json"
      },
      {
        "id": "FUNFBK021",
        "title_en": "The result would be stronger if [X]",
        "title_ru": "Результат был бы сильнее, если …",
        "description_en": "Compares alternatives against an explicit criterion instead of simply declaring one better.",
        "description_ru": "Помогает сопоставить варианты по явному критерию, а не просто объявить один из них лучше.",
        "group_id": "FBK",
        "set_id": "FBK",
        "formulas": [
          "The result would be stronger if [the team needs another day to decide].",
          "Das Ergebnis wäre stärker, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNFBK021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-result-would-be-stronger-if-the-team-needs-funfbk021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funfbk021.json"
      },
      {
        "id": "FUNFBK031",
        "title_en": "Your explanation makes it clear that [X]",
        "title_ru": "Ваше объяснение ясно показывает, что …",
        "description_en": "A reusable frame from “Feedback and evaluation”. Give feedback that points to a concrete improvement.",
        "description_ru": "Каркас из раздела «Обратная связь и оценка». Давайте обратную связь, указывающую на конкретное улучшение.",
        "group_id": "FBK",
        "set_id": "FBK",
        "formulas": [
          "Your explanation makes it clear that [the team needs another day to decide].",
          "Ihre Erklärung macht deutlich, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNFBK031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/your-explanation-makes-it-clear-that-the-team-funfbk031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funfbk031.json"
      },
      {
        "id": "FUNSOL001",
        "title_en": "The most practical response would be to check whether [X]",
        "title_ru": "Самым практичным ответом было бы проверить, …",
        "description_en": "A reusable frame from “Problem-solving”. Frame a problem around a practical response.",
        "description_ru": "Каркас из раздела «Решение проблем». Формулируйте проблему вокруг практического ответа.",
        "group_id": "SOL",
        "set_id": "SOL",
        "formulas": [
          "The most practical response would be to check whether [the team needs another day to decide].",
          "Die praktischste Reaktion wäre zu prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSOL001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-most-practical-response-would-be-to-check-funsol001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsol001.json"
      },
      {
        "id": "FUNSOL011",
        "title_en": "One way to address this is to establish why [X]",
        "title_ru": "Один способ решить это — выяснить, почему …",
        "description_en": "A reusable frame from “Problem-solving”. Frame a problem around a practical response.",
        "description_ru": "Каркас из раздела «Решение проблем». Формулируйте проблему вокруг практического ответа.",
        "group_id": "SOL",
        "set_id": "SOL",
        "formulas": [
          "One way to address this is to establish why [the team needs another day to decide].",
          "Eine Möglichkeit, dies anzugehen, ist zu klären, warum [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSOL011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/one-way-to-address-this-is-to-establish-why-the-funsol011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsol011.json"
      },
      {
        "id": "FUNSOL021",
        "title_en": "If [X], we can reduce the impact by acting early",
        "title_ru": "Если …, мы можем уменьшить последствия, действуя заранее",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "SOL",
        "set_id": "SOL",
        "formulas": [
          "If [the team needs another day to decide], we can reduce the impact by acting early.",
          "Wenn [das Team einen weiteren Tag für die Entscheidung braucht], können wir die Auswirkungen verringern, indem wir früh handeln."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSOL021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-the-team-needs-another-day-to-decide-we-can-funsol021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsol021.json"
      },
      {
        "id": "FUNSOL031",
        "title_en": "The issue can be resolved by deciding whether [X]",
        "title_ru": "Вопрос можно решить, определив, …",
        "description_en": "A reusable frame from “Problem-solving”. Frame a problem around a practical response.",
        "description_ru": "Каркас из раздела «Решение проблем». Формулируйте проблему вокруг практического ответа.",
        "group_id": "SOL",
        "set_id": "SOL",
        "formulas": [
          "The issue can be resolved by deciding whether [the team needs another day to decide].",
          "Die Frage kann gelöst werden, indem wir entscheiden, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSOL031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-issue-can-be-resolved-by-deciding-whether-funsol031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsol031.json"
      },
      {
        "id": "FUNRSK001",
        "title_en": "There is a risk that [X]",
        "title_ru": "Есть риск, что …",
        "description_en": "Names the risk and links it to a proportionate precaution instead of vague concern.",
        "description_ru": "Называет риск и подводит к соразмерной мере предосторожности вместо расплывчатой тревоги.",
        "group_id": "RSK",
        "set_id": "RSK",
        "formulas": [
          "There is a risk that [the team needs another day to decide].",
          "Es besteht das Risiko, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNRSK001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/there-is-a-risk-that-the-team-needs-another-day-funrsk001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funrsk001.json"
      },
      {
        "id": "FUNRSK011",
        "title_en": "To reduce the risk, we should check whether [X]",
        "title_ru": "Чтобы снизить риск, нам следует проверить, …",
        "description_en": "Names the risk and links it to a proportionate precaution instead of vague concern.",
        "description_ru": "Называет риск и подводит к соразмерной мере предосторожности вместо расплывчатой тревоги.",
        "group_id": "RSK",
        "set_id": "RSK",
        "formulas": [
          "To reduce the risk, we should check whether [the team needs another day to decide].",
          "Um das Risiko zu verringern, sollten wir prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNRSK011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/to-reduce-the-risk-we-should-check-whether-the-funrsk011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funrsk011.json"
      },
      {
        "id": "FUNRSK021",
        "title_en": "We should not assume that [X]",
        "title_ru": "Нам не следует предполагать, что …",
        "description_en": "Keeps a conclusion proportionate when the available evidence does not justify certainty.",
        "description_ru": "Смягчает вывод и удерживает нужную степень уверенности, когда данных недостаточно для категоричного утверждения.",
        "group_id": "RSK",
        "set_id": "RSK",
        "formulas": [
          "We should not assume that [the team needs another day to decide].",
          "Wir sollten nicht annehmen, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNRSK021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-should-not-assume-that-the-team-needs-another-funrsk021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funrsk021.json"
      },
      {
        "id": "FUNRSK031",
        "title_en": "A contingency plan is needed if [X]",
        "title_ru": "План действий на случай непредвиденных обстоятельств нужен, если …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "RSK",
        "set_id": "RSK",
        "formulas": [
          "A contingency plan is needed if [the team needs another day to decide].",
          "Ein Notfallplan wird benötigt, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNRSK031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-contingency-plan-is-needed-if-the-team-needs-funrsk031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funrsk031.json"
      },
      {
        "id": "FUNPRS001",
        "title_en": "The strongest reason to act is that [X]",
        "title_ru": "Самая сильная причина действовать в том, что …",
        "description_en": "A reusable frame from “Persuasion and influence”. Make the case for action without forcing agreement.",
        "description_ru": "Каркас из раздела «Убеждение и влияние». Обосновывайте действие, не вынуждая к согласию.",
        "group_id": "PRS",
        "set_id": "PRS",
        "formulas": [
          "The strongest reason to act is that [the team needs another day to decide].",
          "Der stärkste Grund zu handeln ist, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRS001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-strongest-reason-to-act-is-that-the-team-funprs001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funprs001.json"
      },
      {
        "id": "FUNPRS011",
        "title_en": "Wouldn't it make sense to check whether [X]?",
        "title_ru": "Разве не было бы разумно проверить, …?",
        "description_en": "A reusable frame from “Persuasion and influence”. Make the case for action without forcing agreement.",
        "description_ru": "Каркас из раздела «Убеждение и влияние». Обосновывайте действие, не вынуждая к согласию.",
        "group_id": "PRS",
        "set_id": "PRS",
        "formulas": [
          "Wouldn't it make sense to check whether [the team needs another day to decide]?",
          "Wäre es nicht sinnvoll zu prüfen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRS011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/wouldn-t-it-make-sense-to-check-whether-the-team-funprs011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funprs011.json"
      },
      {
        "id": "FUNPRS021",
        "title_en": "By showing why [X], we can build support",
        "title_ru": "Показывая, почему …, мы можем заручиться поддержкой",
        "description_en": "A reusable frame from “Persuasion and influence”. Make the case for action without forcing agreement.",
        "description_ru": "Каркас из раздела «Убеждение и влияние». Обосновывайте действие, не вынуждая к согласию.",
        "group_id": "PRS",
        "set_id": "PRS",
        "formulas": [
          "By showing why [the team needs another day to decide], we can build support.",
          "Indem wir zeigen, warum [das Team einen weiteren Tag für die Entscheidung braucht], können wir Unterstützung gewinnen."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRS021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/by-showing-why-the-team-needs-another-day-to-funprs021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funprs021.json"
      },
      {
        "id": "FUNPRS031",
        "title_en": "The benefits would outweigh the cost if [X]",
        "title_ru": "Преимущества перевесили бы затраты, если …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "PRS",
        "set_id": "PRS",
        "formulas": [
          "The benefits would outweigh the cost if [the team needs another day to decide].",
          "Die Vorteile würden die Kosten überwiegen, wenn [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNPRS031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-benefits-would-outweigh-the-cost-if-the-team-funprs031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funprs031.json"
      },
      {
        "id": "FUNSOC001",
        "title_en": "Would you like to discuss whether [X]?",
        "title_ru": "Хотели бы вы обсудить, …?",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "SOC",
        "set_id": "SOC",
        "formulas": [
          "Would you like to discuss whether [the team needs another day to decide]?",
          "Möchten Sie besprechen, ob [das Team einen weiteren Tag für die Entscheidung braucht]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSOC001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-you-like-to-discuss-whether-the-team-needs-funsoc001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsoc001.json"
      },
      {
        "id": "FUNSOC011",
        "title_en": "It would be good to talk about why [X]",
        "title_ru": "Было бы хорошо поговорить о том, почему …",
        "description_en": "A reusable frame from “Social interaction”. Handle invitations, thanks and shared plans naturally.",
        "description_ru": "Каркас из раздела «Социальное взаимодействие». Естественно ведите приглашения, благодарности и общие планы.",
        "group_id": "SOC",
        "set_id": "SOC",
        "formulas": [
          "It would be good to talk about why [the team needs another day to decide].",
          "Es wäre gut darüber zu sprechen, warum [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSOC011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-would-be-good-to-talk-about-why-the-team-funsoc011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsoc011.json"
      },
      {
        "id": "FUNSOC021",
        "title_en": "Thank you for explaining that [X]",
        "title_ru": "Спасибо, что объяснили, что …",
        "description_en": "A reusable frame from “Social interaction”. Handle invitations, thanks and shared plans naturally.",
        "description_ru": "Каркас из раздела «Социальное взаимодействие». Естественно ведите приглашения, благодарности и общие планы.",
        "group_id": "SOC",
        "set_id": "SOC",
        "formulas": [
          "Thank you for explaining that [the team needs another day to decide].",
          "Danke, dass Sie erklärt haben, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSOC021",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/thank-you-for-explaining-that-the-team-needs-funsoc021/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsoc021.json"
      },
      {
        "id": "FUNSOC031",
        "title_en": "I am glad that [X]",
        "title_ru": "Я рад(а), что …",
        "description_en": "Expresses a reaction to a situation without turning it into a personal accusation.",
        "description_ru": "Выражает реакцию через ситуацию или факт, не превращая её в личное обвинение.",
        "group_id": "SOC",
        "set_id": "SOC",
        "formulas": [
          "I am glad that [the team needs another day to decide].",
          "Ich freue mich, dass [das Team einen weiteren Tag für die Entscheidung braucht]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "curated",
          "indexable": true,
          "min_unique_examples": 7,
          "translations_complete": true,
          "has_variation_duplicates": false,
          "languages": {
            "en": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            },
            "de": {
              "example_count": 8,
              "variation_count": 7,
              "unique_example_count": 7,
              "unique_variation_count": 7,
              "variation_duplicate_count": 0,
              "primary_repeated_in_variations": true,
              "translations_complete": true
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "FUNSOC031",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-am-glad-that-the-team-needs-another-day-to-funsoc031/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/funsoc031.json"
      },
      {
        "id": "GFA001",
        "title_en": "This is the first time + subject + have/has + past participle",
        "title_ru": "Первый опыт сейчас",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "This is the first time + subject + have/has + past participle",
          "Das ist das erste Mal, dass + subject + ... + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-is-the-first-time-subject-have-has-past-gfa001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa001.json"
      },
      {
        "id": "GFA002",
        "title_en": "It was the first time + subject + had + past participle",
        "title_ru": "Первый опыт в прошлом",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "It was the first time + subject + had + past participle",
          "Es war das erste Mal, dass + subject + ... + past verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-was-the-first-time-subject-had-past-gfa002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa002.json"
      },
      {
        "id": "GFA003",
        "title_en": "Subject + had been + -ing + for a duration + when + past simple",
        "title_ru": "Длительность до события",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + had been + -ing + for a duration + when + past simple",
          "Subject + past verb + schon seit + duration, als + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-had-been-ing-for-a-duration-when-past-gfa003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa003.json"
      },
      {
        "id": "GFA004",
        "title_en": "By the time + subject + present simple, subject + will have + past participle",
        "title_ru": "Завершение к будущему моменту",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "By the time + subject + present simple, subject + will have + past participle",
          "Bis + future-time clause, subject + haben/sein + ... + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/by-the-time-subject-present-simple-subject-will-gfa004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa004.json"
      },
      {
        "id": "GFA005",
        "title_en": "By + future date, subject + will have been + -ing + for + duration",
        "title_ru": "Будущая накопленная длительность",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "By + future date, subject + will have been + -ing + for + duration",
          "Future date + verb + subject + schon seit + duration"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/by-future-date-subject-will-have-been-ing-for-gfa005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa005.json"
      },
      {
        "id": "GFA006",
        "title_en": "Subject + was/were about to + infinitive + when + past clause",
        "title_ru": "Прерванное намерение",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + was/were about to + infinitive + when + past clause",
          "Subject + wollte gerade + infinitive, als + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-was-were-about-to-infinitive-when-past-gfa006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa006.json"
      },
      {
        "id": "GFA007",
        "title_en": "Subject + had been going to + infinitive, but + past clause",
        "title_ru": "Несостоявшееся намерение",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + had been going to + infinitive, but + past clause",
          "Subject + hatte(n) vor, zu + infinitive, aber + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-had-been-going-to-infinitive-but-past-gfa007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa007.json"
      },
      {
        "id": "GFA008",
        "title_en": "Subject + was/were to + infinitive + later-time expression",
        "title_ru": "Будущее глазами рассказчика",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + was/were to + infinitive + later-time expression",
          "Subject + sollte(n) + ... + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-was-were-to-infinitive-later-time-gfa008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa008.json"
      },
      {
        "id": "GFA009",
        "title_en": "Subject + was/were to have + past participle, but + past clause",
        "title_ru": "Несостоявшийся план",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + was/were to have + past participle, but + past clause",
          "Subject + sollte(n) eigentlich + infinitive, aber + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-was-were-to-have-past-participle-but-gfa009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa009.json"
      },
      {
        "id": "GFA010",
        "title_en": "Subject + have/has yet to + infinitive",
        "title_ru": "Ещё не выполненное действие",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + have/has yet to + infinitive",
          "Subject + haben + ... + noch nicht + past participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-have-has-yet-to-infinitive-gfa010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa010.json"
      },
      {
        "id": "GFA011",
        "title_en": "It has been + duration + since + subject + last + past verb",
        "title_ru": "Время с последнего случая",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "It has been + duration + since + subject + last + past verb",
          "Es ist + duration + her, dass + subject + zuletzt + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-has-been-duration-since-subject-last-past-gfa011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa011.json"
      },
      {
        "id": "GFA012",
        "title_en": "Subject + have/has not + past participle + since + past clause",
        "title_ru": "Отсутствие события с прошлого момента",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + have/has not + past participle + since + past clause",
          "Subject + haben + ... + nicht mehr + participle, seitdem + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-have-has-not-past-participle-since-past-gfa012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa012.json"
      },
      {
        "id": "GFA013",
        "title_en": "Subject + will + infinitive + as soon as + subject + have/has + past participle",
        "title_ru": "Завершённое предварительное действие",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + will + infinitive + as soon as + subject + have/has + past participle",
          "Main clause + sobald + subject + ... + participle + haben/sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-will-infinitive-as-soon-as-subject-have-gfa013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa013.json"
      },
      {
        "id": "GFA014",
        "title_en": "It will not be long before + subject + present simple",
        "title_ru": "Скорое ожидаемое событие",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "It will not be long before + subject + present simple",
          "Es dauert nicht mehr lange, bis + subject + ... + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-will-not-be-long-before-subject-present-gfa014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa014.json"
      },
      {
        "id": "GFA015",
        "title_en": "Subject + had not + perception participle + embedded clause + until + past clause",
        "title_ru": "Запоздалое осознание",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + had not + perception participle + embedded clause + until + past clause",
          "Subject + past verb + erst, als + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-had-not-perception-participle-embedded-gfa015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa015.json"
      },
      {
        "id": "GFA016",
        "title_en": "Subject + am/is/are always + -ing",
        "title_ru": "Повторение с эмоциональной оценкой",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + am/is/are always + -ing",
          "Subject + verb + ständig + rest of clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-am-is-are-always-ing-gfa016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa016.json"
      },
      {
        "id": "GFA017",
        "title_en": "I was wondering whether + subject + could + infinitive",
        "title_ru": "Вежливая предварительная просьба",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "I was wondering whether + subject + could + infinitive",
          "Ich wollte fragen, ob + subject + ... + infinitive + könnte(n)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-was-wondering-whether-subject-could-infinitive-gfa017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa017.json"
      },
      {
        "id": "GFA018",
        "title_en": "Subject + will be + -ing + future time, so + consequence",
        "title_ru": "Ожидаемый ход будущих событий",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + will be + -ing + future time, so + consequence",
          "Expected future clause, also + consequence with modal"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-will-be-ing-future-time-so-consequence-gfa018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa018.json"
      },
      {
        "id": "GFA019",
        "title_en": "Subject + had already + past participle + by the time + past clause",
        "title_ru": "Завершение до прошлого момента",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Subject + had already + past participle + by the time + past clause",
          "Subject + hatte(n)/war(en) schon + participle, als + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-had-already-past-participle-by-the-time-gfa019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa019.json"
      },
      {
        "id": "GFA020",
        "title_en": "Every time + subject + have/has + participle, subject + have/has + participle",
        "title_ru": "Повторяющийся опыт до настоящего",
        "description_en": "A reusable frame from “Time and aspect”. Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время и вид действия». Время и вид действия: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFA",
        "set_id": "GFA",
        "formulas": [
          "Every time + subject + have/has + participle, subject + have/has + participle",
          "Jedes Mal, wenn + Perfekt clause, + Perfekt main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFA020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/every-time-subject-have-has-participle-subject-gfa020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfa020.json"
      },
      {
        "id": "GFB001",
        "title_en": "Subject + need not have + past participle",
        "title_ru": "Сделано без необходимости",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + need not have + past participle",
          "Subject + hätte(n) + ... + nicht + infinitive + müssen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-need-not-have-past-participle-gfb001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb001.json"
      },
      {
        "id": "GFB002",
        "title_en": "Subject + did not need to + infinitive, so + past outcome",
        "title_ru": "Не было необходимости",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + did not need to + infinitive, so + past outcome",
          "Subject + musste(n) nicht + infinitive, also + past outcome"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-did-not-need-to-infinitive-so-past-gfb002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb002.json"
      },
      {
        "id": "GFB003",
        "title_en": "Subject + must have been + -ing + past context",
        "title_ru": "Вывод о прошлом процессе",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + must have been + -ing + past context",
          "Subject + muss/müssen + ... + participle + haben/sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-must-have-been-ing-past-context-gfb003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb003.json"
      },
      {
        "id": "GFB004",
        "title_en": "Subject + cannot have been + -ing; evidence",
        "title_ru": "Исключение прошлого процесса",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + cannot have been + -ing; evidence",
          "Subject + kann/können nicht + ... + participle + haben/sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-cannot-have-been-ing-evidence-gfb004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb004.json"
      },
      {
        "id": "GFB005",
        "title_en": "Subject + may have been + -ing",
        "title_ru": "Возможное объяснение процесса",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + may have been + -ing",
          "Subject + könnte(n) + ... + participle + haben/sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-may-have-been-ing-gfb005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb005.json"
      },
      {
        "id": "GFB006",
        "title_en": "Subject + should have been + -ing + instead of + -ing",
        "title_ru": "Чем следовало заниматься",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + should have been + -ing + instead of + -ing",
          "Subject + hätte(n) + infinitive + sollen, statt + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-should-have-been-ing-instead-of-ing-gfb006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb006.json"
      },
      {
        "id": "GFB007",
        "title_en": "Subject + could have been + past participle + means/context",
        "title_ru": "Нереализованная возможность в пассиве",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + could have been + past participle + means/context",
          "Subject + hätte(n) + participle + werden können"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-could-have-been-past-participle-means-gfb007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb007.json"
      },
      {
        "id": "GFB008",
        "title_en": "Subject + might have been + past participle",
        "title_ru": "Возможное прошлое событие в пассиве",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + might have been + past participle",
          "Subject + könnte(n) + participle + worden sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-might-have-been-past-participle-gfb008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb008.json"
      },
      {
        "id": "GFB009",
        "title_en": "Subject + should have been + past participle + time",
        "title_ru": "Невыполненная обязанность в пассиве",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + should have been + past participle + time",
          "Subject + hätte(n) + participle + werden sollen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-should-have-been-past-participle-time-gfb009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb009.json"
      },
      {
        "id": "GFB010",
        "title_en": "Subject + must have been + past participle; evidence",
        "title_ru": "Уверенный вывод в пассиве",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + must have been + past participle; evidence",
          "Subject + muss/müssen + participle + worden sein; evidence"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-must-have-been-past-participle-evidence-gfb010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb010.json"
      },
      {
        "id": "GFB011",
        "title_en": "Subject + was/were supposed to have + past participle + by + deadline",
        "title_ru": "Ожидаемое завершение к сроку",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + was/were supposed to have + past participle + by + deadline",
          "Subject + sollte(n) + bis + deadline + participle + haben/sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-was-were-supposed-to-have-past-gfb011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb011.json"
      },
      {
        "id": "GFB012",
        "title_en": "Subject + may well + infinitive, but + qualification",
        "title_ru": "Правдоподобная уступка",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + may well + infinitive, but + qualification",
          "Es ist gut möglich, dass + clause, aber + qualification"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-may-well-infinitive-but-qualification-gfb012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb012.json"
      },
      {
        "id": "GFB013",
        "title_en": "Subject + might as well + infinitive; reason",
        "title_ru": "Разумный запасной вариант",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + might as well + infinitive; reason",
          "Subject + können + genauso gut + infinitive; reason"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-might-as-well-infinitive-reason-gfb013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb013.json"
      },
      {
        "id": "GFB014",
        "title_en": "Subject + cannot be too + adjective + context",
        "title_ru": "Лишняя осторожность не помешает",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + cannot be too + adjective + context",
          "Subject + kann/können nicht + adjective + genug + sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-cannot-be-too-adjective-context-gfb014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb014.json"
      },
      {
        "id": "GFB015",
        "title_en": "This/That + need not mean + finite clause",
        "title_ru": "Вывод не обязателен",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "This/That + need not mean + finite clause",
          "Das + muss nicht bedeuten, dass + clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-that-need-not-mean-finite-clause-gfb015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb015.json"
      },
      {
        "id": "GFB016",
        "title_en": "Subject + may not have + past participle",
        "title_ru": "Возможно, действие не произошло",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + may not have + past participle",
          "Vielleicht + haben/sein + subject + nicht + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-may-not-have-past-participle-gfb016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb016.json"
      },
      {
        "id": "GFB017",
        "title_en": "Subject + would not + infinitive + past context",
        "title_ru": "Отказ в прошлом",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + would not + infinitive + past context",
          "Subject + wollte(n) nicht + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-would-not-infinitive-past-context-gfb017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb017.json"
      },
      {
        "id": "GFB018",
        "title_en": "Subject + should know better than to + infinitive",
        "title_ru": "Упрёк за неверное решение",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + should know better than to + infinitive",
          "Subject + sollte(n) wissen, dass + subject + nicht + ... + darf/dürfen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-should-know-better-than-to-infinitive-gfb018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb018.json"
      },
      {
        "id": "GFB019",
        "title_en": "Subject + had better not + bare infinitive",
        "title_ru": "Предостережение: лучше не делать",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "Subject + had better not + bare infinitive",
          "Subject + sollte(n) + lieber nicht + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-had-better-not-bare-infinitive-gfb019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb019.json"
      },
      {
        "id": "GFB020",
        "title_en": "How + was/were + subject + to know + embedded clause?",
        "title_ru": "Откуда было знать",
        "description_en": "A reusable frame from “Modal scope and past inference”. Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Модальность и выводы о прошлом». Модальность и выводы о прошлом: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFB",
        "set_id": "GFB",
        "formulas": [
          "How + was/were + subject + to know + embedded clause?",
          "Woher + sollte(n) + subject + wissen, dass + clause?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFB020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/how-was-were-subject-to-know-embedded-clause-gfb020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfb020.json"
      },
      {
        "id": "GFC001",
        "title_en": "If it were not for + noun phrase, subject + would + infinitive",
        "title_ru": "Если бы не нынешний фактор",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "If it were not for + noun phrase, subject + would + infinitive",
          "Wenn + noun phrase + nicht wäre, würde + subject + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-it-were-not-for-noun-phrase-subject-would-gfc001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc001.json"
      },
      {
        "id": "GFC002",
        "title_en": "If it had not been for + noun phrase, subject + would have + past participle",
        "title_ru": "Если бы не прошлый фактор",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "If it had not been for + noun phrase, subject + would have + past participle",
          "Wenn + noun phrase + nicht gewesen wäre, hätte/wäre + subject + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-it-had-not-been-for-noun-phrase-subject-would-gfc002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc002.json"
      },
      {
        "id": "GFC003",
        "title_en": "If + subject + had + participle, subject + would be + -ing + now",
        "title_ru": "Прошлая причина — нынешний результат",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "If + subject + had + participle, subject + would be + -ing + now",
          "Wenn + Plusquamperfekt Konjunktiv II, würde + subject + jetzt + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-subject-had-participle-subject-would-be-ing-gfc003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc003.json"
      },
      {
        "id": "GFC004",
        "title_en": "If + subject + past-form state, subject + would have + past participle",
        "title_ru": "Постоянное свойство — прошлый результат",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "If + subject + past-form state, subject + would have + past participle",
          "Wenn + present Konjunktiv II state, hätte/wäre + subject + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-subject-past-form-state-subject-would-have-gfc004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc004.json"
      },
      {
        "id": "GFC005",
        "title_en": "Should + subject + bare infinitive, main clause",
        "title_ru": "Условие с инверсией в начале",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Should + subject + bare infinitive, main clause",
          "Sollte(n) + subject + infinitive, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/should-subject-bare-infinitive-main-clause-gfc005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc005.json"
      },
      {
        "id": "GFC006",
        "title_en": "Were + subject + to + infinitive, subject + would + infinitive",
        "title_ru": "Гипотетическое будущее с инверсией",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Were + subject + to + infinitive, subject + would + infinitive",
          "Würde(n) + subject + infinitive, main clause in Konjunktiv II"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/were-subject-to-infinitive-subject-would-gfc006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc006.json"
      },
      {
        "id": "GFC007",
        "title_en": "Had + subject + past participle, subject + would have + past participle",
        "title_ru": "Нереальное условие в прошлом с инверсией",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Had + subject + past participle, subject + would have + past participle",
          "Hätte(n)/Wäre(n) + subject + participle, main clause in past Konjunktiv II"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/had-subject-past-participle-subject-would-have-gfc007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc007.json"
      },
      {
        "id": "GFC008",
        "title_en": "Had + subject + not + past participle, subject + would have + past participle",
        "title_ru": "Отрицание в условной инверсии",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Had + subject + not + past participle, subject + would have + past participle",
          "Hätte(n) + subject + nicht + participle, main clause in past Konjunktiv II"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/had-subject-not-past-participle-subject-would-gfc008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc008.json"
      },
      {
        "id": "GFC009",
        "title_en": "If + subject + should happen to + infinitive, main clause",
        "title_ru": "Случайное возможное событие",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "If + subject + should happen to + infinitive, main clause",
          "Falls + subject + zufällig + verb, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-subject-should-happen-to-infinitive-main-gfc009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc009.json"
      },
      {
        "id": "GFC010",
        "title_en": "Even if + subject + had + participle, subject + could not have + participle",
        "title_ru": "Даже другое прошлое не помогло бы",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Even if + subject + had + participle, subject + could not have + participle",
          "Selbst wenn + past Konjunktiv II, hätte(n) + subject + infinitive + können"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/even-if-subject-had-participle-subject-could-not-gfc010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc010.json"
      },
      {
        "id": "GFC011",
        "title_en": "Whether or not + subject + verb, main clause",
        "title_ru": "Результат не зависит от ответа",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Whether or not + subject + verb, main clause",
          "Ob + clause + oder nicht, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/whether-or-not-subject-verb-main-clause-gfc011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc011.json"
      },
      {
        "id": "GFC012",
        "title_en": "Permission clause + provided that + present-tense condition",
        "title_ru": "Условие «при условии, что»",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Permission clause + provided that + present-tense condition",
          "Permission clause, vorausgesetzt, dass + subordinate condition"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/permission-clause-provided-that-present-tense-gfc012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc012.json"
      },
      {
        "id": "GFC013",
        "title_en": "But for + noun phrase, subject + would have + past participle",
        "title_ru": "Условие «если бы не»",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "But for + noun phrase, subject + would have + past participle",
          "Ohne + noun phrase, hätte/wäre + subject + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/but-for-noun-phrase-subject-would-have-past-gfc013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc013.json"
      },
      {
        "id": "GFC014",
        "title_en": "Actual past clause; otherwise, subject + would have + past participle",
        "title_ru": "Подразумеваемое условие «иначе»",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Actual past clause; otherwise, subject + would have + past participle",
          "Actual past clause; sonst + hätte/wäre + subject + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/actual-past-clause-otherwise-subject-would-have-gfc014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc014.json"
      },
      {
        "id": "GFC015",
        "title_en": "If + subject + would + infinitive, subject + could + infinitive",
        "title_ru": "Готовность человека как условие",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "If + subject + would + infinitive, subject + could + infinitive",
          "Wenn + subject + bereit wäre(n), zu-infinitive, könnte(n) + subject + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-subject-would-infinitive-subject-could-gfc015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc015.json"
      },
      {
        "id": "GFC016",
        "title_en": "Subject + wish(es) + subject + had not + past participle",
        "title_ru": "Сожаление о прошлом",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Subject + wish(es) + subject + had not + past participle",
          "Subject + wünschte(n), subject + hätte(n) nicht + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-wish-es-subject-had-not-past-participle-gfc016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc016.json"
      },
      {
        "id": "GFC017",
        "title_en": "Subject + would rather + different subject + had not + past participle",
        "title_ru": "Предпочтение о чужом прошлом поступке",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Subject + would rather + different subject + had not + past participle",
          "Subject + wäre es lieber gewesen, wenn + different subject + nicht + past Konjunktiv II"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-would-rather-different-subject-had-not-gfc017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc017.json"
      },
      {
        "id": "GFC018",
        "title_en": "It is time + subject + past simple",
        "title_ru": "Уже пора действовать",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "It is time + subject + past simple",
          "Es ist Zeit, dass + subject + present-tense clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-is-time-subject-past-simple-gfc018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc018.json"
      },
      {
        "id": "GFC019",
        "title_en": "Suppose + subject + past-form verb, wh-word + would + subject + infinitive?",
        "title_ru": "Мысленный эксперимент",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Suppose + subject + past-form verb, wh-word + would + subject + infinitive?",
          "Angenommen, + Konjunktiv II clause, wh-question in Konjunktiv II"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/suppose-subject-past-form-verb-wh-word-would-gfc019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc019.json"
      },
      {
        "id": "GFC020",
        "title_en": "Subject + wish(es) + different subject + would + infinitive",
        "title_ru": "Желаемое изменение поведения",
        "description_en": "A reusable frame from “Conditions and counterfactuals”. Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Условия и нереальные ситуации». Условия и нереальные ситуации: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFC",
        "set_id": "GFC",
        "formulas": [
          "Subject + wish(es) + different subject + would + infinitive",
          "Subject + wünschte(n), different subject + würde(n) + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFC020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-wish-es-different-subject-would-gfc020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfc020.json"
      },
      {
        "id": "GFD001",
        "title_en": "Subject + be + nowhere near as + adjective + as + comparison target",
        "title_ru": "Далеко не равная степень",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + be + nowhere near as + adjective + as + comparison target",
          "Subject + sein + bei Weitem nicht so + adjective + wie + comparison target"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-nowhere-near-as-adjective-as-gfd001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd001.json"
      },
      {
        "id": "GFD002",
        "title_en": "Subject + be + multiplier + as + measurable adjective + as + target",
        "title_ru": "Сравнение размеров в несколько раз",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + be + multiplier + as + measurable adjective + as + target",
          "Subject + sein + doppelt/dreimal/halb so + adjective + wie + target"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-multiplier-as-measurable-adjective-as-gfd002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd002.json"
      },
      {
        "id": "GFD003",
        "title_en": "Subject + verb + multiplier + as many + plural noun + as + target",
        "title_ru": "Сравнение количества предметов",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + verb + multiplier + as many + plural noun + as + target",
          "Subject + verb + dreimal/doppelt/halb so viele + plural noun + wie + target"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-verb-multiplier-as-many-plural-noun-as-gfd003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd003.json"
      },
      {
        "id": "GFD004",
        "title_en": "Subject + verb + multiplier + as much + uncountable noun + as + target",
        "title_ru": "Сравнение объёма и времени",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + verb + multiplier + as much + uncountable noun + as + target",
          "Subject + verb + halb/doppelt/dreimal so viel + mass noun + wie + target"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-verb-multiplier-as-much-uncountable-noun-gfd004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd004.json"
      },
      {
        "id": "GFD005",
        "title_en": "Subject + verb + no more than + quantity",
        "title_ru": "Всего лишь указанное количество",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + verb + no more than + quantity",
          "Subject + verb + gerade einmal + quantity"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-verb-no-more-than-quantity-gfd005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd005.json"
      },
      {
        "id": "GFD006",
        "title_en": "No fewer than + number + plural noun + verb",
        "title_ru": "Целых столько объектов",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "No fewer than + number + plural noun + verb",
          "Nicht weniger als + number + plural noun + verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/no-fewer-than-number-plural-noun-verb-gfd006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd006.json"
      },
      {
        "id": "GFD007",
        "title_en": "Subject + be + no + comparative adjective + than + target",
        "title_ru": "Никакого улучшения",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + be + no + comparative adjective + than + target",
          "Subject + sein + nicht + comparative adjective + als + target"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-no-comparative-adjective-than-target-gfd007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd007.json"
      },
      {
        "id": "GFD008",
        "title_en": "Be/auxiliary + subject + any + comparative + than + target?",
        "title_ru": "Есть ли хоть какая-то разница",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Be/auxiliary + subject + any + comparative + than + target?",
          "Question + überhaupt + comparative + als + target?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/be-auxiliary-subject-any-comparative-than-target-gfd008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd008.json"
      },
      {
        "id": "GFD009",
        "title_en": "Of the two + plural noun, subject + be + the + comparative + one",
        "title_ru": "Выбор лучшего из двух",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Of the two + plural noun, subject + be + the + comparative + one",
          "Von den beiden + plural noun + sein + subject + der/die/das + comparative nominal"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/of-the-two-plural-noun-subject-be-the-gfd009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd009.json"
      },
      {
        "id": "GFD010",
        "title_en": "Subject + be + one of the + superlative + plural noun + subject + have/has ever + participle",
        "title_ru": "Один из лучших в личном опыте",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + be + one of the + superlative + plural noun + subject + have/has ever + participle",
          "Subject + sein + einer/eine/eines der + superlative plural noun + relative Perfekt clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-one-of-the-superlative-plural-noun-gfd010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd010.json"
      },
      {
        "id": "GFD011",
        "title_en": "The less + subject + verb, the fewer + plural noun + subject + verb",
        "title_ru": "Меньше действия — меньше ошибок",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "The less + subject + verb, the fewer + plural noun + subject + verb",
          "Je weniger + clause, desto weniger + plural noun + main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-less-subject-verb-the-fewer-plural-noun-gfd011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd011.json"
      },
      {
        "id": "GFD012",
        "title_en": "The + comparative adverb + subject + past verb, the less + adjective + subject + became",
        "title_ru": "Противоположные изменения",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "The + comparative adverb + subject + past verb, the less + adjective + subject + became",
          "Je + comparative + past clause, desto weniger + adjective + wurde(n) + subject"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-comparative-adverb-subject-past-verb-the-gfd012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd012.json"
      },
      {
        "id": "GFD013",
        "title_en": "Subject + be + as + adjective + as, if not + comparative + than, + target",
        "title_ru": "Не хуже, а возможно, лучше",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + be + as + adjective + as, if not + comparative + than, + target",
          "Subject + sein + genauso + adjective + wie + target, wenn nicht sogar + comparative"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-as-adjective-as-if-not-comparative-gfd013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd013.json"
      },
      {
        "id": "GFD014",
        "title_en": "Subject + be + less of a + singular count noun + than + clause",
        "title_ru": "Степень соответствия категории",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + be + less of a + singular count noun + than + clause",
          "Subject + sein + ein geringerer/kleinerer + noun + als + clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-less-of-a-singular-count-noun-than-gfd014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd014.json"
      },
      {
        "id": "GFD015",
        "title_en": "Subject + be + more of a/an + noun + than a/an + noun",
        "title_ru": "Скорее одно, чем другое",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + be + more of a/an + noun + than a/an + noun",
          "Subject + sein + eher + noun phrase + als + noun phrase"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-more-of-a-an-noun-than-a-an-noun-gfd015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd015.json"
      },
      {
        "id": "GFD016",
        "title_en": "Subject + was/were + comparative + than + subject + would otherwise have been",
        "title_ru": "Сравнение с нереальным прошлым",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + was/were + comparative + than + subject + would otherwise have been",
          "Subject + war(en) + comparative, als + subject + sonst + gewesen wäre(n)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-was-were-comparative-than-subject-would-gfd016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd016.json"
      },
      {
        "id": "GFD017",
        "title_en": "Subject + was/were not as + adjective + as + subject + might have seemed",
        "title_ru": "Реальная степень и впечатление",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + was/were not as + adjective + as + subject + might have seemed",
          "Subject + war(en) nicht so + adjective, wie + subject + vielleicht + gewirkt hatte(n)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-was-were-not-as-adjective-as-subject-gfd017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd017.json"
      },
      {
        "id": "GFD018",
        "title_en": "Subject + become/get + comparative + and + comparative",
        "title_ru": "Всё больше и больше",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + become/get + comparative + and + comparative",
          "Subject + werden + immer + comparative"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-become-get-comparative-and-comparative-gfd018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd018.json"
      },
      {
        "id": "GFD019",
        "title_en": "Subject + verb + more + noun + than + subject + could possibly + infinitive",
        "title_ru": "Больше, чем возможно обработать",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + verb + more + noun + than + subject + could possibly + infinitive",
          "Subject + verb + mehr + noun, als + subject + überhaupt + infinitive + konnte(n)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-verb-more-noun-than-subject-could-gfd019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd019.json"
      },
      {
        "id": "GFD020",
        "title_en": "Subject + make + object + all the more + adjective",
        "title_ru": "Обстоятельство усиливает качество",
        "description_en": "A reusable frame from “Comparison and degree”. Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Сравнения и степень». Сравнения и степень: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFD",
        "set_id": "GFD",
        "formulas": [
          "Subject + make + object + all the more + adjective",
          "Subject + machen + object + umso + comparative"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFD020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-make-object-all-the-more-adjective-gfd020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfd020.json"
      },
      {
        "id": "GFE001",
        "title_en": "Not all + determiner + plural noun + plural predicate",
        "title_ru": "Не все — не значит никто",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Not all + determiner + plural noun + plural predicate",
          "Nicht alle + plural noun + plural predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/not-all-determiner-plural-noun-plural-predicate-gfe001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe001.json"
      },
      {
        "id": "GFE002",
        "title_en": "Subject + cannot + infinitive + both + plural noun + at the same time",
        "title_ru": "Нельзя оба одновременно",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Subject + cannot + infinitive + both + plural noun + at the same time",
          "Subject + kann/können nicht + beide + plural noun + gleichzeitig + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-cannot-infinitive-both-plural-noun-at-gfe002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe002.json"
      },
      {
        "id": "GFE003",
        "title_en": "Neither of + definite plural group + singular predicate",
        "title_ru": "Ни один из двух",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Neither of + definite plural group + singular predicate",
          "Keiner/Keine/Keines der beiden + plural noun + singular predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/neither-of-definite-plural-group-singular-gfe003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe003.json"
      },
      {
        "id": "GFE004",
        "title_en": "Either of + definite two-member group + singular predicate",
        "title_ru": "Любой из двух",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Either of + definite two-member group + singular predicate",
          "Jeder/Jede/Jedes der beiden + plural noun + singular predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/either-of-definite-two-member-group-singular-gfe004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe004.json"
      },
      {
        "id": "GFE005",
        "title_en": "Each of + definite plural group + singular predicate",
        "title_ru": "Каждый элемент отдельно",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Each of + definite plural group + singular predicate",
          "Jeder/Jede/Jedes + singular member + singular predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/each-of-definite-plural-group-singular-predicate-gfe005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe005.json"
      },
      {
        "id": "GFE006",
        "title_en": "A number of + plural noun + plural predicate",
        "title_ru": "Несколько объектов как множественное число",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "A number of + plural noun + plural predicate",
          "Mehrere + plural noun + plural predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-number-of-plural-noun-plural-predicate-gfe006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe006.json"
      },
      {
        "id": "GFE007",
        "title_en": "The number of + plural noun + singular predicate",
        "title_ru": "Количество объектов как единственное число",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "The number of + plural noun + singular predicate",
          "Die Zahl/Anzahl der + plural noun + singular predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-number-of-plural-noun-singular-predicate-gfe007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe007.json"
      },
      {
        "id": "GFE008",
        "title_en": "More than one + singular count noun + singular predicate",
        "title_ru": "Более одного: единственное число",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "More than one + singular count noun + singular predicate",
          "Mehr als ein/eine + singular noun + singular predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/more-than-one-singular-count-noun-singular-gfe008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe008.json"
      },
      {
        "id": "GFE009",
        "title_en": "One in every + number + plural noun + singular predicate",
        "title_ru": "Каждый пятый: согласование",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "One in every + number + plural noun + singular predicate",
          "Jeder/Jede/Jedes + ordinal adjective + singular noun + singular predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/one-in-every-number-plural-noun-singular-gfe009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe009.json"
      },
      {
        "id": "GFE010",
        "title_en": "All the + uncountable noun + singular predicate",
        "title_ru": "Всё неисчисляемое: единственное число",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "All the + uncountable noun + singular predicate",
          "Die gesamte + mass noun / alle + natural plural equivalent + matching verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/all-the-uncountable-noun-singular-predicate-gfe010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe010.json"
      },
      {
        "id": "GFE011",
        "title_en": "There is little + uncountable noun, so + consequence",
        "title_ru": "Почти нет неисчисляемого ресурса",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "There is little + uncountable noun, so + consequence",
          "Es gibt/ist nur wenig + mass noun, deshalb + consequence"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/there-is-little-uncountable-noun-so-consequence-gfe011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe011.json"
      },
      {
        "id": "GFE012",
        "title_en": "Subject + have/has a little + uncountable noun, so + possible action",
        "title_ru": "Немного неисчисляемого ресурса есть",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Subject + have/has a little + uncountable noun, so + possible action",
          "Subject + haben + etwas/ein wenig + mass noun, also + possible action"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-have-has-a-little-uncountable-noun-so-gfe012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe012.json"
      },
      {
        "id": "GFE013",
        "title_en": "Few + plural count noun + predicate, so + consequence",
        "title_ru": "Слишком мало исчисляемых объектов",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Few + plural count noun + predicate, so + consequence",
          "Nur wenige + plural noun + predicate, deshalb + consequence"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/few-plural-count-noun-predicate-so-consequence-gfe013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe013.json"
      },
      {
        "id": "GFE014",
        "title_en": "A few + plural count noun + predicate, so + consequence",
        "title_ru": "Несколько исчисляемых объектов есть",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "A few + plural count noun + predicate, so + consequence",
          "Ein paar + plural noun + predicate, deshalb + consequence"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-few-plural-count-noun-predicate-so-consequence-gfe014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe014.json"
      },
      {
        "id": "GFE015",
        "title_en": "Both + noun phrase + and + noun phrase + plural predicate",
        "title_ru": "Оба участника: множественное число",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Both + noun phrase + and + noun phrase + plural predicate",
          "Sowohl + noun phrase + als auch + noun phrase + plural predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/both-noun-phrase-and-noun-phrase-plural-gfe015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe015.json"
      },
      {
        "id": "GFE016",
        "title_en": "Either + singular noun phrase + or + singular noun phrase + singular predicate",
        "title_ru": "Один из двух вариантов",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Either + singular noun phrase + or + singular noun phrase + singular predicate",
          "Entweder + singular noun phrase + oder + singular noun phrase + singular predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/either-singular-noun-phrase-or-singular-noun-gfe016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe016.json"
      },
      {
        "id": "GFE017",
        "title_en": "Neither + singular noun phrase + nor + singular noun phrase + singular predicate",
        "title_ru": "Ни один из двух вариантов",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Neither + singular noun phrase + nor + singular noun phrase + singular predicate",
          "Weder + singular noun phrase + noch + singular noun phrase + predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/neither-singular-noun-phrase-nor-singular-noun-gfe017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe017.json"
      },
      {
        "id": "GFE018",
        "title_en": "Singular noun phrase, as well as + plural noun phrase, + singular predicate",
        "title_ru": "Добавочное подлежащее не меняет согласование",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Singular noun phrase, as well as + plural noun phrase, + singular predicate",
          "Singular subject + singular predicate + ebenso wie + supplementary group"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/singular-noun-phrase-as-well-as-plural-noun-gfe018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe018.json"
      },
      {
        "id": "GFE019",
        "title_en": "Subject + be + one of the + plural noun + relative pronoun + plural predicate",
        "title_ru": "Один из людей, которые знают",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Subject + be + one of the + plural noun + relative pronoun + plural predicate",
          "Subject + sein + einer/eine/eines der + plural noun + plural relative clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-one-of-the-plural-noun-relative-gfe019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe019.json"
      },
      {
        "id": "GFE020",
        "title_en": "Subject + be + the only one of + group + relative pronoun + singular predicate",
        "title_ru": "Единственный, кто знает",
        "description_en": "A reusable frame from “Quantification and agreement”. Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Количество и согласование». Количество и согласование: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFE",
        "set_id": "GFE",
        "formulas": [
          "Subject + be + the only one of + group + relative pronoun + singular predicate",
          "Subject + sein + der/die/das Einzige aus/in + group + singular relative clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFE020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-the-only-one-of-group-relative-gfe020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfe020.json"
      },
      {
        "id": "GFF001",
        "title_en": "Not until + past clause + did + subject + bare infinitive",
        "title_ru": "Только после события: инверсия",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Not until + past clause + did + subject + bare infinitive",
          "Erst als + subordinate clause, + finite verb + subject"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/not-until-past-clause-did-subject-bare-gff001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff001.json"
      },
      {
        "id": "GFF002",
        "title_en": "Only after + -ing phrase + did + subject + bare infinitive",
        "title_ru": "Только после действия: инверсия",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Only after + -ing phrase + did + subject + bare infinitive",
          "Erst nachdem + subject + past clause, + main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/only-after-ing-phrase-did-subject-bare-gff002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff002.json"
      },
      {
        "id": "GFF003",
        "title_en": "Only by + -ing phrase + can + subject + bare infinitive",
        "title_ru": "Только таким способом: инверсия",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Only by + -ing phrase + can + subject + bare infinitive",
          "Nur indem + subordinate clause, + können + subject + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/only-by-ing-phrase-can-subject-bare-infinitive-gff003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff003.json"
      },
      {
        "id": "GFF004",
        "title_en": "Under no circumstances + modal + subject + bare infinitive phrase",
        "title_ru": "Ни при каких обстоятельствах",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Under no circumstances + modal + subject + bare infinitive phrase",
          "Unter keinen Umständen + dürfen/sollen + subject + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/under-no-circumstances-modal-subject-bare-gff004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff004.json"
      },
      {
        "id": "GFF005",
        "title_en": "At no point + was/were + subject + passive participle phrase",
        "title_ru": "Ни на одном этапе",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "At no point + was/were + subject + passive participle phrase",
          "Zu keinem Zeitpunkt + wurde(n) + subject + passive phrase"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/at-no-point-was-were-subject-passive-participle-gff005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff005.json"
      },
      {
        "id": "GFF006",
        "title_en": "Not only did + subject + bare infinitive, but + subject + also + past verb",
        "title_ru": "Не только, но и: инверсия",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Not only did + subject + bare infinitive, but + subject + also + past verb",
          "Subject + past verb + nicht nur ..., sondern + past verb + auch ..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/not-only-did-subject-bare-infinitive-but-subject-gff006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff006.json"
      },
      {
        "id": "GFF007",
        "title_en": "Little did + subject + know + that-clause",
        "title_ru": "Я и не подозревал",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Little did + subject + know + that-clause",
          "Subject + ahnte(n) nicht, dass + clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/little-did-subject-know-that-clause-gff007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff007.json"
      },
      {
        "id": "GFF008",
        "title_en": "No sooner had + subject + past participle + than + past simple clause",
        "title_ru": "Не успело одно произойти, как случилось другое",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "No sooner had + subject + past participle + than + past simple clause",
          "Kaum + hatte(n) + subject + participle, da + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/no-sooner-had-subject-past-participle-than-past-gff008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff008.json"
      },
      {
        "id": "GFF009",
        "title_en": "Hardly had + subject + past participle + when + past simple clause",
        "title_ru": "Едва одно произошло, как случилось другое",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Hardly had + subject + past participle + when + past simple clause",
          "Kaum + past-perfect main clause, als + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/hardly-had-subject-past-participle-when-past-gff009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff009.json"
      },
      {
        "id": "GFF010",
        "title_en": "Never before + have/has + subject + past participle phrase",
        "title_ru": "Никогда раньше",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Never before + have/has + subject + past participle phrase",
          "Noch nie + haben/sein + subject + participle phrase"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/never-before-have-has-subject-past-participle-gff010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff010.json"
      },
      {
        "id": "GFF011",
        "title_en": "So + adjective + was/were + subject + that + result clause",
        "title_ru": "Настолько выраженный признак",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "So + adjective + was/were + subject + that + result clause",
          "Subject + war(en) so + adjective, dass + result clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/so-adjective-was-were-subject-that-result-clause-gff011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff011.json"
      },
      {
        "id": "GFF012",
        "title_en": "Such was + singular noun phrase + that + result clause",
        "title_ru": "Такой масштаб явления",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Such was + singular noun phrase + that + result clause",
          "Singular noun phrase + war so groß, dass + result clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/such-was-singular-noun-phrase-that-result-clause-gff012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff012.json"
      },
      {
        "id": "GFF013",
        "title_en": "It was not until + time expression/clause + that + ordinary past clause",
        "title_ru": "Акцент на сроке без инверсии",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "It was not until + time expression/clause + that + ordinary past clause",
          "Erst + time expression + past main clause / erst als + clause, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-was-not-until-time-expression-clause-that-gff013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff013.json"
      },
      {
        "id": "GFF014",
        "title_en": "What + subject + need(s) + is + focused noun phrase, not + alternative",
        "title_ru": "Нужно именно это",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "What + subject + need(s) + is + focused noun phrase, not + alternative",
          "Was + subject + braucht/brauchen, ist + focus, nicht + alternative"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-subject-need-s-is-focused-noun-phrase-not-gff014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff014.json"
      },
      {
        "id": "GFF015",
        "title_en": "All + subject + did + was + bare infinitive phrase",
        "title_ru": "Я всего лишь сделал",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "All + subject + did + was + bare infinitive phrase",
          "Subject + haben + lediglich/nur + participle phrase"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/all-subject-did-was-bare-infinitive-phrase-gff015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff015.json"
      },
      {
        "id": "GFF016",
        "title_en": "It is not + focused noun phrase + that + clause, but + replacement noun phrase",
        "title_ru": "Не это, а другое",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "It is not + focused noun phrase + that + clause, but + replacement noun phrase",
          "Nicht + noun phrase + predicate, sondern + replacement noun phrase"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-is-not-focused-noun-phrase-that-clause-but-gff016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff016.json"
      },
      {
        "id": "GFF017",
        "title_en": "The last thing + subject + want(s) + is + to-infinitive phrase",
        "title_ru": "Меньше всего хочется",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "The last thing + subject + want(s) + is + to-infinitive phrase",
          "Das Letzte, was + subject + will/wollen, ist, zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-last-thing-subject-want-s-is-to-infinitive-gff017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff017.json"
      },
      {
        "id": "GFF018",
        "title_en": "Subject + be + not necessarily + complement",
        "title_ru": "Не обязательно",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Subject + be + not necessarily + complement",
          "Subject + sein + nicht unbedingt + complement"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-not-necessarily-complement-gff018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff018.json"
      },
      {
        "id": "GFF019",
        "title_en": "Far from + -ing phrase, subject + contrary predicate",
        "title_ru": "Вместо ожидаемого — обратное",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Far from + -ing phrase, subject + contrary predicate",
          "Statt + zu-infinitive, subject + contrary predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/far-from-ing-phrase-subject-contrary-predicate-gff019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff019.json"
      },
      {
        "id": "GFF020",
        "title_en": "Subject + be + anything but + adjective",
        "title_ru": "Совсем не такое качество",
        "description_en": "A reusable frame from “Negation, inversion and focus”. Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Отрицание, инверсия и акцент». Отрицание, инверсия и акцент: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFF",
        "set_id": "GFF",
        "formulas": [
          "Subject + be + anything but + adjective",
          "Subject + sein + alles andere als + adjective"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFF020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-anything-but-adjective-gff020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gff020.json"
      },
      {
        "id": "GFG001",
        "title_en": "Main clause + noun + whose + noun phrase + predicate",
        "title_ru": "Принадлежность в относительном придаточном",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Main clause + noun + whose + noun phrase + predicate",
          "Noun + dessen/deren + noun + relative predicate at end"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-noun-whose-noun-phrase-predicate-gfg001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg001.json"
      },
      {
        "id": "GFG002",
        "title_en": "Person noun + preposition + whom + subject + verb + main continuation",
        "title_ru": "Предлог перед относительным местоимением о человеке",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Person noun + preposition + whom + subject + verb + main continuation",
          "Person noun + preposition + case-marked relative pronoun + subordinate clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/person-noun-preposition-whom-subject-verb-main-gfg002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg002.json"
      },
      {
        "id": "GFG003",
        "title_en": "Thing noun + preposition + which + relative clause + main continuation",
        "title_ru": "Предлог перед относительным местоимением о предмете",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Thing noun + preposition + which + relative clause + main continuation",
          "Thing noun + preposition + case-marked relative pronoun + subordinate clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/thing-noun-preposition-which-relative-clause-gfg003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg003.json"
      },
      {
        "id": "GFG004",
        "title_en": "Complete clause, which + predicate commenting on that event",
        "title_ru": "Комментарий ко всему предыдущему событию",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Complete clause, which + predicate commenting on that event",
          "Complete clause, was + comment with verb at end"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/complete-clause-which-predicate-commenting-on-gfg004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg004.json"
      },
      {
        "id": "GFG005",
        "title_en": "People noun phrase, quantifier + of whom + predicate",
        "title_ru": "Часть группы людей",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "People noun phrase, quantifier + of whom + predicate",
          "People noun phrase, von denen + quantifier + subordinate predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/people-noun-phrase-quantifier-of-whom-predicate-gfg005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg005.json"
      },
      {
        "id": "GFG006",
        "title_en": "Plural thing noun phrase, none of which + predicate",
        "title_ru": "Ни один из названных предметов",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Plural thing noun phrase, none of which + predicate",
          "Plural thing noun phrase, von denen + keiner/keine/keines + predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/plural-thing-noun-phrase-none-of-which-predicate-gfg006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg006.json"
      },
      {
        "id": "GFG007",
        "title_en": "Main clause naming a future time, by which time + subject + will have + participle",
        "title_ru": "К указанному будущему моменту",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Main clause naming a future time, by which time + subject + will have + participle",
          "Main clause naming time; bis dahin + Perfekt expressing future completion"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-naming-a-future-time-by-which-time-gfg007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg007.json"
      },
      {
        "id": "GFG008",
        "title_en": "Past event clause, at which point + past event clause",
        "title_ru": "В этот момент рассказа",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Past event clause, at which point + past event clause",
          "Past event clause; in diesem Moment + next event"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/past-event-clause-at-which-point-past-event-gfg008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg008.json"
      },
      {
        "id": "GFG009",
        "title_en": "Whoever + singular subordinate predicate + main predicate",
        "title_ru": "Кто бы ни выполнил условие",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Whoever + singular subordinate predicate + main predicate",
          "Wer + subordinate clause, der + main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/whoever-singular-subordinate-predicate-main-gfg009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg009.json"
      },
      {
        "id": "GFG010",
        "title_en": "Main verb + whatever + subject + subordinate verb",
        "title_ru": "Всё, что нужно",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Main verb + whatever + subject + subordinate verb",
          "Main verb + alles/das, was + subordinate clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-verb-whatever-subject-subordinate-verb-gfg010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg010.json"
      },
      {
        "id": "GFG011",
        "title_en": "Main verb + whichever + singular noun + subordinate predicate",
        "title_ru": "Выбор из известного набора",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Main verb + whichever + singular noun + subordinate predicate",
          "Main verb + definite noun, relative clause selecting a member"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-verb-whichever-singular-noun-subordinate-gfg011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg011.json"
      },
      {
        "id": "GFG012",
        "title_en": "What + subject + subordinate verb + singular main predicate",
        "title_ru": "Всё придаточное как подлежащее",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "What + subject + subordinate verb + singular main predicate",
          "Was + subordinate clause, + singular main predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-subject-subordinate-verb-singular-main-gfg012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg012.json"
      },
      {
        "id": "GFG013",
        "title_en": "Main clause + preposition + what + subject + subordinate verb",
        "title_ru": "Придаточное после предлога",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Main clause + preposition + what + subject + subordinate verb",
          "Main clause + das/dem, was + relative clause or da-word + was-clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-preposition-what-subject-subordinate-gfg013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg013.json"
      },
      {
        "id": "GFG014",
        "title_en": "Whether + subject + verb + singular main predicate",
        "title_ru": "Придаточное «ли» как подлежащее",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Whether + subject + verb + singular main predicate",
          "Ob + subordinate clause, + singular main predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/whether-subject-verb-singular-main-predicate-gfg014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg014.json"
      },
      {
        "id": "GFG015",
        "title_en": "The fact that + complete clause + singular main predicate",
        "title_ru": "Факт как именной блок",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "The fact that + complete clause + singular main predicate",
          "Die Tatsache, dass + complete clause, + singular main predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-fact-that-complete-clause-singular-main-gfg015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg015.json"
      },
      {
        "id": "GFG016",
        "title_en": "Main clause + the possibility that + complete finite clause",
        "title_ru": "Возможность без утверждения факта",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Main clause + the possibility that + complete finite clause",
          "Main clause + die Möglichkeit, dass + complete clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-the-possibility-that-complete-finite-gfg016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg016.json"
      },
      {
        "id": "GFG017",
        "title_en": "Main clause + the question of whether to + infinitive",
        "title_ru": "Вопрос о выборе действия",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Main clause + the question of whether to + infinitive",
          "Main clause + die Frage, ob + subject + infinitive + soll/sollen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-the-question-of-whether-to-gfg017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg017.json"
      },
      {
        "id": "GFG018",
        "title_en": "The way in which + subject + verb + main predicate",
        "title_ru": "Описание способа действия",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "The way in which + subject + verb + main predicate",
          "Die Art, wie + clause, + main predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-way-in-which-subject-verb-main-predicate-gfg018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg018.json"
      },
      {
        "id": "GFG019",
        "title_en": "The reason why + subject + verb + is/was that + explanation clause",
        "title_ru": "Причина названа и раскрыта",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "The reason why + subject + verb + is/was that + explanation clause",
          "Der Grund, warum + clause, ist/war, dass + explanation clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-reason-why-subject-verb-is-was-that-gfg019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg019.json"
      },
      {
        "id": "GFG020",
        "title_en": "Noun phrase + subject + relative verb + stranded preposition + main predicate",
        "title_ru": "Опущенное местоимение и конечный предлог",
        "description_en": "A reusable frame from “Relative and nominal clauses”. Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Относительные и именные придаточные». Относительные и именные придаточные: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFG",
        "set_id": "GFG",
        "formulas": [
          "Noun phrase + subject + relative verb + stranded preposition + main predicate",
          "Noun phrase, preposition + relative pronoun + subordinate clause, main continuation"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFG020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/noun-phrase-subject-relative-verb-stranded-gfg020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfg020.json"
      },
      {
        "id": "GFH001",
        "title_en": "Subject + seem(s) to have + past participle",
        "title_ru": "Кажется, действие уже произошло",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + seem(s) to have + past participle",
          "Subject + scheinen + participle + zu haben/sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-seem-s-to-have-past-participle-gfh001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh001.json"
      },
      {
        "id": "GFH002",
        "title_en": "Subject + appear(s) to be + -ing phrase",
        "title_ru": "Похоже на текущий процесс",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + appear(s) to be + -ing phrase",
          "Subject + scheinen + present infinitive with zu"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-appear-s-to-be-ing-phrase-gfh002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh002.json"
      },
      {
        "id": "GFH003",
        "title_en": "Subject + seem(s) to have been + -ing + duration context",
        "title_ru": "Похоже на длительный прошлый процесс",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + seem(s) to have been + -ing + duration context",
          "Subject + scheinen + duration phrase + participle + zu haben"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-seem-s-to-have-been-ing-duration-context-gfh003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh003.json"
      },
      {
        "id": "GFH004",
        "title_en": "Subject + claim(s) to have been + passive participle phrase",
        "title_ru": "Утверждение о прошлом пассивном событии",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + claim(s) to have been + passive participle phrase",
          "Subject + behaupten, participle + worden zu sein / dass + passive clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-claim-s-to-have-been-passive-participle-gfh004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh004.json"
      },
      {
        "id": "GFH005",
        "title_en": "There + seems/seem to be + noun phrase",
        "title_ru": "Предполагаемое наличие",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "There + seems/seem to be + noun phrase",
          "Es scheint + noun phrase + zu geben"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/there-seems-seem-to-be-noun-phrase-gfh005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh005.json"
      },
      {
        "id": "GFH006",
        "title_en": "Subject + be + easy/difficult/hard + to + transitive verb without repeated object",
        "title_ru": "Предмет легко обработать",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + be + easy/difficult/hard + to + transitive verb without repeated object",
          "Subject + sein + leicht/schwer + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-easy-difficult-hard-to-transitive-gfh006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh006.json"
      },
      {
        "id": "GFH007",
        "title_en": "It + be + adjective + for + noun/object pronoun + to-infinitive",
        "title_ru": "Оценка действия для человека",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "It + be + adjective + for + noun/object pronoun + to-infinitive",
          "Es + sein + für + accusative subject phrase + adjective, zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-be-adjective-for-noun-object-pronoun-to-gfh007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh007.json"
      },
      {
        "id": "GFH008",
        "title_en": "It + be + evaluative adjective + of + person + to-infinitive",
        "title_ru": "Оценка поступка человека",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "It + be + evaluative adjective + of + person + to-infinitive",
          "Es + war + evaluative adjective + von + dative person, zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-be-evaluative-adjective-of-person-to-gfh008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh008.json"
      },
      {
        "id": "GFH009",
        "title_en": "For + noun/object pronoun + to-infinitive phrase + singular main predicate",
        "title_ru": "Инфинитивный блок как подлежащее",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "For + noun/object pronoun + to-infinitive phrase + singular main predicate",
          "Dass/wenn + explicit-subject clause, + main predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/for-noun-object-pronoun-to-infinitive-phrase-gfh009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh009.json"
      },
      {
        "id": "GFH010",
        "title_en": "Subject + be + too + adjective + for + actor + to + transitive infinitive",
        "title_ru": "Слишком трудно для исполнителя",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + be + too + adjective + for + actor + to + transitive infinitive",
          "Subject + sein + zu + adjective, als dass + actor + object + Konjunktiv II modal"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-too-adjective-for-actor-to-transitive-gfh010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh010.json"
      },
      {
        "id": "GFH011",
        "title_en": "Subject + be + adjective + enough + for + actor + to-infinitive",
        "title_ru": "Достаточная степень для действия",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + be + adjective + enough + for + actor + to-infinitive",
          "Subject + sein + adjective + genug, damit + actor + modal clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-adjective-enough-for-actor-to-gfh011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh011.json"
      },
      {
        "id": "GFH012",
        "title_en": "Subject + past action, only to + infinitive phrase",
        "title_ru": "Неожиданный результат после действия",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + past action, only to + infinitive phrase",
          "Past action, nur um dann + zu-infinitive of unexpected result"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-past-action-only-to-infinitive-phrase-gfh012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh012.json"
      },
      {
        "id": "GFH013",
        "title_en": "Subject + action + so as not to + bare infinitive",
        "title_ru": "Отрицательная цель",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + action + so as not to + bare infinitive",
          "Subject + action, um + nicht + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-action-so-as-not-to-bare-infinitive-gfh013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh013.json"
      },
      {
        "id": "GFH014",
        "title_en": "Main action + in order for + noun/object pronoun + to-infinitive",
        "title_ru": "Цель с другим исполнителем",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Main action + in order for + noun/object pronoun + to-infinitive",
          "Main action, damit + different subject + subordinate clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-action-in-order-for-noun-object-pronoun-to-gfh014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh014.json"
      },
      {
        "id": "GFH015",
        "title_en": "Subject + be + the ordinal/last + noun + to be + passive participle",
        "title_ru": "Первый объект пассивного действия",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + be + the ordinal/last + noun + to be + passive participle",
          "Subject + sein + definite ordinal noun, passive relative clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-the-ordinal-last-noun-to-be-passive-gfh015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh015.json"
      },
      {
        "id": "GFH016",
        "title_en": "Main clause + noun/pronoun + to + infinitive phrase + required preposition",
        "title_ru": "Предмет или человек для действия",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Main clause + noun/pronoun + to + infinitive phrase + required preposition",
          "Main clause + noun/pronoun + relative clause with preposition"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-noun-pronoun-to-infinitive-phrase-gfh016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh016.json"
      },
      {
        "id": "GFH017",
        "title_en": "Subject + have/has/had no choice but to + infinitive",
        "title_ru": "Не осталось другого выбора",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + have/has/had no choice but to + infinitive",
          "Subject + haben + keine andere Wahl, als + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-have-has-had-no-choice-but-to-infinitive-gfh017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh017.json"
      },
      {
        "id": "GFH018",
        "title_en": "Subject + would rather have + past participle + than + past participle",
        "title_ru": "Предпочтительный прошлый выбор",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + would rather have + past participle + than + past participle",
          "Subject + hätte(n)/wäre(n) lieber + participle, statt + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-would-rather-have-past-participle-than-gfh018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh018.json"
      },
      {
        "id": "GFH019",
        "title_en": "Subject + be + too + adjective + not to + infinitive",
        "title_ru": "Слишком важно, чтобы не сделать",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Subject + be + too + adjective + not to + infinitive",
          "Subject + sein + zu + adjective, um + object + nicht zu + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-too-adjective-not-to-infinitive-gfh019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh019.json"
      },
      {
        "id": "GFH020",
        "title_en": "Main clause + whether to + infinitive + or + parallel infinitive",
        "title_ru": "Выбор между инфинитивами",
        "description_en": "A reusable frame from “Infinitive tense, voice and subject control”. Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Время, залог и исполнитель инфинитива». Время, залог и исполнитель инфинитива: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFH",
        "set_id": "GFH",
        "formulas": [
          "Main clause + whether to + infinitive + or + parallel infinitive",
          "Main clause + ob + subject + infinitive + oder + infinitive + soll/sollen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFH020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-whether-to-infinitive-or-parallel-gfh020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfh020.json"
      },
      {
        "id": "GFI001",
        "title_en": "Subject + remember(s) + -ing phrase",
        "title_ru": "Помнить о прошлом действии",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + remember(s) + -ing phrase",
          "Subject + sich erinnern, zu-infinitive Perfekt / daran, wie + past clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-remember-s-ing-phrase-gfi001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi001.json"
      },
      {
        "id": "GFI002",
        "title_en": "Remember to + infinitive + context",
        "title_ru": "Не забыть выполнить действие",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Remember to + infinitive + context",
          "Denk daran, zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/remember-to-infinitive-context-gfi002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi002.json"
      },
      {
        "id": "GFI003",
        "title_en": "Subject + stop/stopped + -ing phrase",
        "title_ru": "Прекратить действие",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + stop/stopped + -ing phrase",
          "Subject + aufhören, zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-stop-stopped-ing-phrase-gfi003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi003.json"
      },
      {
        "id": "GFI004",
        "title_en": "Subject + stop/stopped + to-infinitive of purpose",
        "title_ru": "Остановиться, чтобы сделать другое действие",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + stop/stopped + to-infinitive of purpose",
          "Subject + anhalten/stehen bleiben, um + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-stop-stopped-to-infinitive-of-purpose-gfi004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi004.json"
      },
      {
        "id": "GFI005",
        "title_en": "Try + -ing phrase as a possible method",
        "title_ru": "Попробовать способ",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Try + -ing phrase as a possible method",
          "Probier aus, ob + action/result clause / imperative + einmal"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/try-ing-phrase-as-a-possible-method-gfi005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi005.json"
      },
      {
        "id": "GFI006",
        "title_en": "Subject + tried to + infinitive, but + obstacle clause",
        "title_ru": "Попытаться достичь цели",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + tried to + infinitive, but + obstacle clause",
          "Subject + versuchen, zu-infinitive, aber + obstacle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-tried-to-infinitive-but-obstacle-clause-gfi006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi006.json"
      },
      {
        "id": "GFI007",
        "title_en": "Subject + regret(s) + -ing phrase",
        "title_ru": "Сожалеть о совершённом",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + regret(s) + -ing phrase",
          "Subject + bereuen, zu-infinitive Perfekt"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-regret-s-ing-phrase-gfi007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi007.json"
      },
      {
        "id": "GFI008",
        "title_en": "Subject + regret(s) to + communication verb + that-clause",
        "title_ru": "С сожалением сообщить плохую новость",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + regret(s) to + communication verb + that-clause",
          "Leider + müssen + subject + mitteilen/sagen, dass + clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-regret-s-to-communication-verb-that-gfi008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi008.json"
      },
      {
        "id": "GFI009",
        "title_en": "Subject/action phrase + mean(s) + -ing consequence",
        "title_ru": "Действие влечёт определённое следствие",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject/action phrase + mean(s) + -ing consequence",
          "Action/subject phrase + bedeuten, zu-infinitive consequence"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-action-phrase-mean-s-ing-consequence-gfi009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi009.json"
      },
      {
        "id": "GFI010",
        "title_en": "Subject + meant to + infinitive, but + explanation",
        "title_ru": "Намереваться что-то сделать",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + meant to + infinitive, but + explanation",
          "Subject + wollten eigentlich + infinitive, aber + explanation"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-meant-to-infinitive-but-explanation-gfi010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi010.json"
      },
      {
        "id": "GFI011",
        "title_en": "Subject + went on + -ing phrase",
        "title_ru": "Продолжать то же действие",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + went on + -ing phrase",
          "Subject + finite verb + weiter"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-went-on-ing-phrase-gfi011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi011.json"
      },
      {
        "id": "GFI012",
        "title_en": "Subject + first past action + and went on to + different infinitive",
        "title_ru": "Перейти к следующему действию",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + first past action + and went on to + different infinitive",
          "Subject + first past action + und + second past action + anschließend"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-first-past-action-and-went-on-to-gfi012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi012.json"
      },
      {
        "id": "GFI013",
        "title_en": "Subject + main predicate + without being + passive participle",
        "title_ru": "Без пассивного предварительного действия",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + main predicate + without being + passive participle",
          "Main clause, ohne dass + passive clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-main-predicate-without-being-passive-gfi013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi013.json"
      },
      {
        "id": "GFI014",
        "title_en": "Subject + reaction verb + having been + passive participle",
        "title_ru": "Реакция на прошлое пассивное событие",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Subject + reaction verb + having been + passive participle",
          "Main reaction clause + dass + earlier passive clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-reaction-verb-having-been-passive-gfi014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi014.json"
      },
      {
        "id": "GFI015",
        "title_en": "Having + past participle phrase, shared subject + main predicate",
        "title_ru": "Предварительно завершённое действие",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Having + past participle phrase, shared subject + main predicate",
          "Nachdem + same-subject past-perfect clause, + main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/having-past-participle-phrase-shared-subject-gfi015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi015.json"
      },
      {
        "id": "GFI016",
        "title_en": "Not having + past participle phrase, shared subject + main predicate",
        "title_ru": "Не получив результата",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Not having + past participle phrase, shared subject + main predicate",
          "Da + same subject + negative past-perfect clause, + main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/not-having-past-participle-phrase-shared-subject-gfi016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi016.json"
      },
      {
        "id": "GFI017",
        "title_en": "Having been + passive participle phrase, shared subject + main predicate",
        "title_ru": "Получив воздействие, действовать",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "Having been + passive participle phrase, shared subject + main predicate",
          "Nachdem + same-subject past passive clause, + main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/having-been-passive-participle-phrase-shared-gfi017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi017.json"
      },
      {
        "id": "GFI018",
        "title_en": "On being + passive participle phrase, shared subject + main predicate",
        "title_ru": "Реакция сразу после обращения",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "On being + passive participle phrase, shared subject + main predicate",
          "Als + passive event clause, + main reaction clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/on-being-passive-participle-phrase-shared-gfi018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi018.json"
      },
      {
        "id": "GFI019",
        "title_en": "With + independent subject + -ing phrase, main clause",
        "title_ru": "Отдельный активный участник в сопутствующей конструкции",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "With + independent subject + -ing phrase, main clause",
          "Da/während + independent finite clause, + main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/with-independent-subject-ing-phrase-main-clause-gfi019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi019.json"
      },
      {
        "id": "GFI020",
        "title_en": "With + independent noun phrase + past participle, main clause",
        "title_ru": "Завершённое состояние в сопутствующей конструкции",
        "description_en": "A reusable frame from “Gerund contrasts and participial clauses”. Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Герундий и причастные конструкции». Герундий и причастные конструкции: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFI",
        "set_id": "GFI",
        "formulas": [
          "With + independent noun phrase + past participle, main clause",
          "Da/nachdem + independent state clause, + main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFI020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/with-independent-noun-phrase-past-participle-gfi020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfi020.json"
      },
      {
        "id": "GFJ001",
        "title_en": "Subject + am/is/are being + passive participle, so + consequence",
        "title_ru": "Действие над предметом идёт сейчас",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + am/is/are being + passive participle, so + consequence",
          "Subject + werden + gerade + participle, deshalb + consequence"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-am-is-are-being-passive-participle-so-gfj001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj001.json"
      },
      {
        "id": "GFJ002",
        "title_en": "By + future deadline, subject + will have been + passive participle",
        "title_ru": "Пассивное завершение к будущему сроку",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "By + future deadline, subject + will have been + passive participle",
          "Bis + future deadline + sein + subject + participle / Futur II passive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/by-future-deadline-subject-will-have-been-gfj002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj002.json"
      },
      {
        "id": "GFJ003",
        "title_en": "Subject + got + passive participle + event context",
        "title_ru": "Событийный пассив",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + got + passive participle + event context",
          "Subject + wurde(n) + passive participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-got-passive-participle-event-context-gfj003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj003.json"
      },
      {
        "id": "GFJ004",
        "title_en": "Subject + had + object + past participle + service context",
        "title_ru": "Заказать услугу",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + had + object + past participle + service context",
          "Subject + ließ(en) + object + bare infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-had-object-past-participle-service-gfj004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj004.json"
      },
      {
        "id": "GFJ005",
        "title_en": "Subject + had + possessed object + adverse passive participle + context",
        "title_ru": "Нежелательное событие с имуществом",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + had + possessed object + adverse passive participle + context",
          "Dative affected person + wurde(n) + possessed object + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-had-possessed-object-adverse-passive-gfj005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj005.json"
      },
      {
        "id": "GFJ006",
        "title_en": "Subject + main verb + get + object + past participle",
        "title_ru": "Добиться выполнения работы",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + main verb + get + object + past participle",
          "Subject + modal/main verb + object + infinitive + lassen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-main-verb-get-object-past-participle-gfj006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj006.json"
      },
      {
        "id": "GFJ007",
        "title_en": "Subject + had + person + bare infinitive phrase",
        "title_ru": "Поручить названному человеку",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + had + person + bare infinitive phrase",
          "Subject + ließ(en) + person in accusative + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-had-person-bare-infinitive-phrase-gfj007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj007.json"
      },
      {
        "id": "GFJ008",
        "title_en": "Subject + got + person + to-infinitive phrase",
        "title_ru": "Убедить человека действовать",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + got + person + to-infinitive phrase",
          "Subject + brachte(n) + person + dazu, zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-got-person-to-infinitive-phrase-gfj008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj008.json"
      },
      {
        "id": "GFJ009",
        "title_en": "Subject/cause + made + object + bare infinitive",
        "title_ru": "Причина заставляет действовать",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject/cause + made + object + bare infinitive",
          "Cause + bringen + person + dazu, zu-infinitive / causative clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-cause-made-object-bare-infinitive-gfj009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj009.json"
      },
      {
        "id": "GFJ010",
        "title_en": "Subject + was/were made to + infinitive",
        "title_ru": "Пассив после глагола принуждения",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + was/were made to + infinitive",
          "Subject + wurde(n) gezwungen, zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-was-were-made-to-infinitive-gfj010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj010.json"
      },
      {
        "id": "GFJ011",
        "title_en": "Subject + let + person/object pronoun + bare infinitive",
        "title_ru": "Разрешить человеку",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + let + person/object pronoun + bare infinitive",
          "Subject + ließ(en) + person + bare infinitive / erlaubte(n), zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-let-person-object-pronoun-bare-gfj011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj011.json"
      },
      {
        "id": "GFJ012",
        "title_en": "Subject + was/were allowed to + infinitive",
        "title_ru": "Разрешение на действие",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + was/were allowed to + infinitive",
          "Subject + durfte(n) + bare infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-was-were-allowed-to-infinitive-gfj012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj012.json"
      },
      {
        "id": "GFJ013",
        "title_en": "Subject + saw/heard + object + -ing phrase",
        "title_ru": "Наблюдать процесс",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + saw/heard + object + -ing phrase",
          "Subject + sah(en)/hörte(n), wie + ongoing action clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-saw-heard-object-ing-phrase-gfj013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj013.json"
      },
      {
        "id": "GFJ014",
        "title_en": "Subject + saw/heard + object + bare infinitive phrase",
        "title_ru": "Увидеть событие целиком",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + saw/heard + object + bare infinitive phrase",
          "Subject + sah(en)/hörte(n) + object + bare infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-saw-heard-object-bare-infinitive-phrase-gfj014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj014.json"
      },
      {
        "id": "GFJ015",
        "title_en": "Subject + was/were seen/heard to + infinitive",
        "title_ru": "О событии свидетельствуют в пассиве",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + was/were seen/heard to + infinitive",
          "Man sah/hörte, wie/dass + witnessed event clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-was-were-seen-heard-to-infinitive-gfj015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj015.json"
      },
      {
        "id": "GFJ016",
        "title_en": "It + be + reporting participle + that + complete clause",
        "title_ru": "Передать сообщение без источника",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "It + be + reporting participle + that + complete clause",
          "Es heißt / Es wird berichtet/vermutet, dass + clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-be-reporting-participle-that-complete-clause-gfj016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj016.json"
      },
      {
        "id": "GFJ017",
        "title_en": "Subject + be + reporting participle + to have + past participle",
        "title_ru": "Сообщение о прошлом действии",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Subject + be + reporting participle + to have + past participle",
          "Man vermutet/berichtet/nimmt an, dass + earlier event clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-reporting-participle-to-have-past-gfj017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj017.json"
      },
      {
        "id": "GFJ018",
        "title_en": "There + is/are + reporting participle + to be + noun phrase",
        "title_ru": "Предполагаемое наличие в пассиве",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "There + is/are + reporting participle + to be + noun phrase",
          "Es wird angenommen / Es heißt, dass + es + noun phrase + gibt"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/there-is-are-reporting-participle-to-be-noun-gfj018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj018.json"
      },
      {
        "id": "GFJ019",
        "title_en": "Affected object + need(s) + transitive -ing form",
        "title_ru": "Действие, которое нужно выполнить над объектом",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Affected object + need(s) + transitive -ing form",
          "Affected object + müssen + participle + werden"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/affected-object-need-s-transitive-ing-form-gfj019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj019.json"
      },
      {
        "id": "GFJ020",
        "title_en": "Recipient subject + was/were + two-object verb participle + thing object",
        "title_ru": "Получатель как подлежащее пассива",
        "description_en": "A reusable frame from “Passive, causative and perception”. Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Пассив, побуждение и восприятие». Пассив, побуждение и восприятие: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFJ",
        "set_id": "GFJ",
        "formulas": [
          "Recipient subject + was/were + two-object verb participle + thing object",
          "Dative recipient + wurde(n) + thing subject + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFJ020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/recipient-subject-was-were-two-object-verb-gfj020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfj020.json"
      },
      {
        "id": "GFK001",
        "title_en": "Subject + told + object + not to + infinitive",
        "title_ru": "Передать отрицательное указание",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + told + object + not to + infinitive",
          "Subject + sagte(n) + dative addressee, nicht + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-told-object-not-to-infinitive-gfk001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk001.json"
      },
      {
        "id": "GFK002",
        "title_en": "Subject + asked whether + embedded subject + had + past participle",
        "title_ru": "Косвенный вопрос о прошлом",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + asked whether + embedded subject + had + past participle",
          "Subject + fragte(n), ob + embedded subject + participle + hatte(n)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-asked-whether-embedded-subject-had-past-gfk002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk002.json"
      },
      {
        "id": "GFK003",
        "title_en": "Subject + asked + wh-word + embedded subject + ordinary predicate",
        "title_ru": "Косвенный специальный вопрос без инверсии",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + asked + wh-word + embedded subject + ordinary predicate",
          "Subject + fragte(n), wh-word + embedded subject + predicate at end"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-asked-wh-word-embedded-subject-ordinary-gfk003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk003.json"
      },
      {
        "id": "GFK004",
        "title_en": "Subject + reporting verb + how/where/when + to-infinitive",
        "title_ru": "Объяснить, как выполнить",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + reporting verb + how/where/when + to-infinitive",
          "Subject + reporting verb, wh-word + man/we + infinitive + soll/kann"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-reporting-verb-how-where-when-to-gfk004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk004.json"
      },
      {
        "id": "GFK005",
        "title_en": "Subject + said + embedded subject + had already + past participle",
        "title_ru": "Событие до момента сообщения",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + said + embedded subject + had already + past participle",
          "Subject + sagte(n), embedded subject + habe(n) bereits + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-said-embedded-subject-had-already-past-gfk005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk005.json"
      },
      {
        "id": "GFK006",
        "title_en": "Subject + said + embedded subject + would be + -ing + relative future time",
        "title_ru": "Будущий процесс из прошлого",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + said + embedded subject + would be + -ing + relative future time",
          "Subject + sagte(n), embedded subject + werde(n)/würde(n) + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-said-embedded-subject-would-be-ing-gfk006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk006.json"
      },
      {
        "id": "GFK007",
        "title_en": "Subject + said + embedded subject + would have + participle + by + later boundary",
        "title_ru": "Будущее завершение из прошлого",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + said + embedded subject + would have + participle + by + later boundary",
          "Subject + sagte(n), embedded subject + werde(n)/würde(n) + participle + haben/sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-said-embedded-subject-would-have-gfk007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk007.json"
      },
      {
        "id": "GFK008",
        "title_en": "Subject + explained that + embedded subject + had been + -ing + duration",
        "title_ru": "Рассказ о прошлой длительности",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + explained that + embedded subject + had been + -ing + duration",
          "Subject + erklärte(n), embedded subject + habe/hätte + duration + participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-explained-that-embedded-subject-had-been-gfk008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk008.json"
      },
      {
        "id": "GFK009",
        "title_en": "Subject + said + still-valid present clause + confirmation of current validity",
        "title_ru": "Сохранить настоящее для актуального факта",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + said + still-valid present clause + confirmation of current validity",
          "Subject + sagte(n), dass + present clause + explicit continuing-validity context"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-said-still-valid-present-clause-gfk009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk009.json"
      },
      {
        "id": "GFK010",
        "title_en": "Subject + said + embedded subject + had to + infinitive",
        "title_ru": "Передать прошлую обязанность",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + said + embedded subject + had to + infinitive",
          "Subject + sagte(n), embedded subject + müsse(n) + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-said-embedded-subject-had-to-infinitive-gfk010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk010.json"
      },
      {
        "id": "GFK011",
        "title_en": "Subject + said + embedded subject + must have + past participle",
        "title_ru": "Передача вывода о прошлом",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + said + embedded subject + must have + past participle",
          "Subject + sagte(n), embedded subject + müsse(n) + participle + haben/sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-said-embedded-subject-must-have-past-gfk011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk011.json"
      },
      {
        "id": "GFK012",
        "title_en": "Subject + said + counterfactual would-have clause + if + past-perfect clause",
        "title_ru": "Передать нереальное прошлое",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + said + counterfactual would-have clause + if + past-perfect clause",
          "Subject + sagte(n), past Konjunktiv II main clause + wenn + past Konjunktiv II condition"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-said-counterfactual-would-have-clause-if-gfk012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk012.json"
      },
      {
        "id": "GFK013",
        "title_en": "Subject + suggested that + embedded subject + base-form verb",
        "title_ru": "Рекомендация с базовой формой глагола",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + suggested that + embedded subject + base-form verb",
          "Subject + schlug(en) vor, dass + subject + infinitive + sollte(n)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-suggested-that-embedded-subject-base-gfk013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk013.json"
      },
      {
        "id": "GFK014",
        "title_en": "Subject + insisted that + ordinary tensed content clause",
        "title_ru": "Настаивать на истинности факта",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + insisted that + ordinary tensed content clause",
          "Subject + bestand(en) darauf, dass + reported factual clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-insisted-that-ordinary-tensed-content-gfk014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk014.json"
      },
      {
        "id": "GFK015",
        "title_en": "It is + requirement adjective + that + subject + be + passive participle",
        "title_ru": "Требование с неизменяемой формой глагола",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "It is + requirement adjective + that + subject + be + passive participle",
          "Es ist + adjective, dass + subject + participle + wird/werden"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-is-requirement-adjective-that-subject-be-gfk015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk015.json"
      },
      {
        "id": "GFK016",
        "title_en": "Subject + advised + person/object pronoun + to-infinitive",
        "title_ru": "Совет конкретному человеку",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + advised + person/object pronoun + to-infinitive",
          "Subject + riet(en) + dative person, zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-advised-person-object-pronoun-to-gfk016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk016.json"
      },
      {
        "id": "GFK017",
        "title_en": "Subject + admitted to having + past participle",
        "title_ru": "Признать прошлое действие",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + admitted to having + past participle",
          "Subject + gab(en) zu, participle + zu haben"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-admitted-to-having-past-participle-gfk017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk017.json"
      },
      {
        "id": "GFK018",
        "title_en": "Subject + accused + person + of + -ing phrase",
        "title_ru": "Обвинить в действии",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + accused + person + of + -ing phrase",
          "Subject + warf(en) + dative person + vor, zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-accused-person-of-ing-phrase-gfk018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk018.json"
      },
      {
        "id": "GFK019",
        "title_en": "Subject + warned + person + against + -ing phrase",
        "title_ru": "Предостеречь от действия",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + warned + person + against + -ing phrase",
          "Subject + warnte(n) + person + davor, zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-warned-person-against-ing-phrase-gfk019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk019.json"
      },
      {
        "id": "GFK020",
        "title_en": "Subject + apologised for having + past participle phrase",
        "title_ru": "Извиниться за прошлое действие",
        "description_en": "A reusable frame from “Reporting and clause complements”. Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Косвенная речь и дополнения». Косвенная речь и дополнения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFK",
        "set_id": "GFK",
        "formulas": [
          "Subject + apologised for having + past participle phrase",
          "Subject + entschuldigte(n) sich dafür, participle + zu haben"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFK020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-apologised-for-having-past-participle-gfk020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfk020.json"
      },
      {
        "id": "GFL001",
        "title_en": "Didn't + subject + bare infinitive phrase?",
        "title_ru": "Отрицательный вопрос и ожидание",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Didn't + subject + bare infinitive phrase?",
          "Haben/sein + subject + nicht + participle phrase?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/didn-t-subject-bare-infinitive-phrase-gfl001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl001.json"
      },
      {
        "id": "GFL002",
        "title_en": "Indefinite person pronoun + singular affirmative clause, negative auxiliary + they?",
        "title_ru": "Вопросительный хвостик после неопределённого лица",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Indefinite person pronoun + singular affirmative clause, negative auxiliary + they?",
          "Statement about people, oder?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/indefinite-person-pronoun-singular-affirmative-gfl002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl002.json"
      },
      {
        "id": "GFL003",
        "title_en": "I am + affirmative complement, aren't I?",
        "title_ru": "Особый вопросительный хвостик после формы «я есть»",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "I am + affirmative complement, aren't I?",
          "Ich bin/soll + statement, oder?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-am-affirmative-complement-aren-t-i-gfl003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl003.json"
      },
      {
        "id": "GFL004",
        "title_en": "Let's + bare infinitive phrase, shall we?",
        "title_ru": "Вопросительный хвостик после предложения сделать что-то вместе",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Let's + bare infinitive phrase, shall we?",
          "Lass uns / Lasst uns + infinitive, ja?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/let-s-bare-infinitive-phrase-shall-we-gfl004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl004.json"
      },
      {
        "id": "GFL005",
        "title_en": "Affirmative or negative imperative, will you?",
        "title_ru": "Вопросительный хвостик после просьбы",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Affirmative or negative imperative, will you?",
          "Imperative, ja?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/affirmative-or-negative-imperative-will-you-gfl005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl005.json"
      },
      {
        "id": "GFL006",
        "title_en": "Subject + negative-meaning adverb + predicate, affirmative auxiliary + pronoun?",
        "title_ru": "Положительный хвостик после слова с отрицательным смыслом",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Subject + negative-meaning adverb + predicate, affirmative auxiliary + pronoun?",
          "Negative-meaning statement, oder?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-negative-meaning-adverb-predicate-gfl006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl006.json"
      },
      {
        "id": "GFL007",
        "title_en": "There + affirmative existential clause, matching negative auxiliary + there?",
        "title_ru": "Безличное «там» сохраняется в хвостике",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "There + affirmative existential clause, matching negative auxiliary + there?",
          "Es gibt/gab/müsste geben + statement, oder?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/there-affirmative-existential-clause-matching-gfl007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl007.json"
      },
      {
        "id": "GFL008",
        "title_en": "Subject + ordinary predicate + in-situ wh-phrase?",
        "title_ru": "Удивлённый переспрос",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Subject + ordinary predicate + in-situ wh-phrase?",
          "Subject + finite verb in second position + ... + wh-phrase + remaining verb parts?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-ordinary-predicate-in-situ-wh-phrase-gfl008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl008.json"
      },
      {
        "id": "GFL009",
        "title_en": "Could you tell me + wh-word/phrase + subject + ordinary predicate?",
        "title_ru": "Вежливый вложенный вопрос",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Could you tell me + wh-word/phrase + subject + ordinary predicate?",
          "Könnten Sie mir sagen, wh-word + subordinate clause?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-you-tell-me-wh-word-phrase-subject-gfl009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl009.json"
      },
      {
        "id": "GFL010",
        "title_en": "Who/Which + subject noun + tensed predicate?",
        "title_ru": "Вопрос к подлежащему без вспомогательного глагола",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Who/Which + subject noun + tensed predicate?",
          "Wer/Welcher + subject noun + finite predicate?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/who-which-subject-noun-tensed-predicate-gfl010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl010.json"
      },
      {
        "id": "GFL011",
        "title_en": "Wh-object phrase + did + subject + bare infinitive?",
        "title_ru": "Вопрос к дополнению со вспомогательным глаголом прошлого времени",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Wh-object phrase + did + subject + bare infinitive?",
          "Wh-object + finite verb + subject + rest of predicate?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/wh-object-phrase-did-subject-bare-infinitive-gfl011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl011.json"
      },
      {
        "id": "GFL012",
        "title_en": "Wh-word + auxiliary + subject + verb phrase + required preposition?",
        "title_ru": "Предлог в конце вопроса",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Wh-word + auxiliary + subject + verb phrase + required preposition?",
          "Preposition + wh-pronoun / wo-compound + finite question?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/wh-word-auxiliary-subject-verb-phrase-required-gfl012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl012.json"
      },
      {
        "id": "GFL013",
        "title_en": "Affirmative clause, and so + matching auxiliary + second subject",
        "title_ru": "Утвердительное присоединение «я тоже»",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Affirmative clause, and so + matching auxiliary + second subject",
          "Affirmative clause, und + second subject + matching auxiliary + auch"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/affirmative-clause-and-so-matching-auxiliary-gfl013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl013.json"
      },
      {
        "id": "GFL014",
        "title_en": "Negative clause, and neither + matching affirmative auxiliary + second subject",
        "title_ru": "Отрицательное присоединение «я тоже не»",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Negative clause, and neither + matching affirmative auxiliary + second subject",
          "Negative clause, und + second subject + auch nicht"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/negative-clause-and-neither-matching-affirmative-gfl014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl014.json"
      },
      {
        "id": "GFL015",
        "title_en": "Yes-no question? Subject + think(s) so",
        "title_ru": "Замена целого утверждения коротким подтверждением",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Yes-no question? Subject + think(s) so.",
          "Yes-no question? Subject + glauben/denken + schon."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/yes-no-question-subject-think-s-so-gfl015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl015.json"
      },
      {
        "id": "GFL016",
        "title_en": "Undesired yes-no possibility? Subject + hope(s) not",
        "title_ru": "Краткий ответ «надеюсь, нет»",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Undesired yes-no possibility? Subject + hope(s) not.",
          "Undesired yes-no possibility? Subject + hoffen + nicht."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/undesired-yes-no-possibility-subject-hope-s-not-gfl016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl016.json"
      },
      {
        "id": "GFL017",
        "title_en": "Previously named action, + do/does/did so + circumstance",
        "title_ru": "Замена повторного действия короткой формой",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Previously named action, + do/does/did so + circumstance",
          "Previously named action + das tun/machen + circumstance"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/previously-named-action-do-does-did-so-gfl017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl017.json"
      },
      {
        "id": "GFL018",
        "title_en": "Known action clause, but + subject + verb selecting infinitive + to",
        "title_ru": "Опущенный инфинитив с сохранённой частицей",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Known action clause, but + subject + verb selecting infinitive + to.",
          "Known action + natural omitted-action or pronominal continuation"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/known-action-clause-but-subject-verb-selecting-gfl018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl018.json"
      },
      {
        "id": "GFL019",
        "title_en": "Yes-no question or possibility. If so, + consequence",
        "title_ru": "Краткое условие «если да»",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Yes-no question or possibility. If so, + consequence.",
          "Question or possibility. Falls ja / Wenn ja, + consequence."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/yes-no-question-or-possibility-if-so-consequence-gfl019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl019.json"
      },
      {
        "id": "GFL020",
        "title_en": "Known proposition; if not, + alternative consequence",
        "title_ru": "Краткое условие «если нет»",
        "description_en": "A reusable frame from “Questions, tags and ellipsis”. Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Вопросы, хвостики и сокращения». Вопросы, хвостики и сокращения: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFL",
        "set_id": "GFL",
        "formulas": [
          "Known proposition; if not, + alternative consequence",
          "Known proposition; falls nicht, + alternative consequence"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFL020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/known-proposition-if-not-alternative-consequence-gfl020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfl020.json"
      },
      {
        "id": "GFM001",
        "title_en": "A/an + noun + of + mine/yours/his/hers/ours/theirs/name's + predicate",
        "title_ru": "Один из моих знакомых или объектов",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "A/an + noun + of + mine/yours/his/hers/ours/theirs/name's + predicate",
          "Ein/eine + noun + von + dative person + predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-an-noun-of-mine-yours-his-hers-ours-theirs-gfm001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm001.json"
      },
      {
        "id": "GFM002",
        "title_en": "Main clause + another + singular count noun",
        "title_ru": "Ещё один или другой объект",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Main clause + another + singular count noun",
          "Main clause + ein weiterer/ein anderer + singular noun"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-another-singular-count-noun-gfm002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm002.json"
      },
      {
        "id": "GFM003",
        "title_en": "Main clause + other + plural count noun",
        "title_ru": "Другие объекты",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Main clause + other + plural count noun",
          "Main clause + andere + plural noun"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-other-plural-count-noun-gfm003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm003.json"
      },
      {
        "id": "GFM004",
        "title_en": "One + singular noun + predicate, but/and + the other + singular noun + predicate",
        "title_ru": "Оставшийся из двух объектов",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "One + singular noun + predicate, but/and + the other + singular noun + predicate",
          "Ein/eine + noun ..., der/die/das andere + noun ..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/one-singular-noun-predicate-but-and-the-other-gfm004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm004.json"
      },
      {
        "id": "GFM005",
        "title_en": "Some + plural noun + predicate; others + contrasting predicate",
        "title_ru": "Одни и другие без повтора имени",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Some + plural noun + predicate; others + contrasting predicate",
          "Manche + plural noun + predicate; andere + contrasting predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/some-plural-noun-predicate-others-contrasting-gfm005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm005.json"
      },
      {
        "id": "GFM006",
        "title_en": "Main clause + such a/an + adjective + singular count noun + that + result",
        "title_ru": "Усиление с исчисляемым существительным в единственном числе",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Main clause + such a/an + adjective + singular count noun + that + result",
          "Main clause + ein so + adjective + singular noun, dass + result"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-such-a-an-adjective-singular-count-gfm006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm006.json"
      },
      {
        "id": "GFM007",
        "title_en": "Main clause + such + adjective + mass/plural noun + that + result",
        "title_ru": "Усиление с неисчисляемым или множественным существительным",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Main clause + such + adjective + mass/plural noun + that + result",
          "Main clause + so + adjective + natural noun phrase, dass + result"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-such-adjective-mass-plural-noun-that-gfm007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm007.json"
      },
      {
        "id": "GFM008",
        "title_en": "It/That + be + too + adjective + a/an + singular noun + to-infinitive",
        "title_ru": "Слишком высокая степень признака перед существительным",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "It/That + be + too + adjective + a/an + singular noun + to-infinitive",
          "Subject + sein + ein/eine zu + adjective + noun, um + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-that-be-too-adjective-a-an-singular-noun-to-gfm008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm008.json"
      },
      {
        "id": "GFM009",
        "title_en": "Subject + be + as + adjective + a/an + singular noun + as + comparison target",
        "title_ru": "Сравнение с необычным порядком артикля",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Subject + be + as + adjective + a/an + singular noun + as + comparison target",
          "Subject + sein + ein/eine ebenso/so + adjective + noun + wie + target"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-as-adjective-a-an-singular-noun-as-gfm009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm009.json"
      },
      {
        "id": "GFM010",
        "title_en": "What a/an + singular noun phrase + subject + predicate!",
        "title_ru": "Восклицание с существительным",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "What a/an + singular noun phrase + subject + predicate!",
          "Was für ein/eine + noun + clause or natural exclamation"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-a-an-singular-noun-phrase-subject-predicate-gfm010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm010.json"
      },
      {
        "id": "GFM011",
        "title_en": "The + human-group adjective + plural predicate",
        "title_ru": "Прилагательное называет группу людей",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "The + human-group adjective + plural predicate",
          "Die + capitalised nominalised adjective in plural + plural predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-human-group-adjective-plural-predicate-gfm011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm011.json"
      },
      {
        "id": "GFM012",
        "title_en": "Main clause + a/an + number-singular measure + head noun",
        "title_ru": "Мера как составное прилагательное",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Main clause + a/an + number-singular measure + head noun",
          "Main clause + inflected measure adjective/compound + noun"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-a-an-number-singular-measure-head-gfm012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm012.json"
      },
      {
        "id": "GFM013",
        "title_en": "Main clause + number + plural time-unit' + noun",
        "title_ru": "Длительность с притяжательным апострофом",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Main clause + number + plural time-unit' + noun",
          "Main clause + number + time noun + natural measure construction"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-number-plural-time-unit-noun-gfm013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm013.json"
      },
      {
        "id": "GFM014",
        "title_en": "Main clause + determiner + adjective + one/ones",
        "title_ru": "Замена повторяющегося существительного",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Main clause + determiner + adjective + one/ones",
          "Main clause + inflected pronominal adjective / repeated noun"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-determiner-adjective-one-ones-gfm014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm014.json"
      },
      {
        "id": "GFM015",
        "title_en": "Noun phrase + comparison predicate + that/those of + comparison owner",
        "title_ru": "Замена существительного в сравнении",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Noun phrase + comparison predicate + that/those of + comparison owner",
          "Noun phrase + comparison + der/die/das/denen + genitive/relative complement"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/noun-phrase-comparison-predicate-that-those-of-gfm015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm015.json"
      },
      {
        "id": "GFM016",
        "title_en": "All/Both + possessive determiner + plural noun + predicate",
        "title_ru": "Количество перед притяжательной формой",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "All/Both + possessive determiner + plural noun + predicate",
          "Possessive determiner + beide + plural noun / alle + possessive determiner + plural noun"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/all-both-possessive-determiner-plural-noun-gfm016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm016.json"
      },
      {
        "id": "GFM017",
        "title_en": "Main clause + determiner/number + piece(s) of + uncountable noun",
        "title_ru": "Единица неисчисляемого",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Main clause + determiner/number + piece(s) of + uncountable noun",
          "Main clause + natural countable equivalent noun"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-determiner-number-piece-s-of-gfm017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm017.json"
      },
      {
        "id": "GFM018",
        "title_en": "Any + singular count noun + can + infinitive",
        "title_ru": "Любой представитель класса",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Any + singular count noun + can + infinitive",
          "Jeder/Jede/Jedes + singular noun + kann + infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/any-singular-count-noun-can-infinitive-gfm018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm018.json"
      },
      {
        "id": "GFM019",
        "title_en": "Some + number + noun + predicate",
        "title_ru": "Приблизительное количество перед числом",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Some + number + noun + predicate",
          "Etwa/Rund + number + noun + predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/some-number-noun-predicate-gfm019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm019.json"
      },
      {
        "id": "GFM020",
        "title_en": "Singular item + location verb + on/at either + singular paired location noun",
        "title_ru": "Любая из двух сторон",
        "description_en": "A reusable frame from “Noun phrases and reference”. Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Именные группы и отсылки». Именные группы и отсылки: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFM",
        "set_id": "GFM",
        "formulas": [
          "Singular item + location verb + on/at either + singular paired location noun",
          "An/Auf beiden + plural location noun + steht/hängt jeweils + singular item"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFM020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/singular-item-location-verb-on-at-either-gfm020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfm020.json"
      },
      {
        "id": "GFN001",
        "title_en": "Despite the fact that + finite clause, main clause",
        "title_ru": "Уступка перед целым придаточным",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Despite the fact that + finite clause, main clause",
          "Obwohl + subordinate clause, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/despite-the-fact-that-finite-clause-main-clause-gfn001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn001.json"
      },
      {
        "id": "GFN002",
        "title_en": "Despite having + past participle phrase, shared subject + main predicate",
        "title_ru": "Несмотря на завершённое действие",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Despite having + past participle phrase, shared subject + main predicate",
          "Obwohl + earlier same-subject clause, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/despite-having-past-participle-phrase-shared-gfn002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn002.json"
      },
      {
        "id": "GFN003",
        "title_en": "Although + adjective phrase, shared subject + main predicate",
        "title_ru": "Сокращённая уступительная конструкция",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Although + adjective phrase, shared subject + main predicate",
          "Obwohl + explicit-subject finite clause, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/although-adjective-phrase-shared-subject-main-gfn003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn003.json"
      },
      {
        "id": "GFN004",
        "title_en": "Clause about A, whereas + parallel clause about B",
        "title_ru": "Сопоставление двух контрастных утверждений",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Clause about A, whereas + parallel clause about B",
          "Clause about A, während + contrasting subordinate clause about B"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/clause-about-a-whereas-parallel-clause-about-b-gfn004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn004.json"
      },
      {
        "id": "GFN005",
        "title_en": "However + adjective/adverb + subject + verb, main clause",
        "title_ru": "Как бы ни менялась степень",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "However + adjective/adverb + subject + verb, main clause",
          "Wie + adjective/adverb + subject + auch + verb, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/however-adjective-adverb-subject-verb-main-gfn005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn005.json"
      },
      {
        "id": "GFN006",
        "title_en": "Whatever + noun + subject + verb, main clause",
        "title_ru": "Какой бы вариант ни выбрали",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Whatever + noun + subject + verb, main clause",
          "Welchen/Welche + noun + subject + auch + verb, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/whatever-noun-subject-verb-main-clause-gfn006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn006.json"
      },
      {
        "id": "GFN007",
        "title_en": "Much as + subject + stance verb, contrasting main clause",
        "title_ru": "Как бы ни ценил предложение",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Much as + subject + stance verb, contrasting main clause",
          "So sehr + subject + stance predicate + auch, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/much-as-subject-stance-verb-contrasting-main-gfn007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn007.json"
      },
      {
        "id": "GFN008",
        "title_en": "Adjective + though + subject + be, contrasting main clause",
        "title_ru": "Признак вынесен в начало уступительной конструкции",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Adjective + though + subject + be, contrasting main clause",
          "So + adjective + subordinate clause + auch, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/adjective-though-subject-be-contrasting-main-gfn008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn008.json"
      },
      {
        "id": "GFN009",
        "title_en": "Main claim + in that + finite clause specifying the respect",
        "title_ru": "В том отношении, что",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Main claim + in that + finite clause specifying the respect",
          "Main claim + darin/dadurch, dass + specifying clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-claim-in-that-finite-clause-specifying-the-gfn009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn009.json"
      },
      {
        "id": "GFN010",
        "title_en": "Main action + not because + rejected reason, but because + actual reason",
        "title_ru": "Не по этой причине, а по другой",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Main action + not because + rejected reason, but because + actual reason",
          "Main action + nicht weil + rejected reason, sondern weil + actual reason"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-action-not-because-rejected-reason-but-gfn010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn010.json"
      },
      {
        "id": "GFN011",
        "title_en": "Now that + newly true clause, resulting main clause",
        "title_ru": "Теперь, когда ситуация изменилась",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Now that + newly true clause, resulting main clause",
          "Jetzt, da + newly true subordinate clause, main clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/now-that-newly-true-clause-resulting-main-clause-gfn011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn011.json"
      },
      {
        "id": "GFN012",
        "title_en": "Given that + premise clause, main judgement or recommendation",
        "title_ru": "Учитывая исходную предпосылку",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Given that + premise clause, main judgement or recommendation",
          "Da + relevant premise clause, main judgement"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/given-that-premise-clause-main-judgement-or-gfn012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn012.json"
      },
      {
        "id": "GFN013",
        "title_en": "Subject + past action + so that + different subject + could + infinitive",
        "title_ru": "Цель с другим исполнителем",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Subject + past action + so that + different subject + could + infinitive",
          "Past action, damit + different subject + infinitive + konnte(n)"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-past-action-so-that-different-subject-gfn013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn013.json"
      },
      {
        "id": "GFN014",
        "title_en": "Precautionary action + in case + subject + present predicate",
        "title_ru": "Мера предосторожности на будущее",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Precautionary action + in case + subject + present predicate",
          "Precautionary action, falls + possible future clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/precautionary-action-in-case-subject-present-gfn014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn014.json"
      },
      {
        "id": "GFN015",
        "title_en": "Subject + past precaution + in case + subject + past-form predicate",
        "title_ru": "Мера предосторожности из прошлого",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Subject + past precaution + in case + subject + past-form predicate",
          "Past precaution, falls + possible later past-viewpoint clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-past-precaution-in-case-subject-past-gfn015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn015.json"
      },
      {
        "id": "GFN016",
        "title_en": "Subject + past appearance verb + as if + subject + had + participle",
        "title_ru": "Впечатление о более раннем событии",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Subject + past appearance verb + as if + subject + had + participle",
          "Subject + wirkte/sah aus/klang, als + past Konjunktiv II clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-past-appearance-verb-as-if-subject-had-gfn016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn016.json"
      },
      {
        "id": "GFN017",
        "title_en": "Subject + present predicate + as if + subject + were + complement",
        "title_ru": "Нереальное сравнение",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Subject + present predicate + as if + subject + were + complement",
          "Present predicate, als + subject + complement + wäre / als wäre + subject"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-present-predicate-as-if-subject-were-gfn017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn017.json"
      },
      {
        "id": "GFN018",
        "title_en": "Main judgement + insofar as + clause defining its extent",
        "title_ru": "Утверждение ограничено степенью",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Main judgement + insofar as + clause defining its extent",
          "Main judgement + insofern, als + limiting clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-judgement-insofar-as-clause-defining-its-gfn018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn018.json"
      },
      {
        "id": "GFN019",
        "title_en": "Main clause, except that + complete exception clause",
        "title_ru": "Исключение в виде придаточного",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Main clause, except that + complete exception clause",
          "Main clause, nur dass + exception clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-except-that-complete-exception-gfn019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn019.json"
      },
      {
        "id": "GFN020",
        "title_en": "Rather than + -ing phrase, shared subject + chosen action",
        "title_ru": "Отвергнутый вариант перед выбранным",
        "description_en": "A reusable frame from “Concession, cause and circumstance”. Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Уступка, причина, цель и обстоятельства». Уступка, причина, цель и обстоятельства: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFN",
        "set_id": "GFN",
        "formulas": [
          "Rather than + -ing phrase, shared subject + chosen action",
          "Statt + zu-infinitive, shared subject + chosen action"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFN020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/rather-than-ing-phrase-shared-subject-chosen-gfn020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfn020.json"
      },
      {
        "id": "GFO001",
        "title_en": "Subject + do/does not need to + infinitive",
        "title_ru": "Отсутствие необходимости",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Subject + do/does not need to + infinitive",
          "Subject + brauchen + nicht/kein + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-do-does-not-need-to-infinitive-gfo001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo001.json"
      },
      {
        "id": "GFO002",
        "title_en": "Affected object + can be + past participle + manner/context",
        "title_ru": "Возможность выполнить действие над объектом",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Affected object + can be + past participle + manner/context",
          "Affected object + lässt/lassen sich + bare infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/affected-object-can-be-past-participle-manner-gfo002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo002.json"
      },
      {
        "id": "GFO003",
        "title_en": "Affected object + must be + passive participle",
        "title_ru": "Необходимость выполнить действие",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Affected object + must be + passive participle",
          "Affected object + ist/sind + obligation context + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/affected-object-must-be-passive-participle-gfo003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo003.json"
      },
      {
        "id": "GFO004",
        "title_en": "Actor + be required to + infinitive",
        "title_ru": "Обязанность исполнителя",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Actor + be required to + infinitive",
          "Actor + hat/haben + zu-infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/actor-be-required-to-infinitive-gfo004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo004.json"
      },
      {
        "id": "GFO005",
        "title_en": "Affected object + ought to be + passive participle",
        "title_ru": "Действие, которое стоит выполнить",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Affected object + ought to be + passive participle",
          "Affected object + gehört/gehören + past participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/affected-object-ought-to-be-passive-participle-gfo005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo005.json"
      },
      {
        "id": "GFO006",
        "title_en": "Recipient + was/were + giving/showing passive + information/object",
        "title_ru": "Пассив с получателем",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Recipient + was/were + giving/showing passive + information/object",
          "Recipient + bekam/bekamen + accusative object + past participle"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/recipient-was-were-giving-showing-passive-gfo006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo006.json"
      },
      {
        "id": "GFO007",
        "title_en": "Subject + be said to have + past participle",
        "title_ru": "Передача чужих сведений",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Subject + be said to have + past participle",
          "Subject + soll/sollen + past participle + haben/sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-said-to-have-past-participle-gfo007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo007.json"
      },
      {
        "id": "GFO008",
        "title_en": "Subject + claim(s) + perfect infinitive",
        "title_ru": "Передача заявления самого человека",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Subject + claim(s) + perfect infinitive",
          "Subject + will/wollen + past participle + haben/sein"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-claim-s-perfect-infinitive-gfo008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo008.json"
      },
      {
        "id": "GFO009",
        "title_en": "Subject + probably + ordinary predicate",
        "title_ru": "Осторожное предположение о вероятности",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Subject + probably + ordinary predicate",
          "Subject + dürfte/dürften + bare infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-probably-ordinary-predicate-gfo009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo009.json"
      },
      {
        "id": "GFO010",
        "title_en": "Subject + may + infinitive, but + contrasting clause",
        "title_ru": "Уступка с модальным оттенком",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Subject + may + infinitive, but + contrasting clause",
          "Subject + mag/mögen + infinitive, aber + contrast"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-may-infinitive-but-contrasting-clause-gfo010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo010.json"
      },
      {
        "id": "GFO011",
        "title_en": "Main action + depending on whether + clause",
        "title_ru": "Зависимость от того, выполняется ли условие",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Main action + depending on whether + clause",
          "Main clause + je nachdem, ob + subordinate clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-action-depending-on-whether-clause-gfo011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo011.json"
      },
      {
        "id": "GFO012",
        "title_en": "Main clause + unless + exception clause",
        "title_ru": "Исключение из условия",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Main clause + unless + exception clause",
          "Main clause, es sei denn, + subject + finite verb + rest"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-unless-exception-clause-gfo012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo012.json"
      },
      {
        "id": "GFO013",
        "title_en": "Main judgement, especially since + supporting reason",
        "title_ru": "Дополнительная усиливающая причина",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Main judgement, especially since + supporting reason",
          "Main clause, zumal + subordinate clause with final verb"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO013",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-judgement-especially-since-supporting-gfo013/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo013.json"
      },
      {
        "id": "GFO014",
        "title_en": "Subject + be + all the more + adjective + because + reason",
        "title_ru": "Причина, усиливающая оценку",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Subject + be + all the more + adjective + because + reason",
          "Subject + sein + umso + comparative, als + subordinate reason"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO014",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-be-all-the-more-adjective-because-reason-gfo014/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo014.json"
      },
      {
        "id": "GFO015",
        "title_en": "Subject + expect + embedded subject + to-infinitive",
        "title_ru": "Ожидание определённого события",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Subject + expect + embedded subject + to-infinitive",
          "Subject + rechnen + damit, dass + subordinate clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO015",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-expect-embedded-subject-to-infinitive-gfo015/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo015.json"
      },
      {
        "id": "GFO016",
        "title_en": "What matters is whether + finite clause",
        "title_ru": "Главное зависит от ответа на вопрос",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "What matters is whether + finite clause",
          "Es kommt darauf an, ob + subordinate clause"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO016",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-matters-is-whether-finite-clause-gfo016/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo016.json"
      },
      {
        "id": "GFO017",
        "title_en": "Main clause + because + subject + past/perfect necessity or ability predicate",
        "title_ru": "Модальные инфинитивы в придаточном",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Main clause + because + subject + past/perfect necessity or ability predicate",
          "Main clause, weil + subject + hat/haben/hatte(n) + main infinitive + modal infinitive"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO017",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/main-clause-because-subject-past-perfect-gfo017/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo017.json"
      },
      {
        "id": "GFO018",
        "title_en": "Subject + had arranged for + object + to be + past participle",
        "title_ru": "Совершённое каузативное действие",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Subject + had arranged for + object + to be + past participle",
          "Subject + hatte(n) + object + bare infinitive + lassen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO018",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-had-arranged-for-object-to-be-past-gfo018/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo018.json"
      },
      {
        "id": "GFO019",
        "title_en": "Noun + past participle + expanded complement + main predicate",
        "title_ru": "Распространённое причастие перед именем",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Noun + past participle + expanded complement + main predicate",
          "Article + complement + inflected past participle + noun + main predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO019",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/noun-past-participle-expanded-complement-main-gfo019/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo019.json"
      },
      {
        "id": "GFO020",
        "title_en": "Noun + to be + passive participle + main predicate",
        "title_ru": "Причастная конструкция для предстоящей задачи",
        "description_en": "A reusable frame from “German-led grammatical flexibility”. Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "description_ru": "Каркас из раздела «Немецкие конструкции и английские параллели». Немецкие конструкции и английские параллели: сравнивайте английские и немецкие конструкции по примерам с русским переводом.",
        "group_id": "GFO",
        "set_id": "GFO",
        "formulas": [
          "Noun + to be + passive participle + main predicate",
          "Article + zu + inflected present participle + noun + predicate"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "quality": {
          "status": "unknown",
          "indexable": false,
          "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": false,
            "robots": "noindex,follow",
            "reasons": [
              "unreviewed_editorial_status"
            ],
            "evidence": [
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "GFO020",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/noun-to-be-passive-participle-main-predicate-gfo020/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/gfo020.json"
      },
      {
        "id": "CLF041",
        "title_en": "[X] is necessary but not sufficient for [Y]",
        "title_ru": "Необходимо, но недостаточно",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Разделить необходимое и достаточное условие: без X нельзя, но одного X ещё мало.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "[X] is necessary but not sufficient for [Y].",
          "[X] ist notwendig, aber nicht hinreichend für [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Limit",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF041",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-is-necessary-but-not-sufficient-for-y-clf041/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf041.json"
      },
      {
        "id": "CLF042",
        "title_en": "[X] alone is not enough to [Y]",
        "title_ru": "Одного … недостаточно",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Отсечь слишком сильный вывод: одного фактора недостаточно для действия или заключения.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "[X] alone is not enough to [V].",
          "[X] allein reicht nicht aus, um [V]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Limit",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF042",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-alone-is-not-enough-to-verb-clf042/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf042.json"
      },
      {
        "id": "CLF043",
        "title_en": "Without [X], [Y] cannot [Z]",
        "title_ru": "Без … … невозможно",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Сделать необходимое условие явным: без X требуемый результат невозможен.",
        "group_id": "CLF",
        "set_id": "CND",
        "formulas": [
          "Without [X], [Y] cannot [V].",
          "Ohne [X] kann [Y] nicht [V]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Condition",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF043",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/without-x-y-cannot-verb-clf043/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf043.json"
      },
      {
        "id": "CLF044",
        "title_en": "Only if [X] can [Y]",
        "title_ru": "Только если …, возможно …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "CLF",
        "set_id": "CND",
        "formulas": [
          "Only if [X] can [Y].",
          "Nur wenn [X], kann [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Condition",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF044",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/only-if-x-can-y-clf044/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf044.json"
      },
      {
        "id": "CLF045",
        "title_en": "Before we can [X], we need to [Y]",
        "title_ru": "Прежде чем …, нужно …",
        "description_en": "A reusable frame from “Conditionals and counterfactuals”. Reason through possibilities and alternatives.",
        "description_ru": "Поставить обязательный шаг перед следующим действием и тем самым упорядочить решение.",
        "group_id": "CLF",
        "set_id": "CND",
        "formulas": [
          "Before we can [X], we need to [Y].",
          "Bevor wir [X] können, müssen wir [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Condition",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF045",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/before-we-can-x-we-need-to-y-clf045/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf045.json"
      },
      {
        "id": "CLF046",
        "title_en": "There is a trade-off between [X] and [Y]",
        "title_ru": "Компромисс между … и …",
        "description_en": "A reusable frame from “Negotiation and decisions”. Make proposals, trade-offs, and commitments.",
        "description_ru": "Показать, что улучшение одного критерия имеет цену по другому критерию.",
        "group_id": "CLF",
        "set_id": "NEG",
        "formulas": [
          "There is a trade-off between [X] and [Y].",
          "Es gibt einen Zielkonflikt zwischen [X] und [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Decide",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF046",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/there-is-a-trade-off-between-x-and-y-clf046/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf046.json"
      },
      {
        "id": "CLF047",
        "title_en": "The advantage of [X] is [Y]; the downside is [Z]",
        "title_ru": "Плюс …, минус …",
        "description_en": "A reusable frame from “Negotiation and decisions”. Make proposals, trade-offs, and commitments.",
        "description_ru": "Сбалансированно оценить вариант через явное преимущество и явную цену.",
        "group_id": "CLF",
        "set_id": "NEG",
        "formulas": [
          "The advantage of [X] is [Y]; the downside is [Z].",
          "Der Vorteil von [X] ist [Y]; der Nachteil ist [Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Decide",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF047",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-advantage-of-x-is-y-the-downside-is-z-clf047/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf047.json"
      },
      {
        "id": "CLF048",
        "title_en": "If we prioritize [X], we risk sacrificing [Y]",
        "title_ru": "Приоритет … рискует пожертвовать …",
        "description_en": "A reusable frame from “Negotiation and decisions”. Make proposals, trade-offs, and commitments.",
        "description_ru": "Связать приоритет с его возможной ценой и сделать риск решения явным.",
        "group_id": "CLF",
        "set_id": "NEG",
        "formulas": [
          "If we prioritize [X], we risk sacrificing [Y].",
          "Wenn wir [X] priorisieren, riskieren wir, [Y] zu opfern."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Decide",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF048",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-we-prioritize-x-we-risk-sacrificing-y-clf048/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf048.json"
      },
      {
        "id": "CLF049",
        "title_en": "The choice comes down to [X] or [Y]",
        "title_ru": "Выбор сводится к … или …",
        "description_en": "A reusable frame from “Negotiation and decisions”. Make proposals, trade-offs, and commitments.",
        "description_ru": "Свести сложное обсуждение к двум реальным альтернативам, когда остальные детали уже вторичны.",
        "group_id": "CLF",
        "set_id": "NEG",
        "formulas": [
          "The choice comes down to [X] or [Y].",
          "Die Entscheidung läuft auf [X] oder [Y] hinaus."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Decide",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF049",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-choice-comes-down-to-x-or-y-clf049/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf049.json"
      },
      {
        "id": "CLF050",
        "title_en": "The question is not whether [X], but how [Y]",
        "title_ru": "Не вопрос, делать ли …, а как сделать …",
        "description_en": "A reusable frame from “Clarification and reformulation”. Repair and sharpen meaning in conversation.",
        "description_ru": "Переформулировать спор: снять уже решённый вопрос и перенести внимание на способ реализации.",
        "group_id": "CLF",
        "set_id": "CLR",
        "formulas": [
          "The question is not whether [X], but how [Y].",
          "Die Frage ist nicht, ob [X], sondern wie [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Reframe",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF050",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-question-is-not-whether-x-but-how-y-clf050/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf050.json"
      },
      {
        "id": "CLF051",
        "title_en": "[X] suggests that [Y], but it doesn't prove it",
        "title_ru": "… указывает на …, но не доказывает его",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Отделить свидетельство от доказательства: X повышает правдоподобие Y, но не закрывает альтернативы.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "[X] suggests that [Y], but it doesn't prove it.",
          "[X] deutet darauf hin, dass [Y], beweist es aber nicht."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Infer",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF051",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-suggests-that-y-but-it-doesn-t-prove-it-clf051/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf051.json"
      },
      {
        "id": "CLF052",
        "title_en": "[X] is consistent with [Y], but it could also mean [Z]",
        "title_ru": "… согласуется с …, но может означать …",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Признать, что наблюдение совместимо с гипотезой Y, но не уникально для неё.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "[X] is consistent with [Y], but it could also mean [Z].",
          "[X] passt zu [Y], könnte aber auch [Z] bedeuten."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Infer",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF052",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-is-consistent-with-y-but-it-could-also-mean-z-clf052/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf052.json"
      },
      {
        "id": "CLF053",
        "title_en": "The most likely explanation is that [X]",
        "title_ru": "Наиболее вероятное объяснение — …",
        "description_en": "A reusable frame from “Probability and prediction”. Discuss likelihood, risk, and uncertainty.",
        "description_ru": "Выбрать лучшую текущую гипотезу, сохраняя её статус как вероятной, а не доказанной.",
        "group_id": "CLF",
        "set_id": "PRB",
        "formulas": [
          "The most likely explanation is that [X].",
          "Die wahrscheinlichste Erklärung ist, dass [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Infer",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF053",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-most-likely-explanation-is-that-x-clf053/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf053.json"
      },
      {
        "id": "CLF054",
        "title_en": "One possibility is that [X]; another is that [Y]",
        "title_ru": "Одна возможность …, другая …",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Удерживать две гипотезы одновременно, пока данных недостаточно для выбора одной.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "One possibility is that [X]; another is that [Y].",
          "Eine Möglichkeit ist, dass [X]; eine andere ist, dass [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Compare",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF054",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/one-possibility-is-that-x-another-is-that-y-clf054/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf054.json"
      },
      {
        "id": "CLF055",
        "title_en": "We cannot rule out [X]",
        "title_ru": "Нельзя исключать …",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Сохранить гипотезу в рассмотрении, потому что текущие данные её не опровергают.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "We cannot rule out [X].",
          "Wir können [X] nicht ausschließen."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Challenge",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF055",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-cannot-rule-out-x-clf055/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf055.json"
      },
      {
        "id": "CLF056",
        "title_en": "If [X] were true, we would expect [Y]",
        "title_ru": "Если … верно, ожидаем …",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "If [X] were true, we would expect [Y].",
          "Wenn [X] zuträfe, würden wir [Y] erwarten."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Test",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF056",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-x-were-true-we-would-expect-y-clf056/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf056.json"
      },
      {
        "id": "CLF057",
        "title_en": "For [X] to be true, [Y] would need to be the case",
        "title_ru": "Чтобы … было верно, должно быть …",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Проверить гипотезу через необходимое следствие: если требуемый признак Y отсутствует, X становится слабее.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "For [X] to be true, [Y] would need to be the case.",
          "Damit [X] zutrifft, müsste [Y] der Fall sein."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Test",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF057",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/for-x-to-be-true-y-would-need-to-be-the-case-clf057/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf057.json"
      },
      {
        "id": "CLF058",
        "title_en": "This explains [X], but it doesn't explain [Y]",
        "title_ru": "Это объясняет …, но не …",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Проверить объяснение на полноту: оно может объяснять один факт и проваливаться на другом.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "This explains [X], but it doesn't explain [Y].",
          "Das erklärt [X], aber nicht [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Challenge",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF058",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-explains-x-but-it-doesn-t-explain-y-clf058/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf058.json"
      },
      {
        "id": "CLF059",
        "title_en": "[X] leads to [Y], which in turn leads to [Z]",
        "title_ru": "… ведёт к …, которое ведёт к …",
        "description_en": "A reusable frame from “Cause, effect, and consequence”. Explain how one development leads to another.",
        "description_ru": "Показать причинную цепочку из двух шагов вместо слишком грубого прямого X → Z.",
        "group_id": "CLF",
        "set_id": "CAU",
        "formulas": [
          "[X] leads to [Y], which in turn leads to [Z].",
          "[X] führt zu [Y], was wiederum zu [Z] führt."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Cause",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF059",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-leads-to-y-which-in-turn-leads-to-z-clf059/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf059.json"
      },
      {
        "id": "CLF060",
        "title_en": "[X] results from a combination of [Y] and [Z]",
        "title_ru": "… возникает из сочетания … и …",
        "description_en": "A reusable frame from “Cause, effect, and consequence”. Explain how one development leads to another.",
        "description_ru": "Не сводить сложный результат к одной причине: явно показать сочетание факторов.",
        "group_id": "CLF",
        "set_id": "CAU",
        "formulas": [
          "[X] results from a combination of [Y] and [Z].",
          "[X] ergibt sich aus einer Kombination von [Y] und [Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Cause",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF060",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-results-from-a-combination-of-y-and-z-clf060/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf060.json"
      },
      {
        "id": "CLF061",
        "title_en": "It's not that [X]; it's that [Y]",
        "title_ru": "Не …, а …",
        "description_en": "A reusable frame from “Clarification and reformulation”. Repair and sharpen meaning in conversation.",
        "description_ru": "Исправить неверную рамку: проблема не в X, а в Y.",
        "group_id": "CLF",
        "set_id": "CLR",
        "formulas": [
          "It's not that [X]; it's that [Y].",
          "Es geht nicht darum, dass [X], sondern darum, dass [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Reframe",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF061",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-s-not-that-x-it-s-that-y-clf061/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf061.json"
      },
      {
        "id": "CLF062",
        "title_en": "Not so much [X] as [Y]",
        "title_ru": "Не столько …, сколько …",
        "description_en": "A reusable frame from “Clarification and reformulation”. Repair and sharpen meaning in conversation.",
        "description_ru": "Сместить главный акцент с X на более важный Y, не отрицая X полностью.",
        "group_id": "CLF",
        "set_id": "CLR",
        "formulas": [
          "Not so much [X] as [Y].",
          "Nicht so sehr [X] als vielmehr [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Reframe",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF062",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/not-so-much-x-as-y-clf062/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf062.json"
      },
      {
        "id": "CLF063",
        "title_en": "[X], whereas [Y]",
        "title_ru": "…, тогда как …",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Поставить два случая рядом и сделать существенное различие явным.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "[X], whereas [Y].",
          "[X], wohingegen [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Compare",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF063",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-whereas-y-clf063/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf063.json"
      },
      {
        "id": "CLF064",
        "title_en": "Compared with [X], [Y] offers [Z]",
        "title_ru": "По сравнению с …, … даёт …",
        "description_en": "Compares alternatives against an explicit criterion instead of simply declaring one better.",
        "description_ru": "Помогает сопоставить варианты по явному критерию, а не просто объявить один из них лучше.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "Compared with [X], [Y] offers [Z].",
          "Im Vergleich zu [X] bietet [Y] [Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Compare",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF064",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/compared-with-x-y-offers-z-clf064/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf064.json"
      },
      {
        "id": "CLF065",
        "title_en": "[X] may be true for [Y], but not for [Z]",
        "title_ru": "… верно для …, но не для …",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Ограничить область действия утверждения вместо полного согласия или полного отрицания.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "[X] may be true for [Y], but not for [Z].",
          "[X] mag für [Y] gelten, aber nicht für [Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Limit",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF065",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-may-be-true-for-y-but-not-for-z-clf065/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf065.json"
      },
      {
        "id": "CLF066",
        "title_en": "That assumes that [X], which may not hold",
        "title_ru": "Это предполагает …, а … может быть неверно",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Вытащить скрытое предположение наружу и проверить, выдерживает ли оно аргумент.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "That assumes that [X], which may not hold.",
          "Das setzt voraus, dass [X], was möglicherweise nicht zutrifft."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Challenge",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF066",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/that-assumes-that-x-which-may-not-hold-clf066/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf066.json"
      },
      {
        "id": "CLF067",
        "title_en": "A useful test would be whether [X]",
        "title_ru": "Полезная проверка — выяснить, … ли",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Перевести спор из мнений в наблюдаемую проверку.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "A useful test would be whether [X].",
          "Ein sinnvoller Test wäre, ob [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Test",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF067",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-useful-test-would-be-whether-x-clf067/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf067.json"
      },
      {
        "id": "CLF068",
        "title_en": "[X] may have contributed to [Y], but it was not the only cause",
        "title_ru": "… могло повлиять на …, но причина не единственная",
        "description_en": "A reusable frame from “Cause, effect, and consequence”. Explain how one development leads to another.",
        "description_ru": "Признать вклад фактора, не превращая сложный результат в историю с одной причиной.",
        "group_id": "CLF",
        "set_id": "CAU",
        "formulas": [
          "[X] may have contributed to [Y], but it was not the only cause.",
          "[X] mag zu [Y] beigetragen haben, war aber nicht die einzige Ursache."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Cause",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF068",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-may-have-contributed-to-y-but-it-was-not-the-clf068/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf068.json"
      },
      {
        "id": "CLF069",
        "title_en": "Given [X], we decided to [Y] because [Z]",
        "title_ru": "Решение и основание",
        "description_en": "Makes a cause-and-effect link explicit so the reasoning is easier to inspect.",
        "description_ru": "Делает связь причины и следствия явной, чтобы ход рассуждения было легче проверить.",
        "group_id": "CLF",
        "set_id": "NEG",
        "formulas": [
          "Given [X], we decided to [Y] because [Z].",
          "Angesichts [X] haben wir beschlossen, [Y], weil [Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Decide",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF069",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/given-x-we-decided-to-y-because-z-clf069/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf069.json"
      },
      {
        "id": "CLF070",
        "title_en": "I would revise [X] if [Y]",
        "title_ru": "Условие пересмотра вывода",
        "description_en": "A reusable frame from “Evidence and inference”. Connect a claim to evidence without overclaiming.",
        "description_ru": "Сделать вывод проверяемым: заранее назвать наблюдение, которое действительно заставило бы его пересмотреть.",
        "group_id": "CLF",
        "set_id": "EVD",
        "formulas": [
          "I would revise [X] if [Y].",
          "Ich würde [X] neu bewerten, wenn [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Test",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "CLF070",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-would-revise-x-if-y-clf070/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/clf070.json"
      },
      {
        "id": "XPRCGR001",
        "title_en": "I remember [X], but I remembered to [Y]",
        "title_ru": "Помнить о прошлом действии или не забыть сделать",
        "description_en": "A reusable frame from “Contrast grammar”. Choose between easily confused structures by meaning, not by rule name.",
        "description_ru": "Различайте воспоминание о прошлом действии и необходимость не забыть сделать действие.",
        "group_id": "CGR",
        "set_id": "CGR",
        "formulas": [
          "I remember [doing X], but I remembered to [do Y].",
          "Ich erinnere mich daran, [X getan zu haben], aber ich habe daran gedacht, [Y zu tun]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRCGR001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-remember-doing-x-but-i-remembered-to-do-y-xprcgr001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprcgr001.json"
      },
      {
        "id": "XPRCGR002",
        "title_en": "[X] used to [Y], but is now used to [Z]",
        "title_ru": "Привычка в прошлом или привычность к действию",
        "description_en": "A reusable frame from “Contrast grammar”. Choose between easily confused structures by meaning, not by rule name.",
        "description_ru": "Отделяйте прошлую привычку от состояния привычности сейчас.",
        "group_id": "CGR",
        "set_id": "CGR",
        "formulas": [
          "[Subject] used to [do X], but is now used to [doing Y].",
          "Früher [tat X], aber inzwischen ist [Subjekt] daran gewöhnt, [Y zu tun]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRCGR002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/subject-used-to-do-x-but-is-now-used-to-doing-y-xprcgr002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprcgr002.json"
      },
      {
        "id": "XPRCGR003",
        "title_en": "You mustn't [X]; you don't have to [Y]",
        "title_ru": "Запрет или отсутствие необходимости",
        "description_en": "A reusable frame from “Contrast grammar”. Choose between easily confused structures by meaning, not by rule name.",
        "description_ru": "Не путайте запрет с отсутствием необходимости.",
        "group_id": "CGR",
        "set_id": "CGR",
        "formulas": [
          "You mustn't [do X]; you don't have to [do Y].",
          "Du darfst [X] nicht; du musst [Y] nicht."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRCGR003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/you-mustn-t-do-x-you-don-t-have-to-do-y-xprcgr003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprcgr003.json"
      },
      {
        "id": "XPRSPK001",
        "title_en": "The thing is, [X], so [Y]",
        "title_ru": "Ввести главное пояснение",
        "description_en": "A reusable frame from “Spoken grammar”. Use compact spoken frames that organise an idea naturally in conversation.",
        "description_ru": "Мягко введите главное объяснение вместо резкого возражения.",
        "group_id": "SPK",
        "set_id": "SPK",
        "formulas": [
          "The thing is, [X], so [Y].",
          "Die Sache ist: [X], deshalb/aber [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRSPK001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-thing-is-x-so-y-xprspk001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprspk001.json"
      },
      {
        "id": "XPRSPK002",
        "title_en": "It's just that [X], which makes [Y] difficult",
        "title_ru": "Мягко добавить пояснение",
        "description_en": "A reusable frame from “Spoken grammar”. Use compact spoken frames that organise an idea naturally in conversation.",
        "description_ru": "Смягчите объяснение, когда вы не хотите звучать как прямое отрицание.",
        "group_id": "SPK",
        "set_id": "SPK",
        "formulas": [
          "It's just that [X], which makes [Y] difficult.",
          "Es ist nur so, dass [X], was [Y] erschwert."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRSPK002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-s-just-that-x-which-makes-y-difficult-xprspk002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprspk002.json"
      },
      {
        "id": "XPRSPK003",
        "title_en": "What I was going to say was [X], not [Y]",
        "title_ru": "Вернуться к прерванной мысли",
        "description_en": "A reusable frame from “Spoken grammar”. Use compact spoken frames that organise an idea naturally in conversation.",
        "description_ru": "Вернитесь к своей мысли после перебивания или ухода в сторону.",
        "group_id": "SPK",
        "set_id": "SPK",
        "formulas": [
          "What I was going to say was [X], not [Y].",
          "Was ich sagen wollte: [X], nicht [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRSPK003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-i-was-going-to-say-was-x-not-y-xprspk003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprspk003.json"
      },
      {
        "id": "XPRINT001",
        "title_en": "Can I come in here? I think [X]",
        "title_ru": "Войти в разговор",
        "description_en": "A reusable frame from “Interaction moves”. Enter, hold, redirect and close a turn without losing the thread.",
        "description_ru": "Войдите в обсуждение без резкого перебивания.",
        "group_id": "INT",
        "set_id": "INT",
        "formulas": [
          "Can I come in here? I think [X].",
          "Darf ich kurz einhaken? Ich denke, [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRINT001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/can-i-come-in-here-i-think-x-xprint001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprint001.json"
      },
      {
        "id": "XPRINT002",
        "title_en": "Before we move on, can we clarify [X]?",
        "title_ru": "Не потерять важное перед переходом",
        "description_en": "A reusable frame from “Interaction moves”. Enter, hold, redirect and close a turn without losing the thread.",
        "description_ru": "Остановите переход к новой теме, чтобы закрыть важный вопрос.",
        "group_id": "INT",
        "set_id": "INT",
        "formulas": [
          "Before we move on, can we clarify [X]?",
          "Bevor wir weitermachen, können wir [X] klären?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRINT002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/before-we-move-on-can-we-clarify-x-xprint002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprint002.json"
      },
      {
        "id": "XPRINT003",
        "title_en": "Just to pick up on that, [X]",
        "title_ru": "Подхватить предыдущую мысль",
        "description_en": "A reusable frame from “Interaction moves”. Enter, hold, redirect and close a turn without losing the thread.",
        "description_ru": "Свяжите свою реплику с тем, что только что сказал собеседник.",
        "group_id": "INT",
        "set_id": "INT",
        "formulas": [
          "Just to pick up on that, [X].",
          "Um daran anzuknüpfen: [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRINT003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/just-to-pick-up-on-that-x-xprint003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprint003.json"
      },
      {
        "id": "XPRREG001",
        "title_en": "I don't think [X]. → I'm not sure [Y]. → There are reasons to question whether [Z]",
        "title_ru": "Несогласие: разговорно → профессионально",
        "description_en": "A reusable frame from “Register shifting”. Express the same intent in casual, neutral and professional language.",
        "description_ru": "Сохраните смысл несогласия, меняя степень прямоты.",
        "group_id": "REG",
        "set_id": "REG",
        "formulas": [
          "I don't think [X]. → I'm not sure [X]. → There are reasons to question whether [X].",
          "Ich glaube nicht, dass [X]. → Ich bin nicht sicher, ob [X]. → Es gibt Gründe, daran zu zweifeln, ob [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRREG001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-don-t-think-x-i-m-not-sure-x-there-are-reasons-xprreg001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprreg001.json"
      },
      {
        "id": "XPRREG002",
        "title_en": "Can you [X]? → Could you [Y]? → I would appreciate it if you could [Z]",
        "title_ru": "Просьба: прямо → вежливо → формально",
        "description_en": "Softens a request or question while leaving the other person room to respond.",
        "description_ru": "Смягчает просьбу или вопрос и оставляет собеседнику пространство для ответа.",
        "group_id": "REG",
        "set_id": "REG",
        "formulas": [
          "Can you [X]? → Could you [X]? → I would appreciate it if you could [X].",
          "Kannst du [X]? → Könntest du [X]? → Ich wäre Ihnen dankbar, wenn Sie [X] könnten."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRREG002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/can-you-x-could-you-x-i-would-appreciate-it-if-xprreg002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprreg002.json"
      },
      {
        "id": "XPRREG003",
        "title_en": "We need to [X]. → We should consider [Y]. → It may be necessary to [Z]",
        "title_ru": "Необходимость: жёстко → нейтрально → осторожно",
        "description_en": "A reusable frame from “Register shifting”. Express the same intent in casual, neutral and professional language.",
        "description_ru": "Регулируйте силу рекомендации и обязательности.",
        "group_id": "REG",
        "set_id": "REG",
        "formulas": [
          "We need to [X]. → We should consider [X]. → It may be necessary to [X].",
          "Wir müssen [X]. → Wir sollten erwägen, [X]. → Es könnte notwendig sein, [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRREG003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-need-to-x-we-should-consider-x-it-may-be-xprreg003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprreg003.json"
      },
      {
        "id": "XPRRTR001",
        "title_en": "❌ discuss about [X] → ✓ discuss [Y]",
        "title_ru": "Не переводить управление буквально",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "Запоминайте управление как часть конструкции, а не как перевод отдельного слова.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ discuss about [X] → ✓ discuss [X]",
          "❌ seit [Zeit] + Vergangenheit → ✓ seit [Zeit] + Präsens"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/discuss-about-x-discuss-x-xprrtr001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr001.json"
      },
      {
        "id": "XPRRTR002",
        "title_en": "❌ explain me [X] → ✓ explain [Y] to me",
        "title_ru": "Не копировать русскую структуру дополнения",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "Проверяйте, какую структуру дополнений требует именно целевой язык.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ explain me [X] → ✓ explain [X] to me",
          "❌ weil [Subjekt] [Verb] ... → ✓ weil [Subjekt] ... [Verb]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/explain-me-x-explain-x-to-me-xprrtr002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr002.json"
      },
      {
        "id": "XPRRTR003",
        "title_en": "❌ I am agree → ✓ I agree",
        "title_ru": "Не переносить русскую связку",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "Не добавляйте связку там, где целевой язык выражает состояние иначе.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ I am agree → ✓ I agree",
          "❌ wenn [einmaliges Ereignis in der Vergangenheit] → ✓ als [einmaliges Ereignis in der Vergangenheit]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-am-agree-i-agree-xprrtr003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr003.json"
      },
      {
        "id": "XPRTRN001",
        "title_en": "Because [X], [Y]. → [Z], which is why [A]",
        "title_ru": "Причина и следствие через результат",
        "description_en": "Makes a cause-and-effect link explicit so the reasoning is easier to inspect.",
        "description_ru": "Делает связь причины и следствия явной, чтобы ход рассуждения было легче проверить.",
        "group_id": "TRN",
        "set_id": "TRN",
        "formulas": [
          "Because [X], [Y]. → [X], which is why [Y].",
          "Weil [X], [Y]. → [X], weshalb [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRTRN001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/because-x-y-x-which-is-why-y-xprtrn001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprtrn001.json"
      },
      {
        "id": "XPRTRN002",
        "title_en": "People say that [X]. → [Y] is said to [Z]",
        "title_ru": "От «говорят, что…» к безличной передаче",
        "description_en": "A reusable frame from “Transformations and reformulation”. Rebuild the same meaning with a different grammatical or discourse frame.",
        "description_ru": "Перестройте источник сообщения из активной формы в безличную.",
        "group_id": "TRN",
        "set_id": "TRN",
        "formulas": [
          "People say that [X]. → [X] is said to [Y].",
          "Man geht davon aus, dass [X]. → Es wird davon ausgegangen, dass [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRTRN002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/people-say-that-x-x-is-said-to-y-xprtrn002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprtrn002.json"
      },
      {
        "id": "XPRTRN003",
        "title_en": "We only [X] after [Y]. → Only after [Z] did we [A]",
        "title_ru": "Инверсия после «только после…»",
        "description_en": "A reusable frame from “Transformations and reformulation”. Rebuild the same meaning with a different grammatical or discourse frame.",
        "description_ru": "Перенесите ограничивающее обстоятельство вперёд и перестройте порядок слов.",
        "group_id": "TRN",
        "set_id": "TRN",
        "formulas": [
          "We only [did X] after [Y]. → Only after [Y] did we [do X].",
          "Wir [taten X] erst nach [Y]. → Erst nach [Y] [Verb] wir [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRTRN003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-only-did-x-after-y-only-after-y-did-we-do-x-xprtrn003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprtrn003.json"
      },
      {
        "id": "XPRCGR004",
        "title_en": "I hope [X]; I wish [Y]",
        "title_ru": "Надежда на будущее или сожаление о нереальном",
        "description_en": "A reusable frame from “Contrast grammar”. Choose between easily confused structures by meaning, not by rule name.",
        "description_ru": "Каркас из раздела «Грамматика через контрасты». Выбирайте между похожими конструкциями по смыслу, а не по названию правила.",
        "group_id": "CGR",
        "set_id": "CGR",
        "formulas": [
          "I hope [X happens]; I wish [X were true].",
          "Ich hoffe, dass [X passiert]; ich wünschte, [X wäre so]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRCGR004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/hope-x-happens-vs-wish-x-were-true-xprcgr004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprcgr004.json"
      },
      {
        "id": "XPRCGR005",
        "title_en": "I'd rather [X] than [Y]; I'd rather [Z]",
        "title_ru": "Предпочесть действие самому или хотеть действия от другого",
        "description_en": "A reusable frame from “Contrast grammar”. Choose between easily confused structures by meaning, not by rule name.",
        "description_ru": "Каркас из раздела «Грамматика через контрасты». Выбирайте между похожими конструкциями по смыслу, а не по названию правила.",
        "group_id": "CGR",
        "set_id": "CGR",
        "formulas": [
          "I'd rather [do X] than [do Y]; I'd rather [someone did Z].",
          "Ich würde lieber [X tun] als [Y tun]; mir wäre lieber, [jemand täte Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRCGR005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/would-rather-do-x-vs-would-rather-someone-did-y-xprcgr005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprcgr005.json"
      },
      {
        "id": "XPRCGR006",
        "title_en": "It's time to [X]; it's time [Y]",
        "title_ru": "Пора сделать или уже пора, чтобы кто-то сделал",
        "description_en": "A reusable frame from “Contrast grammar”. Choose between easily confused structures by meaning, not by rule name.",
        "description_ru": "Каркас из раздела «Грамматика через контрасты». Выбирайте между похожими конструкциями по смыслу, а не по названию правила.",
        "group_id": "CGR",
        "set_id": "CGR",
        "formulas": [
          "It's time to [do X]; it's time [someone did Y].",
          "Es ist Zeit, [X zu tun]; es wird Zeit, dass [jemand Y tut]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRCGR006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-s-time-to-do-x-vs-it-s-time-someone-did-y-xprcgr006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprcgr006.json"
      },
      {
        "id": "XPRSPK004",
        "title_en": "What I mean is, [X]",
        "title_ru": "Переформулировать мысль на ходу",
        "description_en": "A reusable frame from “Spoken grammar”. Use compact spoken frames that organise an idea naturally in conversation.",
        "description_ru": "Каркас из раздела «Грамматика живой речи». Используйте компактные разговорные каркасы, которые естественно организуют мысль.",
        "group_id": "SPK",
        "set_id": "SPK",
        "formulas": [
          "What I mean is, [X].",
          "Was ich meine, ist: [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRSPK004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-i-mean-is-x-xprspk004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprspk004.json"
      },
      {
        "id": "XPRSPK005",
        "title_en": "It's not so much [X] as [Y]",
        "title_ru": "Сместить акцент: дело не столько в …, сколько в …",
        "description_en": "A reusable frame from “Spoken grammar”. Use compact spoken frames that organise an idea naturally in conversation.",
        "description_ru": "Каркас из раздела «Грамматика живой речи». Используйте компактные разговорные каркасы, которые естественно организуют мысль.",
        "group_id": "SPK",
        "set_id": "SPK",
        "formulas": [
          "It's not so much [X] as [Y].",
          "Es geht weniger um [X] als vielmehr um [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRSPK005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-s-not-so-much-x-as-y-xprspk005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprspk005.json"
      },
      {
        "id": "XPRSPK006",
        "title_en": "If anything, [X]",
        "title_ru": "Уточнить направление: если уж что-то и верно, то …",
        "description_en": "A reusable frame from “Spoken grammar”. Use compact spoken frames that organise an idea naturally in conversation.",
        "description_ru": "Каркас из раздела «Грамматика живой речи». Используйте компактные разговорные каркасы, которые естественно организуют мысль.",
        "group_id": "SPK",
        "set_id": "SPK",
        "formulas": [
          "If anything, [X].",
          "Wenn überhaupt, dann [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRSPK006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-anything-x-xprspk006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprspk006.json"
      },
      {
        "id": "XPRINT004",
        "title_en": "Can I finish this thought? [X]",
        "title_ru": "Удержать слово и закончить мысль",
        "description_en": "A reusable frame from “Interaction moves”. Enter, hold, redirect and close a turn without losing the thread.",
        "description_ru": "Каркас из раздела «Управление разговором». Входите в разговор, удерживайте ход мысли, перенаправляйте и завершайте реплику.",
        "group_id": "INT",
        "set_id": "INT",
        "formulas": [
          "Can I finish this thought? [X].",
          "Darf ich den Gedanken kurz zu Ende führen? [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRINT004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/can-i-finish-this-thought-x-xprint004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprint004.json"
      },
      {
        "id": "XPRINT005",
        "title_en": "Let me make sure I've got this right: [X], right?",
        "title_ru": "Проверить, правильно ли понял собеседника",
        "description_en": "A reusable frame from “Interaction moves”. Enter, hold, redirect and close a turn without losing the thread.",
        "description_ru": "Каркас из раздела «Управление разговором». Входите в разговор, удерживайте ход мысли, перенаправляйте и завершайте реплику.",
        "group_id": "INT",
        "set_id": "INT",
        "formulas": [
          "Let me make sure I've got this right: [X], right?",
          "Nur damit ich es richtig verstanden habe: [X], richtig?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRINT005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/let-me-make-sure-i-ve-got-this-right-x-xprint005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprint005.json"
      },
      {
        "id": "XPRINT006",
        "title_en": "Could we park [X] for a moment and come back to it after [Y]?",
        "title_ru": "Временно отложить тему и вернуться к ней позже",
        "description_en": "A reusable frame from “Interaction moves”. Enter, hold, redirect and close a turn without losing the thread.",
        "description_ru": "Каркас из раздела «Управление разговором». Входите в разговор, удерживайте ход мысли, перенаправляйте и завершайте реплику.",
        "group_id": "INT",
        "set_id": "INT",
        "formulas": [
          "Could we park [X] for a moment and come back to it after [Y]?",
          "Könnten wir [X] kurz zurückstellen und nach [Y] darauf zurückkommen?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRINT006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/could-we-park-x-and-come-back-to-it-xprint006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprint006.json"
      },
      {
        "id": "XPRREG004",
        "title_en": "That's wrong. → I don't think that's quite right. → I would question whether that conclusion follows from the evidence",
        "title_ru": "Несогласие: прямо → нейтрально → аналитично",
        "description_en": "A reusable frame from “Register shifting”. Express the same intent in casual, neutral and professional language.",
        "description_ru": "Каркас из раздела «Переключение регистра». Выражайте одну и ту же мысль в разговорном, нейтральном и профессиональном регистре.",
        "group_id": "REG",
        "set_id": "REG",
        "formulas": [
          "That's wrong. → I don't think that's quite right. → I would question whether that conclusion follows from the evidence.",
          "Das ist falsch. → Ich glaube nicht, dass das ganz stimmt. → Ich würde infrage stellen, ob diese Schlussfolgerung aus den Belegen folgt."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRREG004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/disagreement-direct-neutral-analytical-xprreg004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprreg004.json"
      },
      {
        "id": "XPRREG005",
        "title_en": "I don't know. → I'm not sure yet. → I don't have enough information to confirm that at this stage",
        "title_ru": "Неопределённость: не знаю → пока не уверен → недостаточно данных",
        "description_en": "A reusable frame from “Register shifting”. Express the same intent in casual, neutral and professional language.",
        "description_ru": "Каркас из раздела «Переключение регистра». Выражайте одну и ту же мысль в разговорном, нейтральном и профессиональном регистре.",
        "group_id": "REG",
        "set_id": "REG",
        "formulas": [
          "I don't know. → I'm not sure yet. → I don't have enough information to confirm that at this stage.",
          "Ich weiß es nicht. → Ich bin mir noch nicht sicher. → Mir liegen derzeit nicht genügend Informationen vor, um das zu bestätigen."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRREG005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/uncertainty-from-i-don-t-know-to-evidence-limited-xprreg005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprreg005.json"
      },
      {
        "id": "XPRREG006",
        "title_en": "You missed [X]. → I think [Y] may have been missed. → It appears that [Z] has not yet been included",
        "title_ru": "Исправление: прямое замечание → мягкая нейтральная формулировка",
        "description_en": "A reusable frame from “Register shifting”. Express the same intent in casual, neutral and professional language.",
        "description_ru": "Каркас из раздела «Переключение регистра». Выражайте одну и ту же мысль в разговорном, нейтральном и профессиональном регистре.",
        "group_id": "REG",
        "set_id": "REG",
        "formulas": [
          "You missed [X]. → I think [X] may have been missed. → It appears that [X] has not yet been included.",
          "Sie haben [X] vergessen. → Ich glaube, [X] wurde möglicherweise übersehen. → Es scheint, dass [X] noch nicht aufgenommen wurde."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRREG006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/correction-from-direct-to-neutral-xprreg006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprreg006.json"
      },
      {
        "id": "XPRRTR010",
        "title_en": "❌ married with [X] → ✓ married to [Y]",
        "title_ru": "Не переносить предлог в конструкции «быть женатым / замужем»",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "Каркас из раздела «Ловушки переноса из русского». Исправляйте типичные английские и немецкие конструкции, которые русскоязычные переносят буквально.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ married with [someone] → ✓ married to [someone]",
          "❌ verheiratet zu [jemandem] → ✓ verheiratet mit [jemandem + Dativ]"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR010",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/married-with-vs-married-to-xprrtr010/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr010.json"
      },
      {
        "id": "XPRRTR011",
        "title_en": "❌ answer on [X] → ✓ answer [Y] / respond to [Z]",
        "title_ru": "Не смешивать управление глаголов ответа",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "Каркас из раздела «Ловушки переноса из русского». Исправляйте типичные английские и немецкие конструкции, которые русскоязычные переносят буквально.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ answer on [a question] → ✓ answer [a question] / respond to [a message]",
          "❌ auf [eine Frage] beantworten → ✓ [eine Frage] beantworten / auf [eine Frage] antworten"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR011",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/answer-on-vs-answer-respond-to-xprrtr011/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr011.json"
      },
      {
        "id": "XPRRTR012",
        "title_en": "❌ informations / advices → ✓ information / advice",
        "title_ru": "Не делать неисчисляемые слова множественными и не терять немецкий дательный",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "Каркас из раздела «Ловушки переноса из русского». Исправляйте типичные английские и немецкие конструкции, которые русскоязычные переносят буквально.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ informations / advices → ✓ information / advice",
          "❌ helfen + Akkusativ → ✓ helfen + Dativ"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR012",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/information-advice-uncountable-xprrtr012/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr012.json"
      },
      {
        "id": "XPRTRN004",
        "title_en": "Although [X], [Y]. → Despite [Z], [A]",
        "title_ru": "Уступительное придаточное → компактная предложная конструкция",
        "description_en": "Acknowledges one point while keeping the main claim and contrast clear.",
        "description_ru": "Признаёт один аргумент, но сохраняет основной тезис и делает контраст явным.",
        "group_id": "TRN",
        "set_id": "TRN",
        "formulas": [
          "Although [clause], [Y]. → Despite [noun or -ing], [Y].",
          "Obwohl [Nebensatz], [Y]. → Trotz [Nomen], [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRTRN004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/although-x-y-vs-despite-x-y-xprtrn004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprtrn004.json"
      },
      {
        "id": "XPRTRN005",
        "title_en": "I only realised [X] when [Y]. → It wasn't until [Z] that I realised [A]",
        "title_ru": "Осознание только после события → усиленная конструкция",
        "description_en": "A reusable frame from “Transformations and reformulation”. Rebuild the same meaning with a different grammatical or discourse frame.",
        "description_ru": "Каркас из раздела «Трансформации и переформулирование». Перестраивайте ту же мысль с помощью другой грамматической или дискурсивной конструкции.",
        "group_id": "TRN",
        "set_id": "TRN",
        "formulas": [
          "I only realised [X] when [Y]. → It wasn't until [Y] that I realised [X].",
          "Ich erkannte [X] erst, als [Y]. → Erst als [Y], wurde mir [X] klar."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRTRN005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/it-wasn-t-until-y-that-i-realised-x-xprtrn005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprtrn005.json"
      },
      {
        "id": "XPRTRN006",
        "title_en": "If it hadn't been for [X], [Y] would have happened. → Without [Z], [A] would have happened",
        "title_ru": "Нереальное условие в прошлом → компактная конструкция без союза",
        "description_en": "A reusable frame from “Transformations and reformulation”. Rebuild the same meaning with a different grammatical or discourse frame.",
        "description_ru": "Каркас из раздела «Трансформации и переформулирование». Перестраивайте ту же мысль с помощью другой грамматической или дискурсивной конструкции.",
        "group_id": "TRN",
        "set_id": "TRN",
        "formulas": [
          "If it hadn't been for [X], [Y] would have happened. → Without [X], [Y] would have happened.",
          "Wenn [X] nicht gewesen wäre, hätte [Y] ... → Ohne [X] hätte [Y] ..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRTRN006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-it-hadn-t-been-for-x-vs-without-x-xprtrn006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprtrn006.json"
      },
      {
        "id": "XPRRTR004",
        "title_en": "❌ I sent [X] to [Y]. → ✓ I sent a/the [Z] to the [A]",
        "title_ru": "Не пропускать английские артикли",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "В русском артиклей нет, поэтому в английском выбор a/an/the нужно замечать как отдельную часть модели.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ I sent [document] to [manager]. → ✓ I sent a/the [document] to the [manager].",
          "❌ Ich sprach mit [Manager]. → ✓ Ich sprach mit dem [Manager]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-sent-document-to-manager-i-sent-a-the-document-xprrtr004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr004.json"
      },
      {
        "id": "XPRRTR005",
        "title_en": "❌ listen [X] / depend from [Y] → ✓ listen to [Z] / depend on [A]",
        "title_ru": "Учить предлог вместе с глаголом",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "Русский и английский по-разному кодируют управление, поэтому предлог нужно хранить вместе с глаголом.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ listen [X] / depend from [X] → ✓ listen to [X] / depend on [X]",
          "❌ auf [X] warten ohne auf → ✓ auf [X] warten"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/listen-x-depend-from-x-listen-to-x-depend-on-x-xprrtr005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr005.json"
      },
      {
        "id": "XPRRTR006",
        "title_en": "❌ I am [X] for [Y]. → ✓ I have been [Z] for [A]",
        "title_ru": "Длительность до настоящего момента",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "Русское настоящее не переносится напрямую на английскую длительность, которая началась раньше и продолжается сейчас.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ I am [doing X] for [duration]. → ✓ I have been [doing X] for [duration].",
          "❌ für [Dauer] bei fortdauernder Situation → ✓ seit [Zeitpunkt/Dauer] + Präsens"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR006",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-am-doing-x-for-duration-i-have-been-doing-x-xprrtr006/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr006.json"
      },
      {
        "id": "XPRRTR007",
        "title_en": "❌ If [X] will happen, [Y] will happen. → ✓ If [Z] happens, [A] will happen",
        "title_ru": "Будущее значение в условной части без формы будущего времени",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ If [X] will happen, [Y] will happen. → ✓ If [X] happens, [Y] will happen.",
          "❌ Wenn [X] würde ..., würde [Y] ... → ✓ Wenn [X] ..., würde [Y] ..."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR007",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-x-will-happen-y-will-happen-if-x-happens-y-xprrtr007/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr007.json"
      },
      {
        "id": "XPRRTR008",
        "title_en": "❌ I very [X] [Y]. → ✓ I really [Z] [A]. / I [B] [X6] very much",
        "title_ru": "Степень перед обычным глаголом",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "Русское «очень» не переносится перед английским смысловым глаголом как very; используйте really или very much.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ I very [verb] [X]. → ✓ I really [verb] [X]. / I [verb] [X] very much.",
          "❌ Ich sehr [Verb] ... → ✓ Ich [Verb] ... sehr / wirklich."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR008",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-very-verb-x-i-really-verb-x-i-verb-x-very-much-xprrtr008/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr008.json"
      },
      {
        "id": "XPRRTR009",
        "title_en": "❌ I feel myself [X]. → ✓ I feel [Y]",
        "title_ru": "«Чувствовать себя» без возвратного местоимения",
        "description_en": "A reusable frame from “Russian-speaker transfer traps”. Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "description_ru": "Русское «чувствовать себя» не требует reflexive pronoun в обычном английском feel + adjective.",
        "group_id": "RTR",
        "set_id": "RTR",
        "formulas": [
          "❌ I feel myself [adjective]. → ✓ I feel [adjective].",
          "EN: feel [adjective] ↔ DE: sich [adjective] fühlen"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": null,
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XPRRTR009",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-feel-myself-adjective-i-feel-adjective-xprrtr009/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xprrtr009.json"
      },
      {
        "id": "XTHCDG001",
        "title_en": "[X] may have triggered [Y], but that does not make it the underlying cause",
        "title_ru": "Отделить триггер от причины",
        "description_en": "A reusable frame from “Causal diagnosis”. Separate triggers from causes, compare mechanisms, and diagnose causal structure without treating sequence as proof.",
        "description_ru": "Событие может запустить сбой, не будучи механизмом, который сделал сбой возможным.",
        "group_id": "CDG",
        "set_id": "CDG",
        "formulas": [
          "[X] may have triggered [Y], but that does not make it the underlying cause.",
          "[X] kann [Y] ausgelöst haben, ist damit aber nicht automatisch die zugrunde liegende Ursache."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Cause",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHCDG001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-may-have-triggered-y-but-that-does-not-make-it-xthcdg001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthcdg001.json"
      },
      {
        "id": "XTHCDG002",
        "title_en": "If [X] were the main cause, we would expect [Y]; if [Z] were, we would expect [A]",
        "title_ru": "Сравнить конкурирующие причины",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "CDG",
        "set_id": "CDG",
        "formulas": [
          "If [X] were the main cause, we would expect [Y]; if [Z] were, we would expect [W].",
          "Wenn [X] die Hauptursache wäre, würden wir [Y] erwarten; wenn es [Z] wäre, würden wir [W] erwarten."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Cause",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHCDG002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-x-were-the-main-cause-we-would-expect-y-if-z-xthcdg002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthcdg002.json"
      },
      {
        "id": "XTHCDG003",
        "title_en": "The link from [X] to [Y] only makes sense if [Z] happens in between",
        "title_ru": "Найти промежуточный механизм",
        "description_en": "A reusable frame from “Causal diagnosis”. Separate triggers from causes, compare mechanisms, and diagnose causal structure without treating sequence as proof.",
        "description_ru": "Между X и Y должен быть понятный механизм, иначе причинность остаётся красивой стрелкой.",
        "group_id": "CDG",
        "set_id": "CDG",
        "formulas": [
          "The link from [X] to [Y] only makes sense if [Z] happens in between.",
          "Der Zusammenhang zwischen [X] und [Y] ergibt nur Sinn, wenn dazwischen [Z] passiert."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Cause",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHCDG003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-link-from-x-to-y-only-makes-sense-if-z-xthcdg003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthcdg003.json"
      },
      {
        "id": "XTHCDG004",
        "title_en": "[X] may be necessary for [Y], but it is not sufficient on its own",
        "title_ru": "Не путать необходимое и достаточное",
        "description_en": "A reusable frame from “Causal diagnosis”. Separate triggers from causes, compare mechanisms, and diagnose causal structure without treating sequence as proof.",
        "description_ru": "Фактор может быть необходимым условием и всё равно не объяснять результат самостоятельно.",
        "group_id": "CDG",
        "set_id": "CDG",
        "formulas": [
          "[X] may be necessary for [Y], but it is not sufficient on its own.",
          "[X] kann für [Y] notwendig sein, ist allein aber nicht hinreichend."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Cause",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHCDG004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/x-may-be-necessary-for-y-but-it-is-not-xthcdg004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthcdg004.json"
      },
      {
        "id": "XTHCDG005",
        "title_en": "What changed before [X], and what stayed the same?",
        "title_ru": "Спросить, что изменилось перед эффектом",
        "description_en": "A reusable frame from “Causal diagnosis”. Separate triggers from causes, compare mechanisms, and diagnose causal structure without treating sequence as proof.",
        "description_ru": "Изменение не доказывает причину, но помогает сузить область поиска.",
        "group_id": "CDG",
        "set_id": "CDG",
        "formulas": [
          "What changed before [X], and what stayed the same?",
          "Was hat sich vor [X] verändert, und was ist gleich geblieben?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Cause",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHCDG005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-changed-before-x-and-what-stayed-the-same-xthcdg005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthcdg005.json"
      },
      {
        "id": "XTHDEC001",
        "title_en": "We should agree on the decision criteria before comparing [X] and [Y]",
        "title_ru": "Сначала критерии решения, потом варианты",
        "description_en": "A reusable frame from “Decision quality and trade-offs”. Compare options by explicit criteria, weigh the cost of delay, and preserve useful flexibility when certainty is impossible.",
        "description_ru": "Не меняйте критерии после того, как увидели любимый вариант.",
        "group_id": "DEC",
        "set_id": "DEC",
        "formulas": [
          "We should agree on the decision criteria before comparing [X] and [Y].",
          "Wir sollten uns auf die Entscheidungskriterien einigen, bevor wir [X] und [Y] vergleichen."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Decide",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHDEC001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-should-agree-on-the-decision-criteria-before-xthdec001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthdec001.json"
      },
      {
        "id": "XTHDEC002",
        "title_en": "If this decision is reversible, we can favour speed over certainty",
        "title_ru": "Обратимое решение можно принять быстрее",
        "description_en": "A reusable frame from “Decision quality and trade-offs”. Compare options by explicit criteria, weigh the cost of delay, and preserve useful flexibility when certainty is impossible.",
        "description_ru": "Не требуйте одинаковой степени уверенности от решений, которые легко отменить, и решений, которые трудно повернуть назад.",
        "group_id": "DEC",
        "set_id": "DEC",
        "formulas": [
          "If this decision is reversible, we can favour speed over certainty.",
          "Wenn diese Entscheidung reversibel ist, können wir Geschwindigkeit höher gewichten als Sicherheit."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Decide",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHDEC002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-this-decision-is-reversible-we-can-favour-xthdec002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthdec002.json"
      },
      {
        "id": "XTHDEC003",
        "title_en": "The cost of waiting is [X], while the cost of acting now is [Y]",
        "title_ru": "Цена ожидания и цена действия сейчас",
        "description_en": "A reusable frame from “Decision quality and trade-offs”. Compare options by explicit criteria, weigh the cost of delay, and preserve useful flexibility when certainty is impossible.",
        "description_ru": "Ожидание тоже является выбором и тоже имеет цену.",
        "group_id": "DEC",
        "set_id": "DEC",
        "formulas": [
          "The cost of waiting is [X], while the cost of acting now is [Y].",
          "Die Kosten des Wartens sind [X], während die Kosten des sofortigen Handelns [Y] sind."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Decide",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHDEC003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-cost-of-waiting-is-x-while-the-cost-of-xthdec003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthdec003.json"
      },
      {
        "id": "XTHDEC004",
        "title_en": "The choice is not between risk and no risk, but between [X] risk and [Y] risk",
        "title_ru": "Выбор не между риском и отсутствием риска",
        "description_en": "A reusable frame from “Decision quality and trade-offs”. Compare options by explicit criteria, weigh the cost of delay, and preserve useful flexibility when certainty is impossible.",
        "description_ru": "В реальном решении обычно выбирают не отсутствие риска, а один профиль риска вместо другого.",
        "group_id": "DEC",
        "set_id": "DEC",
        "formulas": [
          "The choice is not between risk and no risk, but between [X] risk and [Y] risk.",
          "Die Wahl besteht nicht zwischen Risiko und keinem Risiko, sondern zwischen [X]-Risiko und [Y]-Risiko."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Decide",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHDEC004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-choice-is-not-between-risk-and-no-risk-but-xthdec004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthdec004.json"
      },
      {
        "id": "XTHDEC005",
        "title_en": "We can preserve optionality by [X] while postponing [Y]",
        "title_ru": "Сохранить пространство для следующего решения",
        "description_en": "A reusable frame from “Decision quality and trade-offs”. Compare options by explicit criteria, weigh the cost of delay, and preserve useful flexibility when certainty is impossible.",
        "description_ru": "Иногда лучший следующий шаг — не закрыть все варианты, а получить информацию и сохранить возможность изменить курс.",
        "group_id": "DEC",
        "set_id": "DEC",
        "formulas": [
          "We can preserve optionality by [doing X] while postponing [Y].",
          "Wir können Handlungsspielraum bewahren, indem wir [X] tun und [Y] aufschieben."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Decide",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHDEC005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-can-preserve-optionality-by-doing-x-while-xthdec005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthdec005.json"
      },
      {
        "id": "XTHFRM001",
        "title_en": "A more useful way to frame [X] is as [Y], rather than [Z]",
        "title_ru": "Полезнее сформулировать … как …, а не …",
        "description_en": "A reusable frame from “Problem framing and reframing”. Define the problem before solving it, expose hidden assumptions, and choose a more useful frame.",
        "description_ru": "Смените рамку так, чтобы она направляла внимание на решаемую часть проблемы.",
        "group_id": "FRM",
        "set_id": "FRM",
        "formulas": [
          "A more useful way to frame [X] is as [Y], rather than [Z].",
          "Hilfreicher ist es, [X] als [Y] statt als [Z] zu betrachten."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Frame",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHFRM001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-more-useful-way-to-frame-x-is-as-y-rather-than-xthfrm001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthfrm001.json"
      },
      {
        "id": "XTHFRM002",
        "title_en": "Before we solve [X], we need to decide what counts as [Y]",
        "title_ru": "Сначала определить, что считается успехом",
        "description_en": "A reusable frame from “Problem framing and reframing”. Define the problem before solving it, expose hidden assumptions, and choose a more useful frame.",
        "description_ru": "Не решайте задачу до того, как определили, какой результат вообще считается решением.",
        "group_id": "FRM",
        "set_id": "FRM",
        "formulas": [
          "Before we solve [X], we need to decide what counts as [Y].",
          "Bevor wir [X] lösen, müssen wir festlegen, was als [Y] gilt."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Frame",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHFRM002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/before-we-solve-x-we-need-to-decide-what-counts-xthfrm002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthfrm002.json"
      },
      {
        "id": "XTHFRM003",
        "title_en": "The constraint we should design around is [X], not [Y]",
        "title_ru": "Проектировать вокруг реального ограничения",
        "description_en": "A reusable frame from “Problem framing and reframing”. Define the problem before solving it, expose hidden assumptions, and choose a more useful frame.",
        "description_ru": "Отделите ограничение, которое действительно определяет решение, от удобного, но второстепенного фактора.",
        "group_id": "FRM",
        "set_id": "FRM",
        "formulas": [
          "The constraint we should design around is [X], not [Y].",
          "Die Randbedingung, an der wir uns orientieren sollten, ist [X], nicht [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Frame",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHFRM003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-constraint-we-should-design-around-is-x-not-xthfrm003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthfrm003.json"
      },
      {
        "id": "XTHFRM004",
        "title_en": "If we define the problem as [X], we will optimise for [Y]",
        "title_ru": "Рамка определяет, что мы оптимизируем",
        "description_en": "A reusable frame from “Problem framing and reframing”. Define the problem before solving it, expose hidden assumptions, and choose a more useful frame.",
        "description_ru": "Покажите, как формулировка проблемы заранее направляет решение в определённую сторону.",
        "group_id": "FRM",
        "set_id": "FRM",
        "formulas": [
          "If we define the problem as [X], we will optimise for [Y].",
          "Wenn wir das Problem als [X] definieren, werden wir auf [Y] optimieren."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Frame",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHFRM004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-we-define-the-problem-as-x-we-will-optimise-xthfrm004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthfrm004.json"
      },
      {
        "id": "XTHFRM005",
        "title_en": "The question changes once we distinguish [X] from [Y]",
        "title_ru": "Разделить два смешанных вопроса",
        "description_en": "A reusable frame from “Problem framing and reframing”. Define the problem before solving it, expose hidden assumptions, and choose a more useful frame.",
        "description_ru": "Иногда спор исчезает, если разделить два понятия, которые раньше обсуждались как одно.",
        "group_id": "FRM",
        "set_id": "FRM",
        "formulas": [
          "The question changes once we distinguish [X] from [Y].",
          "Die Frage verändert sich, sobald wir [X] von [Y] unterscheiden."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Frame",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHFRM005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-question-changes-once-we-distinguish-x-from-xthfrm005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthfrm005.json"
      },
      {
        "id": "XTHHYP001",
        "title_en": "If our hypothesis is right, we should observe [X] when [Y]",
        "title_ru": "Сформулировать проверяемую гипотезу",
        "description_en": "A reusable frame from “Hypothesis testing”. Turn explanations into testable predictions, seek discriminating evidence, and revise claims when the data require it.",
        "description_ru": "Хорошая гипотеза говорит не только что мы думаем, но и что должно наблюдаться, если мы правы.",
        "group_id": "HYP",
        "set_id": "HYP",
        "formulas": [
          "If our hypothesis is right, we should observe [X] when [Y].",
          "Wenn unsere Hypothese stimmt, sollten wir [X] beobachten, wenn [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Test",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHHYP001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/if-our-hypothesis-is-right-we-should-observe-x-xthhyp001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthhyp001.json"
      },
      {
        "id": "XTHHYP002",
        "title_en": "I would revise this hypothesis if [X]",
        "title_ru": "Назвать опровергающее наблюдение",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "HYP",
        "set_id": "HYP",
        "formulas": [
          "I would revise this hypothesis if [X].",
          "Ich würde diese Hypothese revidieren, wenn [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Test",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHHYP002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-would-revise-this-hypothesis-if-x-xthhyp002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthhyp002.json"
      },
      {
        "id": "XTHHYP003",
        "title_en": "What would distinguish [X] from the alternative that [Y]?",
        "title_ru": "Сравнить гипотезу с альтернативой",
        "description_en": "A reusable frame from “Hypothesis testing”. Turn explanations into testable predictions, seek discriminating evidence, and revise claims when the data require it.",
        "description_ru": "Подтверждение одной версии мало значит, если другая версия предсказывает то же самое.",
        "group_id": "HYP",
        "set_id": "HYP",
        "formulas": [
          "What would distinguish [X] from the alternative that [Y]?",
          "Woran könnten wir erkennen, ob [X] zutrifft oder stattdessen [Y]?"
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Test",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHHYP003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-would-distinguish-x-from-the-alternative-xthhyp003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthhyp003.json"
      },
      {
        "id": "XTHHYP004",
        "title_en": "The most informative next test would be [X], because it would separate [Y] from [Z]",
        "title_ru": "Выбрать самый информативный тест",
        "description_en": "A reusable frame from “Hypothesis testing”. Turn explanations into testable predictions, seek discriminating evidence, and revise claims when the data require it.",
        "description_ru": "Лучший следующий тест не обязательно самый большой, а тот, который сильнее разделяет версии.",
        "group_id": "HYP",
        "set_id": "HYP",
        "formulas": [
          "The most informative next test would be [X], because it would separate [Y] from [Z].",
          "Der informativste nächste Test wäre [X], weil er [Y] von [Z] unterscheiden würde."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Test",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHHYP004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-most-informative-next-test-would-be-x-xthhyp004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthhyp004.json"
      },
      {
        "id": "XTHHYP005",
        "title_en": "We have not confirmed [X], but we have not ruled it out either",
        "title_ru": "Не путать отсутствие доказательства с опровержением",
        "description_en": "A reusable frame from “Hypothesis testing”. Turn explanations into testable predictions, seek discriminating evidence, and revise claims when the data require it.",
        "description_ru": "Неподтверждённая гипотеза и опровергнутая гипотеза — не одно и то же.",
        "group_id": "HYP",
        "set_id": "HYP",
        "formulas": [
          "We have not confirmed [X], but we have not ruled it out either.",
          "Für [X] haben wir noch keine Bestätigung; ausgeschlossen ist es aber auch nicht."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Test",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHHYP005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-have-not-confirmed-x-but-we-have-not-ruled-it-xthhyp005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthhyp005.json"
      },
      {
        "id": "XTHMETA001",
        "title_en": "I can recognise [X], but I cannot reliably produce it without [Y] yet",
        "title_ru": "Отличить узнавание от воспроизведения",
        "description_en": "A reusable frame from “Metacognitive learning”. Notice what you recognise but cannot recall, diagnose recurring errors, and convert feedback into the next practice target.",
        "description_ru": "Узнать знакомую фразу легче, чем самостоятельно достать её из памяти.",
        "group_id": "META",
        "set_id": "META",
        "formulas": [
          "I can recognise [X], but I cannot reliably produce it without [Y] yet.",
          "Ich erkenne [X], kann es aber noch nicht zuverlässig ohne [Y] selbst produzieren."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Learn",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHMETA001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-can-recognise-x-but-i-cannot-reliably-produce-xthmeta001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthmeta001.json"
      },
      {
        "id": "XTHMETA002",
        "title_en": "The part I still confuse is the difference between [X] and [Y]",
        "title_ru": "Назвать точку путаницы",
        "description_en": "A reusable frame from “Metacognitive learning”. Notice what you recognise but cannot recall, diagnose recurring errors, and convert feedback into the next practice target.",
        "description_ru": "Полезнее знать не «я не понимаю», а между какими двумя вещами возникает путаница.",
        "group_id": "META",
        "set_id": "META",
        "formulas": [
          "The part I still confuse is the difference between [X] and [Y].",
          "Was ich noch verwechsle, ist der Unterschied zwischen [X] und [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Learn",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHMETA002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-part-i-still-confuse-is-the-difference-xthmeta002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthmeta002.json"
      },
      {
        "id": "XTHMETA003",
        "title_en": "The recurring pattern in my errors is that I [X] when I should [Y]",
        "title_ru": "Найти повторяющийся тип ошибки",
        "description_en": "A reusable frame from “Metacognitive learning”. Notice what you recognise but cannot recall, diagnose recurring errors, and convert feedback into the next practice target.",
        "description_ru": "Одна ошибка может быть случайностью, повторяющийся тип ошибки уже подсказывает, что тренировать.",
        "group_id": "META",
        "set_id": "META",
        "formulas": [
          "The recurring pattern in my errors is that I [X] when I should [Y].",
          "Das wiederkehrende Muster in meinen Fehlern ist, dass ich [X], obwohl ich [Y] sollte."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Learn",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHMETA003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-recurring-pattern-in-my-errors-is-that-i-x-xthmeta003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthmeta003.json"
      },
      {
        "id": "XTHMETA004",
        "title_en": "The next thing I should practise is [X], because it is the smallest gap blocking [Y]",
        "title_ru": "Выбрать следующий объект практики",
        "description_en": "A reusable frame from “Metacognitive learning”. Notice what you recognise but cannot recall, diagnose recurring errors, and convert feedback into the next practice target.",
        "description_ru": "После ошибки полезен не общий вывод «учить больше», а следующий конкретный навык.",
        "group_id": "META",
        "set_id": "META",
        "formulas": [
          "The next thing I should practise is [X], because it is the smallest gap blocking [Y].",
          "Als Nächstes sollte ich üben, [X], weil das die kleinste Lücke ist, die [Y] noch blockiert."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Learn",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHMETA004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-next-thing-i-should-practise-is-x-because-it-xthmeta004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthmeta004.json"
      },
      {
        "id": "XTHMETA005",
        "title_en": "The general lesson from this correction is that when [X], I should [Y]",
        "title_ru": "Извлечь правило после обратной связи",
        "description_en": "A reusable frame from “Metacognitive learning”. Notice what you recognise but cannot recall, diagnose recurring errors, and convert feedback into the next practice target.",
        "description_ru": "Обратная связь полезна, если из конкретного исправления получается переносимое правило.",
        "group_id": "META",
        "set_id": "META",
        "formulas": [
          "The general lesson from this correction is that when [X], I should [Y].",
          "Die allgemeine Lehre aus dieser Korrektur ist, dass ich bei [X] [Y] sollte."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Learn",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHMETA005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-general-lesson-from-this-correction-is-that-xthmeta005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthmeta005.json"
      },
      {
        "id": "XTHPST001",
        "title_en": "The strongest concern on the other side is that [X]",
        "title_ru": "Сформулировать сильнейшее возражение",
        "description_en": "A reusable frame from “Perspective taking”. Represent another viewpoint fairly, separate positions from interests, and locate the real source of disagreement.",
        "description_ru": "Проверяйте идею не слабым возражением, а лучшей версией чужой позиции.",
        "group_id": "PST",
        "set_id": "PST",
        "formulas": [
          "The strongest concern on the other side is that [X].",
          "Der stärkste Einwand der anderen Seite ist, dass [X]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Perspective",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHPST001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-strongest-concern-on-the-other-side-is-that-xthpst001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthpst001.json"
      },
      {
        "id": "XTHPST002",
        "title_en": "Their position is [X], but the underlying interest may be [Y]",
        "title_ru": "Отделить позицию от интереса",
        "description_en": "A reusable frame from “Perspective taking”. Represent another viewpoint fairly, separate positions from interests, and locate the real source of disagreement.",
        "description_ru": "За жёсткой позицией часто стоит более гибкий интерес, который можно удовлетворить иначе.",
        "group_id": "PST",
        "set_id": "PST",
        "formulas": [
          "Their position is [X], but the underlying interest may be [Y].",
          "Ihre Position ist [X], aber das zugrunde liegende Interesse könnte [Y] sein."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Perspective",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHPST002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/their-position-is-x-but-the-underlying-interest-xthpst002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthpst002.json"
      },
      {
        "id": "XTHPST003",
        "title_en": "We may agree on [X] and still disagree on how much weight to give [Y]",
        "title_ru": "Разделить факт и ценностное суждение",
        "description_en": "A reusable frame from “Perspective taking”. Represent another viewpoint fairly, separate positions from interests, and locate the real source of disagreement.",
        "description_ru": "Люди могут соглашаться с фактами и расходиться в том, что считают важным.",
        "group_id": "PST",
        "set_id": "PST",
        "formulas": [
          "We may agree on [X] and still disagree on how much weight to give [Y].",
          "Wir können uns bei [X] einig sein und [Y] trotzdem unterschiedlich gewichten."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Perspective",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHPST003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/we-may-agree-on-x-and-still-disagree-on-how-much-xthpst003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthpst003.json"
      },
      {
        "id": "XTHPST004",
        "title_en": "A more neutral way to state the disagreement is that [X] prioritises [Y], while [Z] prioritises [A]",
        "title_ru": "Нейтрально переформулировать спор",
        "description_en": "A reusable frame from “Perspective taking”. Represent another viewpoint fairly, separate positions from interests, and locate the real source of disagreement.",
        "description_ru": "Смените обвинительную формулировку на описание реального разногласия.",
        "group_id": "PST",
        "set_id": "PST",
        "formulas": [
          "A more neutral way to state the disagreement is that [X] prioritises [Y], while [Z] prioritises [W].",
          "Neutraler formuliert priorisiert [X] [Y], während [Z] [W] priorisiert."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Perspective",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHPST004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/a-more-neutral-way-to-state-the-disagreement-is-xthpst004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthpst004.json"
      },
      {
        "id": "XTHPST005",
        "title_en": "From [X]'s perspective, [Y] is reasonable if [Z]",
        "title_ru": "Спросить, что было бы разумно с другой точки зрения",
        "description_en": "A reusable frame from “Perspective taking”. Represent another viewpoint fairly, separate positions from interests, and locate the real source of disagreement.",
        "description_ru": "Решение может выглядеть нелогичным только потому, что мы смотрим не с той позиции.",
        "group_id": "PST",
        "set_id": "PST",
        "formulas": [
          "From [X]'s perspective, [Y] is reasonable if [Z].",
          "Aus Sicht von [X] ist [Y] sinnvoll, wenn [Z]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Perspective",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHPST005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/from-x-s-perspective-y-is-reasonable-if-z-xthpst005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthpst005.json"
      },
      {
        "id": "XTHSYS001",
        "title_en": "The immediate effect may be [X], while the second-order effect could be [Y]",
        "title_ru": "Непосредственный эффект и эффект второго порядка",
        "description_en": "A reusable frame from “Systems thinking”. Trace second-order effects, bottlenecks, local optimisation, and the drivers that keep a problem recurring.",
        "description_ru": "Смотрите не только на первый результат действия, но и на то, что этот результат запускает дальше.",
        "group_id": "SYS",
        "set_id": "SYS",
        "formulas": [
          "The immediate effect may be [X], while the second-order effect could be [Y].",
          "Die unmittelbare Wirkung kann [X] sein, während die Wirkung zweiter Ordnung [Y] sein könnte."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Trace consequences",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHSYS001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-immediate-effect-may-be-x-while-the-second-xthsys001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthsys001.json"
      },
      {
        "id": "XTHSYS002",
        "title_en": "This removes the bottleneck at [X], but may move it to [Y]",
        "title_ru": "Узкое место может просто переместиться",
        "description_en": "A reusable frame from “Systems thinking”. Trace second-order effects, bottlenecks, local optimisation, and the drivers that keep a problem recurring.",
        "description_ru": "Ускорение одного участка не гарантирует ускорение всей системы.",
        "group_id": "SYS",
        "set_id": "SYS",
        "formulas": [
          "This removes the bottleneck at [X], but may move it to [Y].",
          "Das beseitigt den Engpass bei [X], kann ihn aber zu [Y] verlagern."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Trace consequences",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHSYS002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-removes-the-bottleneck-at-x-but-may-move-it-xthsys002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthsys002.json"
      },
      {
        "id": "XTHSYS003",
        "title_en": "Optimising [X] locally can make [Y] worse overall",
        "title_ru": "Локальная оптимизация может ухудшить систему",
        "description_en": "A reusable frame from “Systems thinking”. Trace second-order effects, bottlenecks, local optimisation, and the drivers that keep a problem recurring.",
        "description_ru": "Показатель одного участка может улучшиться ценой результата всей системы.",
        "group_id": "SYS",
        "set_id": "SYS",
        "formulas": [
          "Optimising [X] locally can make [Y] worse overall.",
          "Wenn wir [X] lokal optimieren, kann sich [Y] insgesamt verschlechtern."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Trace consequences",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHSYS003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/optimising-x-locally-can-make-y-worse-overall-xthsys003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthsys003.json"
      },
      {
        "id": "XTHSYS004",
        "title_en": "This treats the symptom [X] without changing the underlying driver [Y]",
        "title_ru": "Симптом и базовый драйвер",
        "description_en": "A reusable frame from “Systems thinking”. Trace second-order effects, bottlenecks, local optimisation, and the drivers that keep a problem recurring.",
        "description_ru": "Уберите причину, которая снова производит симптом, а не только сам симптом.",
        "group_id": "SYS",
        "set_id": "SYS",
        "formulas": [
          "This treats the symptom [X] without changing the underlying driver [Y].",
          "Das behandelt das Symptom [X], ohne den zugrunde liegenden Treiber [Y] zu verändern."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Trace consequences",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHSYS004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/this-treats-the-symptom-x-without-changing-the-xthsys004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthsys004.json"
      },
      {
        "id": "XTHSYS005",
        "title_en": "The system will keep producing [X] as long as [Y] remains unchanged",
        "title_ru": "Система продолжит производить тот же результат",
        "description_en": "A reusable frame from “Systems thinking”. Trace second-order effects, bottlenecks, local optimisation, and the drivers that keep a problem recurring.",
        "description_ru": "Если структура не изменилась, повторение результата не является сюрпризом.",
        "group_id": "SYS",
        "set_id": "SYS",
        "formulas": [
          "The system will keep producing [X] as long as [Y] remains unchanged.",
          "Das System wird weiterhin [X] erzeugen, solange [Y] unverändert bleibt."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Trace consequences",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHSYS005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-system-will-keep-producing-x-as-long-as-y-xthsys005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthsys005.json"
      },
      {
        "id": "XTHUNC001",
        "title_en": "What we know is [X]; what we are still assuming is [Y]",
        "title_ru": "Что известно, а что только предполагается",
        "description_en": "A reusable frame from “Reasoning under uncertainty”. Separate evidence from assumptions, calibrate confidence, and identify what information would change the conclusion.",
        "description_ru": "Разделите твёрдую опору и предположение, чтобы не выдавать одно за другое.",
        "group_id": "UNC",
        "set_id": "UNC",
        "formulas": [
          "What we know is [X]; what we are still assuming is [Y].",
          "Was wir wissen, ist [X]; was wir noch annehmen, ist [Y]."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Calibrate",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHUNC001",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/what-we-know-is-x-what-we-are-still-assuming-is-xthunc001/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthunc001.json"
      },
      {
        "id": "XTHUNC002",
        "title_en": "The evidence makes [X] more likely, but it does not rule out [Y]",
        "title_ru": "Данные повышают вероятность, но не исключают альтернативу",
        "description_en": "A reusable frame from “Reasoning under uncertainty”. Separate evidence from assumptions, calibrate confidence, and identify what information would change the conclusion.",
        "description_ru": "Данные могут сдвинуть вероятность, не превращаясь в окончательное доказательство.",
        "group_id": "UNC",
        "set_id": "UNC",
        "formulas": [
          "The evidence makes [X] more likely, but it does not rule out [Y].",
          "Die Hinweise machen [X] wahrscheinlicher, schließen [Y] aber nicht aus."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Calibrate",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHUNC002",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-evidence-makes-x-more-likely-but-it-does-not-xthunc002/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthunc002.json"
      },
      {
        "id": "XTHUNC003",
        "title_en": "I would revise this view if [X] turned out to be true",
        "title_ru": "Что заставило бы меня изменить мнение",
        "description_en": "Explores a possible or counterfactual scenario and the consequences that would follow.",
        "description_ru": "Помогает рассуждать о возможном или альтернативном сценарии и его последствиях.",
        "group_id": "UNC",
        "set_id": "UNC",
        "formulas": [
          "I would revise this view if [X] turned out to be true.",
          "Ich würde diese Einschätzung ändern, wenn sich [X] als zutreffend erweisen würde."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Calibrate",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHUNC003",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/i-would-revise-this-view-if-x-turned-out-to-be-xthunc003/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthunc003.json"
      },
      {
        "id": "XTHUNC004",
        "title_en": "Our confidence should be lower because [X] is still unknown",
        "title_ru": "Снизить уверенность из-за неизвестного",
        "description_en": "Makes a cause-and-effect link explicit so the reasoning is easier to inspect.",
        "description_ru": "Делает связь причины и следствия явной, чтобы ход рассуждения было легче проверить.",
        "group_id": "UNC",
        "set_id": "UNC",
        "formulas": [
          "Our confidence should be lower because [X] is still unknown.",
          "Unser Vertrauen in die Schlussfolgerung sollte geringer sein, weil [X] noch unklar ist."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Calibrate",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHUNC004",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/our-confidence-should-be-lower-because-x-is-xthunc004/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthunc004.json"
      },
      {
        "id": "XTHUNC005",
        "title_en": "The most useful next evidence would be [X], because it would distinguish [Y] from [Z]",
        "title_ru": "Какое следующее доказательство полезнее всего",
        "description_en": "Connects a claim to evidence and helps keep observation separate from inference.",
        "description_ru": "Связывает утверждение с данными и помогает отделить наблюдение от вывода.",
        "group_id": "UNC",
        "set_id": "UNC",
        "formulas": [
          "The most useful next evidence would be [X], because it would distinguish [Y] from [Z].",
          "Der nützlichste nächste Hinweis wäre [X], weil er [Y] von [Z] unterscheiden würde."
        ],
        "languages": [
          "en",
          "de"
        ],
        "reasoning_move": "Calibrate",
        "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
            }
          },
          "search": {
            "policy": "editorial-pattern-indexability-v1",
            "indexable": true,
            "robots": "index,follow,max-image-preview:large,max-snippet:-1,max-video-preview:-1",
            "reasons": [],
            "evidence": [
              "curated_distinct_pattern",
              "translations_complete",
              "context_examples_sufficient",
              "variation_duplicates_absent"
            ],
            "canonical_pattern_id": "XTHUNC005",
            "frame_family_id": null
          }
        },
        "canonical_url": "https://metkagram.github.io/en/practice/patterns/the-most-useful-next-evidence-would-be-x-because-xthunc005/",
        "api_url": "https://metkagram.github.io/api/v1/patterns/xthunc005.json"
      }
    ],
    "sets": [
      {
        "id": "ARG",
        "slug": "argumentation",
        "title_en": "Argumentation",
        "title_ru": "Аргументация",
        "description": "Build and test a line of reasoning.",
        "level": "B2–C1",
        "path": "ARG",
        "pattern_count": 1,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/argumentation/",
        "api_url": "https://metkagram.github.io/api/v1/sets/arg.json"
      },
      {
        "id": "OPI",
        "slug": "opinions-and-stance",
        "title_en": "Opinions and stance",
        "title_ru": "Мнение и позиция",
        "description": "State a position with the right degree of commitment.",
        "level": "B2–C1",
        "path": "OPI",
        "pattern_count": 145,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/opinions-and-stance/",
        "api_url": "https://metkagram.github.io/api/v1/sets/opi.json"
      },
      {
        "id": "EVD",
        "slug": "evidence-and-inference",
        "title_en": "Evidence and inference",
        "title_ru": "Доказательства и выводы",
        "description": "Connect a claim to evidence without overclaiming.",
        "level": "B2–C1",
        "path": "EVD",
        "pattern_count": 16,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/evidence-and-inference/",
        "api_url": "https://metkagram.github.io/api/v1/sets/evd.json"
      },
      {
        "id": "AGR",
        "slug": "agreement-and-disagreement",
        "title_en": "Agreement and disagreement",
        "title_ru": "Согласие и несогласие",
        "description": "Respond constructively to another view.",
        "level": "B2–C1",
        "path": "AGR",
        "pattern_count": 1,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/agreement-and-disagreement/",
        "api_url": "https://metkagram.github.io/api/v1/sets/agr.json"
      },
      {
        "id": "HED",
        "slug": "qualification-and-hedging",
        "title_en": "Qualification and hedging",
        "title_ru": "Оговорки и смягчение",
        "description": "Make precise, proportionate claims.",
        "level": "B2–C1",
        "path": "HED",
        "pattern_count": 1,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/qualification-and-hedging/",
        "api_url": "https://metkagram.github.io/api/v1/sets/hed.json"
      },
      {
        "id": "PRB",
        "slug": "probability-and-prediction",
        "title_en": "Probability and prediction",
        "title_ru": "Вероятность и прогноз",
        "description": "Discuss likelihood, risk, and uncertainty.",
        "level": "B2–C1",
        "path": "PRB",
        "pattern_count": 2,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/probability-and-prediction/",
        "api_url": "https://metkagram.github.io/api/v1/sets/prb.json"
      },
      {
        "id": "CLR",
        "slug": "clarification-and-reformulation",
        "title_en": "Clarification and reformulation",
        "title_ru": "Уточнение и переформулирование",
        "description": "Repair and sharpen meaning in conversation.",
        "level": "B2–C1",
        "path": "CLR",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/clarification-and-reformulation/",
        "api_url": "https://metkagram.github.io/api/v1/sets/clr.json"
      },
      {
        "id": "CMP",
        "slug": "comparison-and-evaluation",
        "title_en": "Comparison and evaluation",
        "title_ru": "Сравнение и оценка",
        "description": "Compare options using nuanced criteria.",
        "level": "B2–C1",
        "path": "CMP",
        "pattern_count": 9,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/comparison-and-evaluation/",
        "api_url": "https://metkagram.github.io/api/v1/sets/cmp.json"
      },
      {
        "id": "CAU",
        "slug": "cause-effect-and-consequence",
        "title_en": "Cause, effect, and consequence",
        "title_ru": "Причина, следствие и результат",
        "description": "Explain how one development leads to another.",
        "level": "B2–C1",
        "path": "CAU",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/cause-effect-and-consequence/",
        "api_url": "https://metkagram.github.io/api/v1/sets/cau.json"
      },
      {
        "id": "NEG",
        "slug": "negotiation-and-decisions",
        "title_en": "Negotiation and decisions",
        "title_ru": "Переговоры и решения",
        "description": "Make proposals, trade-offs, and commitments.",
        "level": "B2–C1",
        "path": "NEG",
        "pattern_count": 6,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/negotiation-and-decisions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/neg.json"
      },
      {
        "id": "PRO",
        "slug": "professional-communication",
        "title_en": "Professional communication",
        "title_ru": "Профессиональная коммуникация",
        "description": "Write and speak clearly at work.",
        "level": "B2–C1",
        "path": "PRO",
        "pattern_count": 1,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/professional-communication/",
        "api_url": "https://metkagram.github.io/api/v1/sets/pro.json"
      },
      {
        "id": "STO",
        "slug": "storytelling-and-reflection",
        "title_en": "Storytelling and reflection",
        "title_ru": "Истории и рефлексия",
        "description": "Narrate events and draw a lesson from them.",
        "level": "B2–C1",
        "path": "STO",
        "pattern_count": 1,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/storytelling-and-reflection/",
        "api_url": "https://metkagram.github.io/api/v1/sets/sto.json"
      },
      {
        "id": "LNK",
        "slug": "advanced-connectors",
        "title_en": "Advanced connectors",
        "title_ru": "Продвинутые связки",
        "description": "Create coherent, well-signposted discourse.",
        "level": "B2–C1",
        "path": "LNK",
        "pattern_count": 18,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/advanced-connectors/",
        "api_url": "https://metkagram.github.io/api/v1/sets/lnk.json"
      },
      {
        "id": "CND",
        "slug": "conditionals-and-counterfactuals",
        "title_en": "Conditionals and counterfactuals",
        "title_ru": "Условия и контрфакты",
        "description": "Reason through possibilities and alternatives.",
        "level": "B2–C1",
        "path": "CND",
        "pattern_count": 18,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/conditionals-and-counterfactuals/",
        "api_url": "https://metkagram.github.io/api/v1/sets/cnd.json"
      },
      {
        "id": "MOD",
        "slug": "modality-and-obligation",
        "title_en": "Modality and obligation",
        "title_ru": "Модальность и обязанность",
        "description": "Express necessity, permission, and recommendation.",
        "level": "B2–C1",
        "path": "MOD",
        "pattern_count": 6,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/modality-and-obligation/",
        "api_url": "https://metkagram.github.io/api/v1/sets/mod.json"
      },
      {
        "id": "PSV",
        "slug": "passive-and-impersonal-style",
        "title_en": "Passive and impersonal style",
        "title_ru": "Пассив и безличные конструкции",
        "description": "Use formal, process-focused language.",
        "level": "B2–C1",
        "path": "PSV",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/passive-and-impersonal-style/",
        "api_url": "https://metkagram.github.io/api/v1/sets/psv.json"
      },
      {
        "id": "REP",
        "slug": "reported-speech-and-attribution",
        "title_en": "Reported speech and attribution",
        "title_ru": "Косвенная речь и источник",
        "description": "Report what people said with accuracy.",
        "level": "B2–C1",
        "path": "REP",
        "pattern_count": 1,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/reported-speech-and-attribution/",
        "api_url": "https://metkagram.github.io/api/v1/sets/rep.json"
      },
      {
        "id": "TAS",
        "slug": "tense-and-aspect",
        "title_en": "Tense and aspect",
        "title_ru": "Время и аспект",
        "description": "Position actions in time and show duration or completion.",
        "level": "B2–C1",
        "path": "TAS",
        "pattern_count": 5,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/tense-and-aspect/",
        "api_url": "https://metkagram.github.io/api/v1/sets/tas.json"
      },
      {
        "id": "QNN",
        "slug": "questions-negatives-and-reference",
        "title_en": "Questions, negatives, and reference",
        "title_ru": "Вопросы, отрицания и отсылки",
        "description": "Ask precise questions and manage reference.",
        "level": "B2–C1",
        "path": "QNN",
        "pattern_count": 24,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/questions-negatives-and-reference/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qnn.json"
      },
      {
        "id": "DGR",
        "slug": "german-grammar-in-use",
        "title_en": "German grammar in use",
        "title_ru": "Немецкая грамматика в речи",
        "description": "Transfer German word order, cases, and particles into real use.",
        "level": "B2–C1",
        "path": "DGR",
        "pattern_count": 11,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/german-grammar-in-use/",
        "api_url": "https://metkagram.github.io/api/v1/sets/dgr.json"
      },
      {
        "id": "DET",
        "slug": "determiners-and-quantifiers",
        "title_en": "Determiners and quantifiers",
        "title_ru": "Определители и квантификаторы",
        "description": "Make reference, quantity and scope precise.",
        "level": "B2–C1",
        "path": "DET",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/determiners-and-quantifiers/",
        "api_url": "https://metkagram.github.io/api/v1/sets/det.json"
      },
      {
        "id": "INF",
        "slug": "verb-complements-and-non-finite-clauses",
        "title_en": "Verb complements and non-finite clauses",
        "title_ru": "Инфинитив, герундий и неличные конструкции",
        "description": "Choose verb complements and condensed clauses accurately.",
        "level": "B2–C1",
        "path": "INF",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/verb-complements-and-non-finite-clauses/",
        "api_url": "https://metkagram.github.io/api/v1/sets/inf.json"
      },
      {
        "id": "SUB",
        "slug": "subordinate-and-complement-clauses",
        "title_en": "Subordinate and complement clauses",
        "title_ru": "Придаточные и изъяснительные конструкции",
        "description": "Build multi-clause reasoning with clear dependencies.",
        "level": "B2–C1",
        "path": "SUB",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/subordinate-and-complement-clauses/",
        "api_url": "https://metkagram.github.io/api/v1/sets/sub.json"
      },
      {
        "id": "FCS",
        "slug": "focus-inversion-and-emphasis",
        "title_en": "Focus, inversion and emphasis",
        "title_ru": "Фокус, инверсия и эмфаза",
        "description": "Bring the key part of a message into focus.",
        "level": "B2–C1",
        "path": "FCS",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/focus-inversion-and-emphasis/",
        "api_url": "https://metkagram.github.io/api/v1/sets/fcs.json"
      },
      {
        "id": "REL",
        "slug": "relative-and-participial-clauses",
        "title_en": "Relative and participial clauses",
        "title_ru": "Относительные и причастные конструкции",
        "description": "Add precise information without losing the main clause.",
        "level": "B2–C1",
        "path": "REL",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/relative-and-participial-clauses/",
        "api_url": "https://metkagram.github.io/api/v1/sets/rel.json"
      },
      {
        "id": "PRP",
        "slug": "prepositions-and-governed-complements",
        "title_en": "Prepositions and governed complements",
        "title_ru": "Предлоги и управление",
        "description": "Use the complements that verbs, nouns and adjectives require.",
        "level": "B2–C1",
        "path": "PRP",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/prepositions-and-governed-complements/",
        "api_url": "https://metkagram.github.io/api/v1/sets/prp.json"
      },
      {
        "id": "WOR",
        "slug": "word-order-and-verb-position",
        "title_en": "Word order and verb position",
        "title_ru": "Порядок слов и позиция глагола",
        "description": "Control sentence structure across statements, questions and clauses.",
        "level": "B2–C1",
        "path": "WOR",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/word-order-and-verb-position/",
        "api_url": "https://metkagram.github.io/api/v1/sets/wor.json"
      },
      {
        "id": "CAS",
        "slug": "cases-and-nominal-agreement",
        "title_en": "Cases and nominal agreement",
        "title_ru": "Падежи и согласование в именной группе",
        "description": "Keep roles and agreement clear inside the noun phrase.",
        "level": "B2–C1",
        "path": "CAS",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/cases-and-nominal-agreement/",
        "api_url": "https://metkagram.github.io/api/v1/sets/cas.json"
      },
      {
        "id": "ADJ",
        "slug": "adjectives-and-comparison",
        "title_en": "Adjectives and comparison",
        "title_ru": "Прилагательные и сравнение",
        "description": "Describe, compare and qualify with accurate noun phrases.",
        "level": "B2–C1",
        "path": "ADJ",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/adjectives-and-comparison/",
        "api_url": "https://metkagram.github.io/api/v1/sets/adj.json"
      },
      {
        "id": "KON",
        "slug": "mood-modality-and-reported-stance",
        "title_en": "Mood, modality and reported stance",
        "title_ru": "Наклонение, модальность и передача позиции",
        "description": "Express possibility, recommendation and reported judgement precisely.",
        "level": "B2–C1",
        "path": "KON",
        "pattern_count": 8,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/mood-modality-and-reported-stance/",
        "api_url": "https://metkagram.github.io/api/v1/sets/kon.json"
      },
      {
        "id": "QYN",
        "slug": "yes-no-questions",
        "title_en": "Yes/no questions",
        "title_ru": "Общие вопросы",
        "description": "Check a fact, possibility or condition.",
        "level": "B2–C1",
        "path": "QYN",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/yes-no-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qyn.json"
      },
      {
        "id": "QWH",
        "slug": "wh-questions",
        "title_en": "Wh-questions",
        "title_ru": "Специальные вопросы",
        "description": "Ask for the missing reason, method, thing or outcome.",
        "level": "B2–C1",
        "path": "QWH",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/wh-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qwh.json"
      },
      {
        "id": "QSUB",
        "slug": "subject-questions",
        "title_en": "Subject questions",
        "title_ru": "Вопросы к подлежащему",
        "description": "Ask who or what performs the key action.",
        "level": "B2–C1",
        "path": "QSUB",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/subject-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qsub.json"
      },
      {
        "id": "QOBJ",
        "slug": "object-questions",
        "title_en": "Object questions",
        "title_ru": "Вопросы к дополнению",
        "description": "Ask what action, evidence or response is needed.",
        "level": "B2–C1",
        "path": "QOBJ",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/object-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qobj.json"
      },
      {
        "id": "QPRE",
        "slug": "preposition-questions",
        "title_en": "Preposition questions",
        "title_ru": "Вопросы с предлогом",
        "description": "Practise preposition plus question word as one unit.",
        "level": "B2–C1",
        "path": "QPRE",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/preposition-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qpre.json"
      },
      {
        "id": "QTAG",
        "slug": "tag-and-checking-questions",
        "title_en": "Tag and checking questions",
        "title_ru": "Разделительные и проверочные вопросы",
        "description": "Invite confirmation without sounding abrupt.",
        "level": "B2–C1",
        "path": "QTAG",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/tag-and-checking-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qtag.json"
      },
      {
        "id": "QIND",
        "slug": "indirect-questions",
        "title_en": "Indirect questions",
        "title_ru": "Косвенные вопросы",
        "description": "Keep question order inside polite embedded clauses.",
        "level": "B2–C1",
        "path": "QIND",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/indirect-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qind.json"
      },
      {
        "id": "QNEG",
        "slug": "negative-questions",
        "title_en": "Negative questions",
        "title_ru": "Отрицательные вопросы",
        "description": "Use negation to question an assumption or prompt action.",
        "level": "B2–C1",
        "path": "QNEG",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/negative-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qneg.json"
      },
      {
        "id": "QCHO",
        "slug": "alternative-questions",
        "title_en": "Alternative questions",
        "title_ru": "Альтернативные вопросы",
        "description": "Compare two routes before making a choice.",
        "level": "B2–C1",
        "path": "QCHO",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/alternative-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qcho.json"
      },
      {
        "id": "QCNF",
        "slug": "confirmation-questions",
        "title_en": "Confirmation questions",
        "title_ru": "Вопросы на подтверждение",
        "description": "Check a fact carefully before relying on it.",
        "level": "B2–C1",
        "path": "QCNF",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/confirmation-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qcnf.json"
      },
      {
        "id": "QCL",
        "slug": "clarification-questions",
        "title_en": "Clarification questions",
        "title_ru": "Уточняющие вопросы",
        "description": "Repair meaning before the conversation moves on.",
        "level": "B2–C1",
        "path": "QCL",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/clarification-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qcl.json"
      },
      {
        "id": "QFOL",
        "slug": "follow-up-questions",
        "title_en": "Follow-up questions",
        "title_ru": "Уточняющие вопросы продолжения",
        "description": "Keep an answer moving toward its implication.",
        "level": "B2–C1",
        "path": "QFOL",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/follow-up-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qfol.json"
      },
      {
        "id": "QOP",
        "slug": "opinion-questions",
        "title_en": "Opinion questions",
        "title_ru": "Вопросы о мнении",
        "description": "Invite a view with the right amount of openness.",
        "level": "B2–C1",
        "path": "QOP",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/opinion-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qop.json"
      },
      {
        "id": "QCAU",
        "slug": "cause-and-reason-questions",
        "title_en": "Cause and reason questions",
        "title_ru": "Вопросы о причине",
        "description": "Trace a result back to its likely cause.",
        "level": "B2–C1",
        "path": "QCAU",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/cause-and-reason-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qcau.json"
      },
      {
        "id": "QPUR",
        "slug": "purpose-questions",
        "title_en": "Purpose questions",
        "title_ru": "Вопросы о цели",
        "description": "Ask what an action is meant to achieve.",
        "level": "B2–C1",
        "path": "QPUR",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/purpose-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qpur.json"
      },
      {
        "id": "QTM",
        "slug": "time-questions",
        "title_en": "Time questions",
        "title_ru": "Вопросы о времени",
        "description": "Place an action, answer or decision on a timeline.",
        "level": "B2–C1",
        "path": "QTM",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/time-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qtm.json"
      },
      {
        "id": "QPLC",
        "slug": "place-and-setting-questions",
        "title_en": "Place and setting questions",
        "title_ru": "Вопросы о месте и формате",
        "description": "Choose the right place or setting for the next step.",
        "level": "B2–C1",
        "path": "QPLC",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/place-and-setting-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qplc.json"
      },
      {
        "id": "QPRS",
        "slug": "people-and-responsibility-questions",
        "title_en": "People and responsibility questions",
        "title_ru": "Вопросы о людях и ответственности",
        "description": "Identify who can act, decide or approve.",
        "level": "B2–C1",
        "path": "QPRS",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/people-and-responsibility-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qprs.json"
      },
      {
        "id": "QQNT",
        "slug": "quantity-and-degree-questions",
        "title_en": "Quantity and degree questions",
        "title_ru": "Вопросы о количестве и степени",
        "description": "Ask about scale, frequency and intensity.",
        "level": "B2–C1",
        "path": "QQNT",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/quantity-and-degree-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qqnt.json"
      },
      {
        "id": "QCMP",
        "slug": "comparison-questions",
        "title_en": "Comparison questions",
        "title_ru": "Вопросы для сравнения",
        "description": "Compare options, outcomes and trade-offs.",
        "level": "B2–C1",
        "path": "QCMP",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/comparison-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qcmp.json"
      },
      {
        "id": "QHYP",
        "slug": "hypothetical-questions",
        "title_en": "Hypothetical questions",
        "title_ru": "Гипотетические вопросы",
        "description": "Explore a possible world before committing to it.",
        "level": "B2–C1",
        "path": "QHYP",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/hypothetical-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qhyp.json"
      },
      {
        "id": "QPRB",
        "slug": "probability-questions",
        "title_en": "Probability questions",
        "title_ru": "Вопросы о вероятности",
        "description": "Ask about likelihood without claiming certainty.",
        "level": "B2–C1",
        "path": "QPRB",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/probability-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qprb.json"
      },
      {
        "id": "QPOL",
        "slug": "polite-request-questions",
        "title_en": "Polite request questions",
        "title_ru": "Вежливые вопросы-просьбы",
        "description": "Ask for help, information or action tactfully.",
        "level": "B2–C1",
        "path": "QPOL",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/polite-request-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qpol.json"
      },
      {
        "id": "QWRK",
        "slug": "workplace-questions",
        "title_en": "Workplace questions",
        "title_ru": "Вопросы на работе",
        "description": "Coordinate tasks, owners and deadlines at work.",
        "level": "B2–C1",
        "path": "QWRK",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/workplace-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qwrk.json"
      },
      {
        "id": "QACA",
        "slug": "academic-and-research-questions",
        "title_en": "Academic and research questions",
        "title_ru": "Академические и исследовательские вопросы",
        "description": "Turn evidence and uncertainty into researchable questions.",
        "level": "B2–C1",
        "path": "QACA",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/academic-and-research-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qaca.json"
      },
      {
        "id": "QDEC",
        "slug": "decision-questions",
        "title_en": "Decision questions",
        "title_ru": "Вопросы для принятия решений",
        "description": "Frame the next decision and its threshold clearly.",
        "level": "B2–C1",
        "path": "QDEC",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/decision-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qdec.json"
      },
      {
        "id": "QNGT",
        "slug": "negotiation-questions",
        "title_en": "Negotiation questions",
        "title_ru": "Вопросы для переговоров",
        "description": "Open room for concessions, pauses and workable compromise.",
        "level": "B2–C1",
        "path": "QNGT",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/negotiation-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qngt.json"
      },
      {
        "id": "QREP",
        "slug": "reported-questions",
        "title_en": "Reported questions",
        "title_ru": "Косвенная передача вопросов",
        "description": "Report what was asked without losing the question's meaning.",
        "level": "B2–C1",
        "path": "QREP",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/reported-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qrep.json"
      },
      {
        "id": "QDIS",
        "slug": "discourse-management-questions",
        "title_en": "Discourse-management questions",
        "title_ru": "Вопросы для управления разговором",
        "description": "Use questions to steer a conversation with care.",
        "level": "B2–C1",
        "path": "QDIS",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/discourse-management-questions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qdis.json"
      },
      {
        "id": "QFRM",
        "slug": "question-forms-and-auxiliaries",
        "title_en": "Question forms and auxiliaries",
        "title_ru": "Формы вопросов и вспомогательные глаголы",
        "description": "Control tense, auxiliary verbs and question formation.",
        "level": "B2–C1",
        "path": "QFRM",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/question-forms-and-auxiliaries/",
        "api_url": "https://metkagram.github.io/api/v1/sets/qfrm.json"
      },
      {
        "id": "PFR",
        "slug": "preferences-and-choices",
        "title_en": "Preferences and choices",
        "title_ru": "Предпочтения и выбор",
        "description": "State a preference and weigh alternatives.",
        "level": "B2–C1",
        "path": "PFR",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/preferences-and-choices/",
        "api_url": "https://metkagram.github.io/api/v1/sets/pfr.json"
      },
      {
        "id": "ADV",
        "slug": "advice-and-recommendations",
        "title_en": "Advice and recommendations",
        "title_ru": "Советы и рекомендации",
        "description": "Recommend a next step without overstating certainty.",
        "level": "B2–C1",
        "path": "ADV",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/advice-and-recommendations/",
        "api_url": "https://metkagram.github.io/api/v1/sets/adv.json"
      },
      {
        "id": "RQT",
        "slug": "requests-and-follow-through",
        "title_en": "Requests and follow-through",
        "title_ru": "Просьбы и дальнейшие действия",
        "description": "Make a clear, workable request.",
        "level": "B2–C1",
        "path": "RQT",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/requests-and-follow-through/",
        "api_url": "https://metkagram.github.io/api/v1/sets/rqt.json"
      },
      {
        "id": "OFR",
        "slug": "offers-and-support",
        "title_en": "Offers and support",
        "title_ru": "Предложения помощи",
        "description": "Offer a concrete contribution with an easy next step.",
        "level": "B2–C1",
        "path": "OFR",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/offers-and-support/",
        "api_url": "https://metkagram.github.io/api/v1/sets/ofr.json"
      },
      {
        "id": "PRM",
        "slug": "permission-and-boundaries",
        "title_en": "Permission and boundaries",
        "title_ru": "Разрешение и границы",
        "description": "State what is allowed, required or out of scope.",
        "level": "B2–C1",
        "path": "PRM",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/permission-and-boundaries/",
        "api_url": "https://metkagram.github.io/api/v1/sets/prm.json"
      },
      {
        "id": "CMT",
        "slug": "commitments-and-promises",
        "title_en": "Commitments and promises",
        "title_ru": "Обязательства и обещания",
        "description": "Make commitments that are specific and accountable.",
        "level": "B2–C1",
        "path": "CMT",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/commitments-and-promises/",
        "api_url": "https://metkagram.github.io/api/v1/sets/cmt.json"
      },
      {
        "id": "PLN",
        "slug": "planning-and-scheduling",
        "title_en": "Planning and scheduling",
        "title_ru": "Планирование и расписание",
        "description": "Sequence actions and make the next step visible.",
        "level": "B2–C1",
        "path": "PLN",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/planning-and-scheduling/",
        "api_url": "https://metkagram.github.io/api/v1/sets/pln.json"
      },
      {
        "id": "PRI",
        "slug": "priorities-and-trade-offs",
        "title_en": "Priorities and trade-offs",
        "title_ru": "Приоритеты и компромиссы",
        "description": "Name what matters most and what can wait.",
        "level": "B2–C1",
        "path": "PRI",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/priorities-and-trade-offs/",
        "api_url": "https://metkagram.github.io/api/v1/sets/pri.json"
      },
      {
        "id": "GOA",
        "slug": "goals-and-intentions",
        "title_en": "Goals and intentions",
        "title_ru": "Цели и намерения",
        "description": "Express what the work is meant to achieve.",
        "level": "B2–C1",
        "path": "GOA",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/goals-and-intentions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/goa.json"
      },
      {
        "id": "CNS",
        "slug": "concession-and-contrast",
        "title_en": "Concession and contrast",
        "title_ru": "Уступка и контраст",
        "description": "Acknowledge a point while keeping the main claim clear.",
        "level": "B2–C1",
        "path": "CNS",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/concession-and-contrast/",
        "api_url": "https://metkagram.github.io/api/v1/sets/cns.json"
      },
      {
        "id": "EXM",
        "slug": "examples-and-specification",
        "title_en": "Examples and specification",
        "title_ru": "Примеры и конкретизация",
        "description": "Make an abstract point concrete and precise.",
        "level": "B2–C1",
        "path": "EXM",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/examples-and-specification/",
        "api_url": "https://metkagram.github.io/api/v1/sets/exm.json"
      },
      {
        "id": "SUM",
        "slug": "summaries-and-conclusions",
        "title_en": "Summaries and conclusions",
        "title_ru": "Итоги и выводы",
        "description": "Close a discussion with a proportionate conclusion.",
        "level": "B2–C1",
        "path": "SUM",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/summaries-and-conclusions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/sum.json"
      },
      {
        "id": "ORG",
        "slug": "organising-conversation",
        "title_en": "Organising conversation",
        "title_ru": "Организация разговора",
        "description": "Open, sequence and redirect a discussion constructively.",
        "level": "B2–C1",
        "path": "ORG",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/organising-conversation/",
        "api_url": "https://metkagram.github.io/api/v1/sets/org.json"
      },
      {
        "id": "FEL",
        "slug": "feelings-and-reactions",
        "title_en": "Feelings and reactions",
        "title_ru": "Чувства и реакции",
        "description": "Express a reaction without making it a personal attack.",
        "level": "B2–C1",
        "path": "FEL",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/feelings-and-reactions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/fel.json"
      },
      {
        "id": "TCT",
        "slug": "tact-and-politeness",
        "title_en": "Tact and politeness",
        "title_ru": "Такт и вежливость",
        "description": "Make a difficult point easier to receive.",
        "level": "B2–C1",
        "path": "TCT",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/tact-and-politeness/",
        "api_url": "https://metkagram.github.io/api/v1/sets/tct.json"
      },
      {
        "id": "FBK",
        "slug": "feedback-and-evaluation",
        "title_en": "Feedback and evaluation",
        "title_ru": "Обратная связь и оценка",
        "description": "Give feedback that points to a concrete improvement.",
        "level": "B2–C1",
        "path": "FBK",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/feedback-and-evaluation/",
        "api_url": "https://metkagram.github.io/api/v1/sets/fbk.json"
      },
      {
        "id": "SOL",
        "slug": "problem-solving",
        "title_en": "Problem-solving",
        "title_ru": "Решение проблем",
        "description": "Frame a problem around a practical response.",
        "level": "B2–C1",
        "path": "SOL",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/problem-solving/",
        "api_url": "https://metkagram.github.io/api/v1/sets/sol.json"
      },
      {
        "id": "RSK",
        "slug": "risk-and-precautions",
        "title_en": "Risk and precautions",
        "title_ru": "Риск и меры предосторожности",
        "description": "Name uncertainty and choose a proportionate safeguard.",
        "level": "B2–C1",
        "path": "RSK",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/risk-and-precautions/",
        "api_url": "https://metkagram.github.io/api/v1/sets/rsk.json"
      },
      {
        "id": "PRS",
        "slug": "persuasion-and-influence",
        "title_en": "Persuasion and influence",
        "title_ru": "Убеждение и влияние",
        "description": "Make the case for action without forcing agreement.",
        "level": "B2–C1",
        "path": "PRS",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/persuasion-and-influence/",
        "api_url": "https://metkagram.github.io/api/v1/sets/prs.json"
      },
      {
        "id": "SOC",
        "slug": "social-interaction",
        "title_en": "Social interaction",
        "title_ru": "Социальное взаимодействие",
        "description": "Handle invitations, thanks and shared plans naturally.",
        "level": "B2–C1",
        "path": "SOC",
        "pattern_count": 4,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/social-interaction/",
        "api_url": "https://metkagram.github.io/api/v1/sets/soc.json"
      },
      {
        "id": "CGR",
        "slug": "contrast-grammar",
        "title_en": "Contrast grammar",
        "title_ru": "Грамматика через контрасты",
        "description": "Choose between easily confused structures by meaning, not by rule name.",
        "level": "B2–C1",
        "path": "CGR",
        "pattern_count": 6,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/contrast-grammar/",
        "api_url": "https://metkagram.github.io/api/v1/sets/cgr.json"
      },
      {
        "id": "SPK",
        "slug": "spoken-grammar",
        "title_en": "Spoken grammar",
        "title_ru": "Грамматика живой речи",
        "description": "Use compact spoken frames that organise an idea naturally in conversation.",
        "level": "B2–C1",
        "path": "SPK",
        "pattern_count": 6,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/spoken-grammar/",
        "api_url": "https://metkagram.github.io/api/v1/sets/spk.json"
      },
      {
        "id": "INT",
        "slug": "interaction-moves",
        "title_en": "Interaction moves",
        "title_ru": "Управление разговором",
        "description": "Enter, hold, redirect and close a turn without losing the thread.",
        "level": "B2–C1",
        "path": "INT",
        "pattern_count": 6,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/interaction-moves/",
        "api_url": "https://metkagram.github.io/api/v1/sets/int.json"
      },
      {
        "id": "REG",
        "slug": "register-shifting",
        "title_en": "Register shifting",
        "title_ru": "Переключение регистра",
        "description": "Express the same intent in casual, neutral and professional language.",
        "level": "B2–C1",
        "path": "REG",
        "pattern_count": 6,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/register-shifting/",
        "api_url": "https://metkagram.github.io/api/v1/sets/reg.json"
      },
      {
        "id": "RTR",
        "slug": "russian-speaker-transfer-traps",
        "title_en": "Russian-speaker transfer traps",
        "title_ru": "Ловушки переноса из русского",
        "description": "Correct recurring English and German structures that Russian speakers tend to transfer literally.",
        "level": "B2–C1",
        "path": "RTR",
        "pattern_count": 12,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/russian-speaker-transfer-traps/",
        "api_url": "https://metkagram.github.io/api/v1/sets/rtr.json"
      },
      {
        "id": "TRN",
        "slug": "transformations-and-reformulation",
        "title_en": "Transformations and reformulation",
        "title_ru": "Трансформации и переформулирование",
        "description": "Rebuild the same meaning with a different grammatical or discourse frame.",
        "level": "B2–C1",
        "path": "TRN",
        "pattern_count": 6,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/transformations-and-reformulation/",
        "api_url": "https://metkagram.github.io/api/v1/sets/trn.json"
      },
      {
        "id": "FRM",
        "slug": "problem-framing-and-reframing",
        "title_en": "Problem framing and reframing",
        "title_ru": "Постановка и переопределение проблемы",
        "description": "Define the problem before solving it, expose hidden assumptions, and choose a more useful frame.",
        "level": "B2–C1",
        "path": "FRM",
        "pattern_count": 5,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/problem-framing-and-reframing/",
        "api_url": "https://metkagram.github.io/api/v1/sets/frm.json"
      },
      {
        "id": "UNC",
        "slug": "reasoning-under-uncertainty",
        "title_en": "Reasoning under uncertainty",
        "title_ru": "Рассуждение в условиях неопределённости",
        "description": "Separate evidence from assumptions, calibrate confidence, and identify what information would change the conclusion.",
        "level": "B2–C1",
        "path": "UNC",
        "pattern_count": 5,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/reasoning-under-uncertainty/",
        "api_url": "https://metkagram.github.io/api/v1/sets/unc.json"
      },
      {
        "id": "SYS",
        "slug": "systems-thinking",
        "title_en": "Systems thinking",
        "title_ru": "Системное мышление",
        "description": "Trace second-order effects, bottlenecks, local optimisation, and the drivers that keep a problem recurring.",
        "level": "B2–C1",
        "path": "SYS",
        "pattern_count": 5,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/systems-thinking/",
        "api_url": "https://metkagram.github.io/api/v1/sets/sys.json"
      },
      {
        "id": "DEC",
        "slug": "decision-quality-and-trade-offs",
        "title_en": "Decision quality and trade-offs",
        "title_ru": "Качество решений и компромиссы",
        "description": "Compare options by explicit criteria, weigh the cost of delay, and preserve useful flexibility when certainty is impossible.",
        "level": "B2–C1",
        "path": "DEC",
        "pattern_count": 5,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/decision-quality-and-trade-offs/",
        "api_url": "https://metkagram.github.io/api/v1/sets/dec.json"
      },
      {
        "id": "CDG",
        "slug": "causal-diagnosis",
        "title_en": "Causal diagnosis",
        "title_ru": "Причинная диагностика",
        "description": "Separate triggers from causes, compare mechanisms, and diagnose causal structure without treating sequence as proof.",
        "level": "B2–C1",
        "path": "CDG",
        "pattern_count": 5,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/causal-diagnosis/",
        "api_url": "https://metkagram.github.io/api/v1/sets/cdg.json"
      },
      {
        "id": "HYP",
        "slug": "hypothesis-testing",
        "title_en": "Hypothesis testing",
        "title_ru": "Проверка гипотез",
        "description": "Turn explanations into testable predictions, seek discriminating evidence, and revise claims when the data require it.",
        "level": "B2–C1",
        "path": "HYP",
        "pattern_count": 5,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/hypothesis-testing/",
        "api_url": "https://metkagram.github.io/api/v1/sets/hyp.json"
      },
      {
        "id": "PST",
        "slug": "perspective-taking",
        "title_en": "Perspective taking",
        "title_ru": "Смена перспективы",
        "description": "Represent another viewpoint fairly, separate positions from interests, and locate the real source of disagreement.",
        "level": "B2–C1",
        "path": "PST",
        "pattern_count": 5,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/perspective-taking/",
        "api_url": "https://metkagram.github.io/api/v1/sets/pst.json"
      },
      {
        "id": "META",
        "slug": "metacognitive-learning",
        "title_en": "Metacognitive learning",
        "title_ru": "Метакогнитивное обучение",
        "description": "Notice what you recognise but cannot recall, diagnose recurring errors, and convert feedback into the next practice target.",
        "level": "B2–C1",
        "path": "META",
        "pattern_count": 5,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/metacognitive-learning/",
        "api_url": "https://metkagram.github.io/api/v1/sets/meta.json"
      },
      {
        "id": "GFA",
        "slug": "time-and-aspect",
        "title_en": "Time and aspect",
        "title_ru": "Время и вид действия",
        "description": "Compare how English and German express time and aspect. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/time-and-aspect/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfa.json"
      },
      {
        "id": "GFB",
        "slug": "modal-scope-and-past-inference",
        "title_en": "Modal scope and past inference",
        "title_ru": "Модальность и выводы о прошлом",
        "description": "Compare how English and German express modal scope and past inference. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/modal-scope-and-past-inference/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfb.json"
      },
      {
        "id": "GFC",
        "slug": "conditions-and-counterfactuals",
        "title_en": "Conditions and counterfactuals",
        "title_ru": "Условия и нереальные ситуации",
        "description": "Compare how English and German express conditions and counterfactuals. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/conditions-and-counterfactuals/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfc.json"
      },
      {
        "id": "GFD",
        "slug": "comparison-and-degree",
        "title_en": "Comparison and degree",
        "title_ru": "Сравнения и степень",
        "description": "Compare how English and German express comparison and degree. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/comparison-and-degree/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfd.json"
      },
      {
        "id": "GFE",
        "slug": "quantification-and-agreement",
        "title_en": "Quantification and agreement",
        "title_ru": "Количество и согласование",
        "description": "Compare how English and German express quantification and agreement. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/quantification-and-agreement/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfe.json"
      },
      {
        "id": "GFF",
        "slug": "negation-inversion-and-focus",
        "title_en": "Negation, inversion and focus",
        "title_ru": "Отрицание, инверсия и акцент",
        "description": "Compare how English and German express negation, inversion and focus. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/negation-inversion-and-focus/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gff.json"
      },
      {
        "id": "GFG",
        "slug": "relative-and-nominal-clauses",
        "title_en": "Relative and nominal clauses",
        "title_ru": "Относительные и именные придаточные",
        "description": "Compare how English and German express relative and nominal clauses. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/relative-and-nominal-clauses/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfg.json"
      },
      {
        "id": "GFH",
        "slug": "infinitive-tense-voice-and-subject-control",
        "title_en": "Infinitive tense, voice and subject control",
        "title_ru": "Время, залог и исполнитель инфинитива",
        "description": "Compare how English and German express infinitive tense, voice and subject control. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/infinitive-tense-voice-and-subject-control/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfh.json"
      },
      {
        "id": "GFI",
        "slug": "gerund-contrasts-and-participial-clauses",
        "title_en": "Gerund contrasts and participial clauses",
        "title_ru": "Герундий и причастные конструкции",
        "description": "Compare how English and German express gerund contrasts and participial clauses. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/gerund-contrasts-and-participial-clauses/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfi.json"
      },
      {
        "id": "GFJ",
        "slug": "passive-causative-and-perception",
        "title_en": "Passive, causative and perception",
        "title_ru": "Пассив, побуждение и восприятие",
        "description": "Compare how English and German express passive, causative and perception. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/passive-causative-and-perception/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfj.json"
      },
      {
        "id": "GFK",
        "slug": "reporting-and-clause-complements",
        "title_en": "Reporting and clause complements",
        "title_ru": "Косвенная речь и дополнения",
        "description": "Compare how English and German express reporting and clause complements. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/reporting-and-clause-complements/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfk.json"
      },
      {
        "id": "GFL",
        "slug": "questions-tags-and-ellipsis",
        "title_en": "Questions, tags and ellipsis",
        "title_ru": "Вопросы, хвостики и сокращения",
        "description": "Compare how English and German express questions, tags and ellipsis. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/questions-tags-and-ellipsis/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfl.json"
      },
      {
        "id": "GFM",
        "slug": "noun-phrases-and-reference",
        "title_en": "Noun phrases and reference",
        "title_ru": "Именные группы и отсылки",
        "description": "Compare how English and German express noun phrases and reference. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/noun-phrases-and-reference/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfm.json"
      },
      {
        "id": "GFN",
        "slug": "concession-cause-and-circumstance",
        "title_en": "Concession, cause and circumstance",
        "title_ru": "Уступка, причина, цель и обстоятельства",
        "description": "Compare how English and German express concession, cause and circumstance. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/concession-cause-and-circumstance/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfn.json"
      },
      {
        "id": "GFO",
        "slug": "german-led-grammatical-flexibility",
        "title_en": "German-led grammatical flexibility",
        "title_ru": "Немецкие конструкции и английские параллели",
        "description": "Compare how English and German express german-led grammatical flexibility. Practise reusable constructions with Russian translations.",
        "pattern_count": 20,
        "canonical_url": "https://metkagram.github.io/en/practice/sets/german-led-grammatical-flexibility/",
        "api_url": "https://metkagram.github.io/api/v1/sets/gfo.json"
      }
    ],
    "categories": [
      {
        "id": "ADJ",
        "pattern_count": 8,
        "set_ids": [
          "ADJ"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/adj.json"
      },
      {
        "id": "ADV",
        "pattern_count": 4,
        "set_ids": [
          "ADV"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/adv.json"
      },
      {
        "id": "AGR",
        "pattern_count": 1,
        "set_ids": [
          "AGR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/agr.json"
      },
      {
        "id": "ARG",
        "pattern_count": 1,
        "set_ids": [
          "ARG"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/arg.json"
      },
      {
        "id": "CAS",
        "pattern_count": 8,
        "set_ids": [
          "CAS"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/cas.json"
      },
      {
        "id": "CAU",
        "pattern_count": 1,
        "set_ids": [
          "CAU"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/cau.json"
      },
      {
        "id": "CDG",
        "pattern_count": 5,
        "set_ids": [
          "CDG"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/cdg.json"
      },
      {
        "id": "CGR",
        "pattern_count": 6,
        "set_ids": [
          "CGR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/cgr.json"
      },
      {
        "id": "CLA",
        "pattern_count": 4,
        "set_ids": [
          "CLR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/cla.json"
      },
      {
        "id": "CLF",
        "pattern_count": 30,
        "set_ids": [
          "CAU",
          "CLR",
          "CND",
          "EVD",
          "NEG",
          "PRB"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/clf.json"
      },
      {
        "id": "CLR",
        "pattern_count": 1,
        "set_ids": [
          "CLR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/clr.json"
      },
      {
        "id": "CMP",
        "pattern_count": 1,
        "set_ids": [
          "CMP"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/cmp.json"
      },
      {
        "id": "CMT",
        "pattern_count": 4,
        "set_ids": [
          "CMT"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/cmt.json"
      },
      {
        "id": "CND",
        "pattern_count": 1,
        "set_ids": [
          "CND"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/cnd.json"
      },
      {
        "id": "CNS",
        "pattern_count": 4,
        "set_ids": [
          "CNS"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/cns.json"
      },
      {
        "id": "COM",
        "pattern_count": 8,
        "set_ids": [
          "CMP"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/com.json"
      },
      {
        "id": "CON",
        "pattern_count": 14,
        "set_ids": [
          "CND"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/con.json"
      },
      {
        "id": "DEC",
        "pattern_count": 5,
        "set_ids": [
          "DEC"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/dec.json"
      },
      {
        "id": "DET",
        "pattern_count": 8,
        "set_ids": [
          "DET"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/det.json"
      },
      {
        "id": "DGR",
        "pattern_count": 1,
        "set_ids": [
          "DGR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/dgr.json"
      },
      {
        "id": "EVD",
        "pattern_count": 1,
        "set_ids": [
          "EVD"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/evd.json"
      },
      {
        "id": "EXM",
        "pattern_count": 4,
        "set_ids": [
          "EXM"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/exm.json"
      },
      {
        "id": "FBK",
        "pattern_count": 4,
        "set_ids": [
          "FBK"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/fbk.json"
      },
      {
        "id": "FCS",
        "pattern_count": 8,
        "set_ids": [
          "FCS"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/fcs.json"
      },
      {
        "id": "FEL",
        "pattern_count": 4,
        "set_ids": [
          "FEL"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/fel.json"
      },
      {
        "id": "FRM",
        "pattern_count": 5,
        "set_ids": [
          "FRM"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/frm.json"
      },
      {
        "id": "GER",
        "pattern_count": 9,
        "set_ids": [
          "DGR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/ger.json"
      },
      {
        "id": "GFA",
        "pattern_count": 20,
        "set_ids": [
          "GFA"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfa.json"
      },
      {
        "id": "GFB",
        "pattern_count": 20,
        "set_ids": [
          "GFB"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfb.json"
      },
      {
        "id": "GFC",
        "pattern_count": 20,
        "set_ids": [
          "GFC"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfc.json"
      },
      {
        "id": "GFD",
        "pattern_count": 20,
        "set_ids": [
          "GFD"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfd.json"
      },
      {
        "id": "GFE",
        "pattern_count": 20,
        "set_ids": [
          "GFE"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfe.json"
      },
      {
        "id": "GFF",
        "pattern_count": 20,
        "set_ids": [
          "GFF"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gff.json"
      },
      {
        "id": "GFG",
        "pattern_count": 20,
        "set_ids": [
          "GFG"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfg.json"
      },
      {
        "id": "GFH",
        "pattern_count": 20,
        "set_ids": [
          "GFH"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfh.json"
      },
      {
        "id": "GFI",
        "pattern_count": 20,
        "set_ids": [
          "GFI"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfi.json"
      },
      {
        "id": "GFJ",
        "pattern_count": 20,
        "set_ids": [
          "GFJ"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfj.json"
      },
      {
        "id": "GFK",
        "pattern_count": 20,
        "set_ids": [
          "GFK"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfk.json"
      },
      {
        "id": "GFL",
        "pattern_count": 20,
        "set_ids": [
          "GFL"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfl.json"
      },
      {
        "id": "GFM",
        "pattern_count": 20,
        "set_ids": [
          "GFM"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfm.json"
      },
      {
        "id": "GFN",
        "pattern_count": 20,
        "set_ids": [
          "GFN"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfn.json"
      },
      {
        "id": "GFO",
        "pattern_count": 20,
        "set_ids": [
          "GFO"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gfo.json"
      },
      {
        "id": "GOA",
        "pattern_count": 4,
        "set_ids": [
          "GOA"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/goa.json"
      },
      {
        "id": "GRAM",
        "pattern_count": 1,
        "set_ids": [
          "DGR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/gram.json"
      },
      {
        "id": "HED",
        "pattern_count": 1,
        "set_ids": [
          "HED"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/hed.json"
      },
      {
        "id": "HYP",
        "pattern_count": 5,
        "set_ids": [
          "HYP"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/hyp.json"
      },
      {
        "id": "INF",
        "pattern_count": 8,
        "set_ids": [
          "INF"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/inf.json"
      },
      {
        "id": "INT",
        "pattern_count": 6,
        "set_ids": [
          "INT"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/int.json"
      },
      {
        "id": "KON",
        "pattern_count": 8,
        "set_ids": [
          "KON"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/kon.json"
      },
      {
        "id": "LEX",
        "pattern_count": 144,
        "set_ids": [
          "OPI"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/lex.json"
      },
      {
        "id": "LIN",
        "pattern_count": 11,
        "set_ids": [
          "LNK"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/lin.json"
      },
      {
        "id": "LNK",
        "pattern_count": 1,
        "set_ids": [
          "LNK"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/lnk.json"
      },
      {
        "id": "META",
        "pattern_count": 5,
        "set_ids": [
          "META"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/meta.json"
      },
      {
        "id": "MOD",
        "pattern_count": 6,
        "set_ids": [
          "MOD"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/mod.json"
      },
      {
        "id": "NEG",
        "pattern_count": 1,
        "set_ids": [
          "NEG"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/neg.json"
      },
      {
        "id": "OFR",
        "pattern_count": 4,
        "set_ids": [
          "OFR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/ofr.json"
      },
      {
        "id": "OPI",
        "pattern_count": 1,
        "set_ids": [
          "OPI"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/opi.json"
      },
      {
        "id": "ORG",
        "pattern_count": 4,
        "set_ids": [
          "ORG"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/org.json"
      },
      {
        "id": "PAS",
        "pattern_count": 7,
        "set_ids": [
          "PSV"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/pas.json"
      },
      {
        "id": "PERF",
        "pattern_count": 4,
        "set_ids": [
          "TAS"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/perf.json"
      },
      {
        "id": "PFR",
        "pattern_count": 4,
        "set_ids": [
          "PFR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/pfr.json"
      },
      {
        "id": "PLN",
        "pattern_count": 4,
        "set_ids": [
          "PLN"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/pln.json"
      },
      {
        "id": "PRB",
        "pattern_count": 1,
        "set_ids": [
          "PRB"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/prb.json"
      },
      {
        "id": "PRI",
        "pattern_count": 4,
        "set_ids": [
          "PRI"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/pri.json"
      },
      {
        "id": "PRM",
        "pattern_count": 4,
        "set_ids": [
          "PRM"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/prm.json"
      },
      {
        "id": "PRO",
        "pattern_count": 1,
        "set_ids": [
          "PRO"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/pro.json"
      },
      {
        "id": "PRP",
        "pattern_count": 8,
        "set_ids": [
          "PRP"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/prp.json"
      },
      {
        "id": "PRS",
        "pattern_count": 4,
        "set_ids": [
          "PRS"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/prs.json"
      },
      {
        "id": "PST",
        "pattern_count": 5,
        "set_ids": [
          "PST"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/pst.json"
      },
      {
        "id": "PSV",
        "pattern_count": 1,
        "set_ids": [
          "PSV"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/psv.json"
      },
      {
        "id": "PUR",
        "pattern_count": 6,
        "set_ids": [
          "LNK"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/pur.json"
      },
      {
        "id": "QACA",
        "pattern_count": 4,
        "set_ids": [
          "QACA"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qaca.json"
      },
      {
        "id": "QCAU",
        "pattern_count": 4,
        "set_ids": [
          "QCAU"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qcau.json"
      },
      {
        "id": "QCHO",
        "pattern_count": 4,
        "set_ids": [
          "QCHO"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qcho.json"
      },
      {
        "id": "QCL",
        "pattern_count": 4,
        "set_ids": [
          "QCL"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qcl.json"
      },
      {
        "id": "QCMP",
        "pattern_count": 4,
        "set_ids": [
          "QCMP"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qcmp.json"
      },
      {
        "id": "QCNF",
        "pattern_count": 4,
        "set_ids": [
          "QCNF"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qcnf.json"
      },
      {
        "id": "QDEC",
        "pattern_count": 4,
        "set_ids": [
          "QDEC"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qdec.json"
      },
      {
        "id": "QDIS",
        "pattern_count": 4,
        "set_ids": [
          "QDIS"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qdis.json"
      },
      {
        "id": "QFOL",
        "pattern_count": 4,
        "set_ids": [
          "QFOL"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qfol.json"
      },
      {
        "id": "QFRM",
        "pattern_count": 4,
        "set_ids": [
          "QFRM"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qfrm.json"
      },
      {
        "id": "QHYP",
        "pattern_count": 4,
        "set_ids": [
          "QHYP"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qhyp.json"
      },
      {
        "id": "QIND",
        "pattern_count": 4,
        "set_ids": [
          "QIND"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qind.json"
      },
      {
        "id": "QNEG",
        "pattern_count": 4,
        "set_ids": [
          "QNEG"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qneg.json"
      },
      {
        "id": "QNGT",
        "pattern_count": 4,
        "set_ids": [
          "QNGT"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qngt.json"
      },
      {
        "id": "QNN",
        "pattern_count": 1,
        "set_ids": [
          "QNN"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qnn.json"
      },
      {
        "id": "QOBJ",
        "pattern_count": 4,
        "set_ids": [
          "QOBJ"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qobj.json"
      },
      {
        "id": "QOP",
        "pattern_count": 4,
        "set_ids": [
          "QOP"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qop.json"
      },
      {
        "id": "QPLC",
        "pattern_count": 4,
        "set_ids": [
          "QPLC"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qplc.json"
      },
      {
        "id": "QPOL",
        "pattern_count": 4,
        "set_ids": [
          "QPOL"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qpol.json"
      },
      {
        "id": "QPRB",
        "pattern_count": 4,
        "set_ids": [
          "QPRB"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qprb.json"
      },
      {
        "id": "QPRE",
        "pattern_count": 4,
        "set_ids": [
          "QPRE"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qpre.json"
      },
      {
        "id": "QPRS",
        "pattern_count": 4,
        "set_ids": [
          "QPRS"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qprs.json"
      },
      {
        "id": "QPUR",
        "pattern_count": 4,
        "set_ids": [
          "QPUR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qpur.json"
      },
      {
        "id": "QQNT",
        "pattern_count": 4,
        "set_ids": [
          "QQNT"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qqnt.json"
      },
      {
        "id": "QREP",
        "pattern_count": 4,
        "set_ids": [
          "QREP"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qrep.json"
      },
      {
        "id": "QSUB",
        "pattern_count": 4,
        "set_ids": [
          "QSUB"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qsub.json"
      },
      {
        "id": "QTAG",
        "pattern_count": 4,
        "set_ids": [
          "QTAG"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qtag.json"
      },
      {
        "id": "QTM",
        "pattern_count": 4,
        "set_ids": [
          "QTM"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qtm.json"
      },
      {
        "id": "QUE",
        "pattern_count": 17,
        "set_ids": [
          "QNN"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/que.json"
      },
      {
        "id": "QWH",
        "pattern_count": 4,
        "set_ids": [
          "QWH"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qwh.json"
      },
      {
        "id": "QWRK",
        "pattern_count": 4,
        "set_ids": [
          "QWRK"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qwrk.json"
      },
      {
        "id": "QYN",
        "pattern_count": 4,
        "set_ids": [
          "QYN"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/qyn.json"
      },
      {
        "id": "REG",
        "pattern_count": 6,
        "set_ids": [
          "REG"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/reg.json"
      },
      {
        "id": "REL",
        "pattern_count": 14,
        "set_ids": [
          "QNN",
          "REL"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/rel.json"
      },
      {
        "id": "REP",
        "pattern_count": 1,
        "set_ids": [
          "REP"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/rep.json"
      },
      {
        "id": "RQT",
        "pattern_count": 4,
        "set_ids": [
          "RQT"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/rqt.json"
      },
      {
        "id": "RSK",
        "pattern_count": 4,
        "set_ids": [
          "RSK"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/rsk.json"
      },
      {
        "id": "RTR",
        "pattern_count": 12,
        "set_ids": [
          "RTR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/rtr.json"
      },
      {
        "id": "SOC",
        "pattern_count": 4,
        "set_ids": [
          "SOC"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/soc.json"
      },
      {
        "id": "SOL",
        "pattern_count": 4,
        "set_ids": [
          "SOL"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/sol.json"
      },
      {
        "id": "SPK",
        "pattern_count": 6,
        "set_ids": [
          "SPK"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/spk.json"
      },
      {
        "id": "STO",
        "pattern_count": 1,
        "set_ids": [
          "STO"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/sto.json"
      },
      {
        "id": "SUB",
        "pattern_count": 8,
        "set_ids": [
          "SUB"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/sub.json"
      },
      {
        "id": "SUM",
        "pattern_count": 4,
        "set_ids": [
          "SUM"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/sum.json"
      },
      {
        "id": "SYS",
        "pattern_count": 5,
        "set_ids": [
          "SYS"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/sys.json"
      },
      {
        "id": "TAS",
        "pattern_count": 1,
        "set_ids": [
          "TAS"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/tas.json"
      },
      {
        "id": "TCT",
        "pattern_count": 4,
        "set_ids": [
          "TCT"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/tct.json"
      },
      {
        "id": "TRN",
        "pattern_count": 6,
        "set_ids": [
          "TRN"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/trn.json"
      },
      {
        "id": "UNC",
        "pattern_count": 5,
        "set_ids": [
          "UNC"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/unc.json"
      },
      {
        "id": "WOR",
        "pattern_count": 8,
        "set_ids": [
          "WOR"
        ],
        "api_url": "https://metkagram.github.io/api/v1/categories/wor.json"
      }
    ],
    "documents": [
      {
        "id": "iglIrNfAke7r4OZ0KxuB",
        "title": "About Study Techniques",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 27,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/iglIrNfAke7r4OZ0KxuB/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/iglIrNfAke7r4OZ0KxuB.json"
      },
      {
        "id": "IkXWCWXrzyFAUh2qVACA",
        "title": "About Networking Skills I",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 25,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/IkXWCWXrzyFAUh2qVACA/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/IkXWCWXrzyFAUh2qVACA.json"
      },
      {
        "id": "JyPXByKFcUtz1BNvfd6F",
        "title": "Improving Conflict Resolution Skills",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 26,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/JyPXByKFcUtz1BNvfd6F/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/JyPXByKFcUtz1BNvfd6F.json"
      },
      {
        "id": "NidqVGv7KIZL8592YmXK",
        "title": "Developing Leadership Skills",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 31,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/NidqVGv7KIZL8592YmXK/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/NidqVGv7KIZL8592YmXK.json"
      },
      {
        "id": "kdCy47EoTlsp8sgjnxH4",
        "title": "Time Management Skills",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 23,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/kdCy47EoTlsp8sgjnxH4/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/kdCy47EoTlsp8sgjnxH4.json"
      },
      {
        "id": "V0vo5Vkb8syjYJucgypz",
        "title": "Improving Public Speaking Skills",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 31,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/V0vo5Vkb8syjYJucgypz/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/V0vo5Vkb8syjYJucgypz.json"
      },
      {
        "id": "xCkrcaa9cAGi4FJBjLzS",
        "title": "Developing Better Presentation Skills",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 33,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/xCkrcaa9cAGi4FJBjLzS/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/xCkrcaa9cAGi4FJBjLzS.json"
      },
      {
        "id": "0WW2dijze4AM45gKeJP3",
        "title": "Listening Skills I",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 32,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/0WW2dijze4AM45gKeJP3/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/0WW2dijze4AM45gKeJP3.json"
      },
      {
        "id": "XgrOVEz9eG7GJe7jtvhh",
        "title": "Improving Self-Discipline",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 23,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/XgrOVEz9eG7GJe7jtvhh/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/XgrOVEz9eG7GJe7jtvhh.json"
      },
      {
        "id": "gRaHRKGMH8apQIIP5UJ5",
        "title": "Decision-Making Skills I",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 26,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/gRaHRKGMH8apQIIP5UJ5/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/gRaHRKGMH8apQIIP5UJ5.json"
      },
      {
        "id": "dfMCfaLxOQa0bsbEju4V",
        "title": "About Creativity I",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 27,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/dfMCfaLxOQa0bsbEju4V/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/dfMCfaLxOQa0bsbEju4V.json"
      },
      {
        "id": "yaYjgmqxruxxKHsrgZ3p",
        "title": "Conflict Resolution Skills II",
        "language": "enGram",
        "target_language": "en",
        "collection": "dialogues",
        "annotation_count": 26,
        "canonical_url": "https://metkagram.github.io/en/explore/english/dialogues/yaYjgmqxruxxKHsrgZ3p/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/dialogues/yaYjgmqxruxxKHsrgZ3p.json"
      },
      {
        "id": "FFadfIkuWEPI3cAVqo7T",
        "title": "Having + Past Participle",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/FFadfIkuWEPI3cAVqo7T/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/FFadfIkuWEPI3cAVqo7T.json"
      },
      {
        "id": "PfvMjupA5yfM5df7ZcIM",
        "title": "Subject + considers + noun + adjective",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/PfvMjupA5yfM5df7ZcIM/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/PfvMjupA5yfM5df7ZcIM.json"
      },
      {
        "id": "iN6UimKLwiwzvrKEjWdP",
        "title": "Subject + was + verb-ing + at the time",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/iN6UimKLwiwzvrKEjWdP/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/iN6UimKLwiwzvrKEjWdP.json"
      },
      {
        "id": "6aocALoqkqhUz0n5q6dk",
        "title": "Subject + prefers + noun + to + noun",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/6aocALoqkqhUz0n5q6dk/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/6aocALoqkqhUz0n5q6dk.json"
      },
      {
        "id": "8dOdPfnxJ4cLSi0nzgig",
        "title": "Subject + Is/Are Bound To + Verb",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/8dOdPfnxJ4cLSi0nzgig/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/8dOdPfnxJ4cLSi0nzgig.json"
      },
      {
        "id": "Fik7lOunRTb4fyiSPOIn",
        "title": "Subject + is accountable + to + person/organization + for + noun/verb-ing",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/Fik7lOunRTb4fyiSPOIn/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/Fik7lOunRTb4fyiSPOIn.json"
      },
      {
        "id": "3u9U6KIKwoZ3ungtXZw1",
        "title": "Subject + agreed + with + person + on/about + topic",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/3u9U6KIKwoZ3ungtXZw1/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/3u9U6KIKwoZ3ungtXZw1.json"
      },
      {
        "id": "fLbWdEU8tMV04RctOaRD",
        "title": "Subject + must + verb + continuously to + maintain + condition",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/fLbWdEU8tMV04RctOaRD/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/fLbWdEU8tMV04RctOaRD.json"
      },
      {
        "id": "6vZz1ZQZEj9xxCIiQCLc",
        "title": "Main Clause + ; + As a Matter of Fact, + Main Clause",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/6vZz1ZQZEj9xxCIiQCLc/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/6vZz1ZQZEj9xxCIiQCLc.json"
      },
      {
        "id": "ACScMPleWyecT3rb3bSR",
        "title": "Subject + habitually + verb + at + time",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/ACScMPleWyecT3rb3bSR/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/ACScMPleWyecT3rb3bSR.json"
      },
      {
        "id": "lD6MNPKWdKuTtPY7hSMm",
        "title": "Subject + has seen + noun + grow over + time period",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/lD6MNPKWdKuTtPY7hSMm/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/lD6MNPKWdKuTtPY7hSMm.json"
      },
      {
        "id": "25pVAWtlAFRMZxNVLAMB",
        "title": "I’m grateful for + noun/verb-ing",
        "language": "enGram",
        "target_language": "en",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/english/patterns/25pVAWtlAFRMZxNVLAMB/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/patterns/25pVAWtlAFRMZxNVLAMB.json"
      },
      {
        "id": "Jxz3IXrSKrh8Zl7hQUEm",
        "title": "Cite Sources Using \"According to\"",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 10,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/Jxz3IXrSKrh8Zl7hQUEm/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/Jxz3IXrSKrh8Zl7hQUEm.json"
      },
      {
        "id": "jQIeUYYqhbplG1ez4klT",
        "title": "Identify and Discuss the Root Cause",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/jQIeUYYqhbplG1ez4klT/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/jQIeUYYqhbplG1ez4klT.json"
      },
      {
        "id": "wqUVpDGLopKj08kfOkg8",
        "title": "Use Phrasal Verbs Effectively",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 12,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/wqUVpDGLopKj08kfOkg8/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/wqUVpDGLopKj08kfOkg8.json"
      },
      {
        "id": "W6e1lWu7pVsclZj4c0Vn",
        "title": "Participate in Meetings",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/W6e1lWu7pVsclZj4c0Vn/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/W6e1lWu7pVsclZj4c0Vn.json"
      },
      {
        "id": "QblMUnm2RJe5iiQrk41t",
        "title": "Express Surprise and Shock",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 14,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/QblMUnm2RJe5iiQrk41t/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/QblMUnm2RJe5iiQrk41t.json"
      },
      {
        "id": "fopqeJwiIqR0UAFZGU6D",
        "title": "Talk About Movies and Books",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/fopqeJwiIqR0UAFZGU6D/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/fopqeJwiIqR0UAFZGU6D.json"
      },
      {
        "id": "eqE7I4VnFdlZJFiHb8d9",
        "title": "Explain Problems and Solutions",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/eqE7I4VnFdlZJFiHb8d9/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/eqE7I4VnFdlZJFiHb8d9.json"
      },
      {
        "id": "rE5woks1IXa2kVWvT6SP",
        "title": "Tell a Story or Anecdote",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/rE5woks1IXa2kVWvT6SP/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/rE5woks1IXa2kVWvT6SP.json"
      },
      {
        "id": "fyB2QYUNgnf605KhWnLl",
        "title": "Discuss Health and Wellness",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/fyB2QYUNgnf605KhWnLl/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/fyB2QYUNgnf605KhWnLl.json"
      },
      {
        "id": "7o2csgfDVX9qacluQBBn",
        "title": "Talk About Your Job and Career",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/7o2csgfDVX9qacluQBBn/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/7o2csgfDVX9qacluQBBn.json"
      },
      {
        "id": "HEgC8GzgBQyfE4RyyOLP",
        "title": "Use Idioms to Sound Like a Native",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/HEgC8GzgBQyfE4RyyOLP/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/HEgC8GzgBQyfE4RyyOLP.json"
      },
      {
        "id": "pLVRc4cQBhBayYBgUGZH",
        "title": "Describe Your Feelings",
        "language": "enGram",
        "target_language": "en",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/english/library/pLVRc4cQBhBayYBgUGZH/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/en/library/pLVRc4cQBhBayYBgUGZH.json"
      },
      {
        "id": "hgq8uVS1vaEM9KsnC8zC",
        "title": "Über die Organisation eines Events sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/hgq8uVS1vaEM9KsnC8zC/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/hgq8uVS1vaEM9KsnC8zC.json"
      },
      {
        "id": "W454UJtNinPTcXsNnJI9",
        "title": "Über kurzfristige Pläne sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/W454UJtNinPTcXsNnJI9/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/W454UJtNinPTcXsNnJI9.json"
      },
      {
        "id": "GipjQxazbGeMD1TEcbhf",
        "title": "Über das Setzen von Zielen sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/GipjQxazbGeMD1TEcbhf/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/GipjQxazbGeMD1TEcbhf.json"
      },
      {
        "id": "x4hXUQ5ieTBD7foUP1Mh",
        "title": "Über die Zeitplanung sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 10,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/x4hXUQ5ieTBD7foUP1Mh/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/x4hXUQ5ieTBD7foUP1Mh.json"
      },
      {
        "id": "U6FJaRhsu4FpdSkhDFif",
        "title": "Über die To-Do-Liste sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 12,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/U6FJaRhsu4FpdSkhDFif/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/U6FJaRhsu4FpdSkhDFif.json"
      },
      {
        "id": "XWH3oAiK2uAcILVd9YUQ",
        "title": "Über die Vorbereitung eines Projekts sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/XWH3oAiK2uAcILVd9YUQ/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/XWH3oAiK2uAcILVd9YUQ.json"
      },
      {
        "id": "DGT2xrhOlbvXyCSCw4Lo",
        "title": "Über die Planung eines Meetings sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 12,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/DGT2xrhOlbvXyCSCw4Lo/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/DGT2xrhOlbvXyCSCw4Lo.json"
      },
      {
        "id": "SQQXmki5zSfSzwmRZz3c",
        "title": "Über persönliche Pläne sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/SQQXmki5zSfSzwmRZz3c/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/SQQXmki5zSfSzwmRZz3c.json"
      },
      {
        "id": "VlLIhzcuL6aXmFuhqOpS",
        "title": "Über Prioritäten sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/VlLIhzcuL6aXmFuhqOpS/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/VlLIhzcuL6aXmFuhqOpS.json"
      },
      {
        "id": "AdhIS1qlSpf9arHGQupG",
        "title": "Über Projektpläne sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/AdhIS1qlSpf9arHGQupG/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/AdhIS1qlSpf9arHGQupG.json"
      },
      {
        "id": "cNFXltyL5KSpLjPEEHiZ",
        "title": "Über langfristige Pläne sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/cNFXltyL5KSpLjPEEHiZ/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/cNFXltyL5KSpLjPEEHiZ.json"
      },
      {
        "id": "kUuE67HifGG8yKx617y4",
        "title": "Über wöchentliche Pläne sprechen",
        "language": "deGram",
        "target_language": "de",
        "collection": "dialogues",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/german/dialogues/kUuE67HifGG8yKx617y4/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/dialogues/kUuE67HifGG8yKx617y4.json"
      },
      {
        "id": "N8wt6S3AI3gBgXq27gVv",
        "title": "Ich verstehe deinen Punkt, aber + Subjekt + Verb",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/N8wt6S3AI3gBgXq27gVv/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/N8wt6S3AI3gBgXq27gVv.json"
      },
      {
        "id": "VrkUhBqes8iEpxqenuDU",
        "title": "Subjekt + wird + Partizip II + haben + sollen",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 9,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/VrkUhBqes8iEpxqenuDU/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/VrkUhBqes8iEpxqenuDU.json"
      },
      {
        "id": "uVmnpY6RLlcwx014Rzh0",
        "title": "Wenn + Subjekt + Modalverb im Konjunktiv II + Infinitiv, + würde + Infinitiv",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 15,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/uVmnpY6RLlcwx014Rzh0/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/uVmnpY6RLlcwx014Rzh0.json"
      },
      {
        "id": "wv9YZneAQyUsVbqORikG",
        "title": "zu + etwas + führen",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 14,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/wv9YZneAQyUsVbqORikG/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/wv9YZneAQyUsVbqORikG.json"
      },
      {
        "id": "j5hgVxF6tIA7NH7IJi2Z",
        "title": "Hauptsatz + , + es sei denn, dass + Subjekt + Verb am Ende",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 15,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/j5hgVxF6tIA7NH7IJi2Z/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/j5hgVxF6tIA7NH7IJi2Z.json"
      },
      {
        "id": "0ho9bUUzf2WnA4XIwvsv",
        "title": "Subjekt + wird + Partizip II + worden + sein + Modalverb",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 15,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/0ho9bUUzf2WnA4XIwvsv/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/0ho9bUUzf2WnA4XIwvsv.json"
      },
      {
        "id": "aIf9m0bViq4gE98UtNit",
        "title": "Subjekt + hofft + zu + Zeitangabe + Verb",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 15,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/aIf9m0bViq4gE98UtNit/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/aIf9m0bViq4gE98UtNit.json"
      },
      {
        "id": "WqlVJk91PIuOQ8SifA4A",
        "title": "Sich für + etwas + interessieren",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 15,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/WqlVJk91PIuOQ8SifA4A/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/WqlVJk91PIuOQ8SifA4A.json"
      },
      {
        "id": "bXMNxJSlJKh2lfK8nxFr",
        "title": "Wie wäre es, wenn + Subjekt + Verb (Konjunktiv II)?",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 15,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/bXMNxJSlJKh2lfK8nxFr/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/bXMNxJSlJKh2lfK8nxFr.json"
      },
      {
        "id": "Jc0Bidb5NrajDi9VJRT0",
        "title": "Nominativ-Subjekt + sprechen + mit + Dativ-Objekt + über + Akkusativ-Objekt",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 7,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/Jc0Bidb5NrajDi9VJRT0/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/Jc0Bidb5NrajDi9VJRT0.json"
      },
      {
        "id": "V4DvxRIo9yKcIOIHIGLa",
        "title": "Womit + Verb + Subjekt + Rest des Satzes?",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 7,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/V4DvxRIo9yKcIOIHIGLa/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/V4DvxRIo9yKcIOIHIGLa.json"
      },
      {
        "id": "qMEAnq4d4YwFkobF69Dt",
        "title": "Bei + etwas + helfen",
        "language": "deGram",
        "target_language": "de",
        "collection": "patterns",
        "annotation_count": 7,
        "canonical_url": "https://metkagram.github.io/en/explore/german/patterns/qMEAnq4d4YwFkobF69Dt/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/patterns/qMEAnq4d4YwFkobF69Dt.json"
      },
      {
        "id": "cr4xp9offxCoqk9MCh1O",
        "title": "Wie kann ich die Präposition 'bei' verwenden?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/cr4xp9offxCoqk9MCh1O/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/cr4xp9offxCoqk9MCh1O.json"
      },
      {
        "id": "eWYLoVYXbTeKDwtXKsu5",
        "title": "Wie kannst du die Präposition 'mit' nutzen?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/eWYLoVYXbTeKDwtXKsu5/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/eWYLoVYXbTeKDwtXKsu5.json"
      },
      {
        "id": "1SrjlmsNThaGUDSi01Xp",
        "title": "Wie können wir die Präposition 'von' richtig verwenden?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/1SrjlmsNThaGUDSi01Xp/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/1SrjlmsNThaGUDSi01Xp.json"
      },
      {
        "id": "XmIeBIHOdwDd2A4XUQPs",
        "title": "Wie kann ich die Präposition 'zu' einsetzen?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/XmIeBIHOdwDd2A4XUQPs/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/XmIeBIHOdwDd2A4XUQPs.json"
      },
      {
        "id": "GnUdJPZulDtz9gENMrGJ",
        "title": "Wie kannst du die Präposition 'durch' verwenden?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/GnUdJPZulDtz9gENMrGJ/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/GnUdJPZulDtz9gENMrGJ.json"
      },
      {
        "id": "4o5ZMtmlZq8YPwFYcyRD",
        "title": "Wie können wir die Präpositionen 'ohne' und 'gegen' verwenden?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/4o5ZMtmlZq8YPwFYcyRD/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/4o5ZMtmlZq8YPwFYcyRD.json"
      },
      {
        "id": "025EdCsqpx15pHPFF3RW",
        "title": "Wie kann ich die Präposition 'unter' benutzen?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/025EdCsqpx15pHPFF3RW/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/025EdCsqpx15pHPFF3RW.json"
      },
      {
        "id": "5BCPbepglXGCev9fvTJV",
        "title": "Wie kannst du die Präposition 'über' verwenden?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/5BCPbepglXGCev9fvTJV/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/5BCPbepglXGCev9fvTJV.json"
      },
      {
        "id": "2INJRwDXHeDmChiW0kVG",
        "title": "Wie können wir die Präposition 'neben' nutzen?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/2INJRwDXHeDmChiW0kVG/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/2INJRwDXHeDmChiW0kVG.json"
      },
      {
        "id": "mE0a4fLa7ebHJuo4ohPK",
        "title": "Wie kann ich die Präposition 'zwischen' verwenden?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/mE0a4fLa7ebHJuo4ohPK/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/mE0a4fLa7ebHJuo4ohPK.json"
      },
      {
        "id": "V75VfnswwWRJXJdg8n0v",
        "title": "Wie kannst du die Präposition 'vor' nutzen?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/V75VfnswwWRJXJdg8n0v/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/V75VfnswwWRJXJdg8n0v.json"
      },
      {
        "id": "ki5NUOGRvFsRBLOuKsvo",
        "title": "Wie können wir die Präposition 'nach' korrekt verwenden?",
        "language": "deGram",
        "target_language": "de",
        "collection": "library",
        "annotation_count": 11,
        "canonical_url": "https://metkagram.github.io/en/explore/german/library/ki5NUOGRvFsRBLOuKsvo/",
        "api_url": "https://metkagram.github.io/api/v1/annotations/de/library/ki5NUOGRvFsRBLOuKsvo.json"
      }
    ],
    "intents": [
      {
        "id": "disagree-politely",
        "reasoning_move": "Challenge",
        "title_en": "Disagree politely",
        "title_ru": "Вежливо не согласиться",
        "description_en": "Push back on a claim without turning the sentence into a confrontation.",
        "description_ru": "Возразить против утверждения, не превращая фразу в конфронтацию.",
        "queries_en": [
          "disagree politely",
          "push back",
          "challenge a claim",
          "question a claim"
        ],
        "queries_ru": [
          "вежливо не согласиться",
          "возразить",
          "оспорить утверждение"
        ],
        "signals_en": [
          "tactful",
          "soften disagreement",
          "push back",
          "too strong",
          "not fully supported",
          "confrontational",
          "respectfully challenge",
          "temper conclusion",
          "cooperative tone",
          "adversarial"
        ],
        "signals_ru": [
          "мягко",
          "вежливо",
          "возразить",
          "слишком уверенный",
          "слишком сильный вывод",
          "тактично",
          "без конфронтации"
        ],
        "pattern_priority": [
          "CLF058",
          "CLF055",
          "CLF066"
        ],
        "pattern_ids": [
          "CLF058",
          "CLF055",
          "CLF066"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-disagree-politely"
      },
      {
        "id": "question-an-assumption",
        "reasoning_move": "Challenge",
        "title_en": "Question an assumption",
        "title_ru": "Поставить предположение под вопрос",
        "description_en": "Make the hidden assumption explicit and challenge whether it is justified.",
        "description_ru": "Сделать скрытое предположение явным и проверить, действительно ли оно обосновано.",
        "queries_en": [
          "question an assumption",
          "challenge an assumption",
          "hidden assumption"
        ],
        "queries_ru": [
          "оспорить предположение",
          "проверить предположение",
          "скрытое предположение"
        ],
        "signals_en": [
          "assumption",
          "premise",
          "assumes",
          "hidden assumption",
          "take for granted",
          "unstated premise",
          "guaranteed assumption"
        ],
        "signals_ru": [
          "предположение",
          "допущение",
          "скрытая предпосылка",
          "исходит из",
          "принимает как данность",
          "неявное допущение"
        ],
        "pattern_priority": [
          "CLF066",
          "CLF058",
          "CLF055"
        ],
        "pattern_ids": [
          "CLF066",
          "CLF058",
          "CLF055"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-question-an-assumption"
      },
      {
        "id": "correct-an-assumption",
        "reasoning_move": "Reframe",
        "title_en": "Correct an assumption",
        "title_ru": "Исправить предположение",
        "description_en": "Replace a mistaken interpretation with the distinction you actually want to make.",
        "description_ru": "Заменить ошибочную интерпретацию тем различием, которое вы действительно хотите провести.",
        "queries_en": [
          "correct an assumption",
          "reframe",
          "it is not that",
          "what I mean"
        ],
        "queries_ru": [
          "исправить предположение",
          "переопределить мысль",
          "уточнить что я имею в виду"
        ],
        "signals_en": [
          "real issue",
          "actual problem",
          "mistaken interpretation",
          "actually",
          "not the problem",
          "blame the wrong thing",
          "correction"
        ],
        "signals_ru": [
          "дело не в",
          "на самом деле",
          "реальная проблема",
          "неверная интерпретация",
          "ошибочно считают",
          "поправить трактовку"
        ],
        "pattern_priority": [
          "CLF061",
          "CLF062",
          "CLF050"
        ],
        "pattern_ids": [
          "CLF061",
          "CLF062",
          "CLF050"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-correct-an-assumption"
      },
      {
        "id": "clarify-what-you-mean",
        "reasoning_move": "Reframe",
        "title_en": "Clarify what you really mean",
        "title_ru": "Уточнить, что вы действительно имеете в виду",
        "description_en": "Narrow or redirect an interpretation before continuing the argument.",
        "description_ru": "Сузить или перенаправить интерпретацию, прежде чем продолжать аргумент.",
        "queries_en": [
          "clarify what I mean",
          "restate",
          "reframe an idea",
          "not x but y"
        ],
        "queries_ru": [
          "уточнить мысль",
          "переформулировать",
          "не x а y"
        ],
        "signals_en": [
          "make clear",
          "clarify",
          "what I mean",
          "my concern",
          "do not mean",
          "restate",
          "redirect interpretation",
          "my point"
        ],
        "signals_ru": [
          "уточнить",
          "имею в виду",
          "я не против",
          "речь о",
          "прояснить",
          "моя мысль"
        ],
        "pattern_priority": [
          "CLF062",
          "CLF061",
          "CLF050"
        ],
        "pattern_ids": [
          "CLF062",
          "CLF061",
          "CLF050"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-clarify-what-you-mean"
      },
      {
        "id": "set-a-condition",
        "reasoning_move": "Condition",
        "title_en": "Set a condition",
        "title_ru": "Задать условие",
        "description_en": "State what has to be true before a result, decision, or action can follow.",
        "description_ru": "Сказать, что должно быть выполнено до результата, решения или действия.",
        "queries_en": [
          "set a condition",
          "only if",
          "provided that",
          "condition for"
        ],
        "queries_ru": [
          "задать условие",
          "только если",
          "при условии что"
        ],
        "signals_en": [
          "only after",
          "only if",
          "provided that",
          "as long as",
          "condition",
          "may proceed",
          "proceed only",
          "once active"
        ],
        "signals_ru": [
          "только если",
          "только при",
          "при условии",
          "возможен только",
          "условие",
          "после того как"
        ],
        "pattern_priority": [
          "CLF044",
          "CLF045",
          "CLF043"
        ],
        "pattern_ids": [
          "CLF044",
          "CLF045",
          "CLF043"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-set-a-condition"
      },
      {
        "id": "state-a-prerequisite",
        "reasoning_move": "Condition",
        "title_en": "State a prerequisite",
        "title_ru": "Назвать необходимое условие",
        "description_en": "Explain what must happen first or what is necessary before something else becomes possible.",
        "description_ru": "Объяснить, что должно произойти сначала или что необходимо для следующего шага.",
        "queries_en": [
          "prerequisite",
          "must happen first",
          "necessary condition",
          "without x cannot"
        ],
        "queries_ru": [
          "необходимое условие",
          "должно произойти сначала",
          "без x невозможно"
        ],
        "signals_en": [
          "before",
          "first",
          "prerequisite",
          "has to be clear",
          "must happen first",
          "need first",
          "cannot until"
        ],
        "signals_ru": [
          "сначала",
          "до того как",
          "необходимо сначала",
          "предварительно",
          "без этого нельзя",
          "прежде чем"
        ],
        "pattern_priority": [
          "CLF043",
          "CLF045",
          "CLF044"
        ],
        "pattern_ids": [
          "CLF043",
          "CLF045",
          "CLF044"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-state-a-prerequisite"
      },
      {
        "id": "explain-a-cause",
        "reasoning_move": "Cause",
        "title_en": "Explain a cause",
        "title_ru": "Объяснить причину",
        "description_en": "Connect an outcome to the factor that produced or enabled it.",
        "description_ru": "Связать результат с фактором, который его вызвал или сделал возможным.",
        "queries_en": [
          "explain a cause",
          "because of",
          "due to",
          "caused by"
        ],
        "queries_ru": [
          "объяснить причину",
          "из-за",
          "вызвано"
        ],
        "signals_en": [
          "came from",
          "caused by",
          "because of",
          "due to",
          "several factors",
          "resulted from",
          "produced by",
          "mix of",
          "combination of"
        ],
        "signals_ru": [
          "вызвано",
          "из-за",
          "причина",
          "сочетание факторов",
          "произошло из-за",
          "результат нескольких причин"
        ],
        "pattern_priority": [
          "CLF060",
          "CLF068",
          "CLF059"
        ],
        "pattern_ids": [
          "CLF060",
          "CLF068",
          "CLF059",
          "XTHCDG001",
          "XTHCDG003",
          "XTHCDG004"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-explain-a-cause"
      },
      {
        "id": "connect-cause-and-effect",
        "reasoning_move": "Cause",
        "title_en": "Connect cause and effect",
        "title_ru": "Связать причину и следствие",
        "description_en": "Show how one factor changes what follows instead of merely listing two events.",
        "description_ru": "Показать, как один фактор меняет последствие, а не просто перечислить два события.",
        "queries_en": [
          "cause and effect",
          "leads to",
          "results in",
          "therefore because"
        ],
        "queries_ru": [
          "причина и следствие",
          "приводит к",
          "в результате"
        ],
        "signals_en": [
          "leads to",
          "then produces",
          "in turn",
          "causal chain",
          "results in",
          "downstream",
          "triggers"
        ],
        "signals_ru": [
          "приводит к",
          "затем",
          "цепочка",
          "в результате",
          "вызывает",
          "далее приводит"
        ],
        "pattern_priority": [
          "CLF059",
          "CLF068",
          "CLF060"
        ],
        "pattern_ids": [
          "CLF059",
          "CLF068",
          "CLF060",
          "XTHCDG003",
          "XTHCDG002",
          "XTHCDG005"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-connect-cause-and-effect"
      },
      {
        "id": "draw-a-conclusion",
        "reasoning_move": "Infer",
        "title_en": "Draw a conclusion",
        "title_ru": "Сделать вывод",
        "description_en": "Move from evidence or observations to a conclusion without presenting it as a raw fact.",
        "description_ru": "Перейти от наблюдений или данных к выводу, не выдавая его за исходный факт.",
        "queries_en": [
          "draw a conclusion",
          "infer",
          "this suggests",
          "therefore"
        ],
        "queries_ru": [
          "сделать вывод",
          "это указывает на",
          "следовательно"
        ],
        "signals_en": [
          "points to",
          "suggests",
          "conclusion",
          "infer",
          "does not prove",
          "evidence indicates",
          "cautious inference",
          "same direction"
        ],
        "signals_ru": [
          "сделать вывод",
          "указывает",
          "следовательно",
          "не доказывает",
          "из наблюдений",
          "осторожный вывод"
        ],
        "pattern_priority": [
          "CLF051",
          "CLF052",
          "CLF053"
        ],
        "pattern_ids": [
          "CLF051",
          "CLF052",
          "CLF053"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-draw-a-conclusion"
      },
      {
        "id": "offer-a-likely-explanation",
        "reasoning_move": "Infer",
        "title_en": "Offer a likely explanation",
        "title_ru": "Предложить вероятное объяснение",
        "description_en": "Present the best-supported interpretation while keeping the inference visible.",
        "description_ru": "Предложить наиболее обоснованную интерпретацию, сохраняя видимой её вероятностную природу.",
        "queries_en": [
          "likely explanation",
          "probably means",
          "best explanation",
          "suggests that"
        ],
        "queries_ru": [
          "вероятное объяснение",
          "скорее всего означает",
          "похоже что"
        ],
        "signals_en": [
          "most plausible",
          "most likely",
          "likely explanation",
          "best explanation",
          "probably",
          "fits the evidence best",
          "interpretation"
        ],
        "signals_ru": [
          "наиболее вероятное",
          "скорее всего",
          "похоже",
          "вероятное объяснение",
          "лучшая интерпретация"
        ],
        "pattern_priority": [
          "CLF053",
          "CLF052",
          "CLF051"
        ],
        "pattern_ids": [
          "CLF053",
          "CLF052",
          "CLF051"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-offer-a-likely-explanation"
      },
      {
        "id": "compare-alternatives",
        "reasoning_move": "Compare",
        "title_en": "Compare alternatives",
        "title_ru": "Сравнить альтернативы",
        "description_en": "Put two options on the same dimension so the contrast becomes useful for a decision.",
        "description_ru": "Поставить два варианта на одну шкалу, чтобы сравнение помогало принять решение.",
        "queries_en": [
          "compare alternatives",
          "compare options",
          "whereas",
          "compared with"
        ],
        "queries_ru": [
          "сравнить альтернативы",
          "сравнить варианты",
          "в отличие от"
        ],
        "signals_en": [
          "compare options",
          "compare alternatives",
          "same criterion",
          "two options",
          "side by side",
          "evaluate designs",
          "compare designs"
        ],
        "signals_ru": [
          "сопоставить",
          "два варианта",
          "по одному критерию",
          "сравнить варианты",
          "чтобы выбрать",
          "поставить рядом"
        ],
        "pattern_priority": [
          "CLF064",
          "CLF054",
          "CLF063"
        ],
        "pattern_ids": [
          "CLF064",
          "CLF054",
          "CLF063"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-compare-alternatives"
      },
      {
        "id": "show-a-difference",
        "reasoning_move": "Compare",
        "title_en": "Show a meaningful difference",
        "title_ru": "Показать существенное различие",
        "description_en": "Highlight the dimension on which two cases differ rather than saying only that they are different.",
        "description_ru": "Показать, по какому именно параметру различаются два случая.",
        "queries_en": [
          "show a difference",
          "contrast",
          "unlike",
          "difference between"
        ],
        "queries_ru": [
          "показать различие",
          "противопоставить",
          "разница между"
        ],
        "signals_en": [
          "contrast",
          "difference",
          "whereas",
          "unlike",
          "differ",
          "one favors",
          "other favors",
          "stand out"
        ],
        "signals_ru": [
          "показать отличие",
          "отличаются",
          "различие",
          "противопоставить",
          "в отличие",
          "один подход другой"
        ],
        "pattern_priority": [
          "CLF063",
          "CLF064",
          "CLF054"
        ],
        "pattern_ids": [
          "CLF063",
          "CLF064",
          "CLF054"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-show-a-difference"
      },
      {
        "id": "qualify-a-claim",
        "reasoning_move": "Limit",
        "title_en": "Qualify a claim",
        "title_ru": "Ограничить утверждение",
        "description_en": "Make a statement more precise by showing where it applies and where it does not.",
        "description_ru": "Сделать утверждение точнее, показав границы его применимости.",
        "queries_en": [
          "qualify a claim",
          "limit a claim",
          "not always",
          "only to the extent"
        ],
        "queries_ru": [
          "ограничить утверждение",
          "уточнить границы",
          "не всегда"
        ],
        "signals_en": [
          "narrow the claim",
          "works for",
          "but not",
          "scope",
          "qualify",
          "not always",
          "generalized",
          "applies only"
        ],
        "signals_ru": [
          "ограничить утверждение",
          "верно для",
          "но не для",
          "границы применимости",
          "не всегда",
          "обобщать"
        ],
        "pattern_priority": [
          "CLF065",
          "CLF041",
          "CLF042"
        ],
        "pattern_ids": [
          "CLF065",
          "CLF041",
          "CLF042"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-qualify-a-claim"
      },
      {
        "id": "show-something-is-not-enough",
        "reasoning_move": "Limit",
        "title_en": "Show that something is not enough",
        "title_ru": "Показать, что чего-то недостаточно",
        "description_en": "Separate what is necessary from what is sufficient for the result you care about.",
        "description_ru": "Разделить то, что необходимо, и то, чего действительно достаточно для результата.",
        "queries_en": [
          "not enough",
          "necessary but not sufficient",
          "insufficient",
          "alone is not enough"
        ],
        "queries_ru": [
          "недостаточно",
          "необходимо но недостаточно",
          "самого по себе мало"
        ],
        "signals_en": [
          "not enough",
          "cannot establish",
          "alone",
          "necessary but not sufficient",
          "one test",
          "insufficient",
          "by itself",
          "cannot justify"
        ],
        "signals_ru": [
          "недостаточно",
          "одного мало",
          "самого по себе",
          "не хватает",
          "необходимо но недостаточно",
          "одного совпадения"
        ],
        "pattern_priority": [
          "CLF041",
          "CLF042",
          "CLF065"
        ],
        "pattern_ids": [
          "CLF041",
          "CLF042",
          "CLF065"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-show-something-is-not-enough"
      },
      {
        "id": "choose-between-options",
        "reasoning_move": "Decide",
        "title_en": "Choose between options",
        "title_ru": "Выбрать между вариантами",
        "description_en": "Frame alternatives so a decision follows from explicit criteria rather than preference alone.",
        "description_ru": "Сформулировать альтернативы так, чтобы решение опиралось на явные критерии, а не только на предпочтение.",
        "queries_en": [
          "choose between options",
          "decide between",
          "trade off",
          "best option"
        ],
        "queries_ru": [
          "выбрать между вариантами",
          "принять решение",
          "компромисс"
        ],
        "signals_en": [
          "decide between",
          "trade-off",
          "tradeoff",
          "choose between",
          "must pick",
          "pick either",
          "drive the choice",
          "best option"
        ],
        "signals_ru": [
          "выбрать между",
          "компромисс",
          "принять решение",
          "выбор",
          "либо",
          "критерий выбора"
        ],
        "pattern_priority": [
          "CLF046",
          "CLF047",
          "CLF049",
          "CLF048"
        ],
        "pattern_ids": [
          "CLF046",
          "CLF047",
          "CLF049",
          "CLF048",
          "CLF069",
          "XTHDEC001"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-choose-between-options"
      },
      {
        "id": "state-a-decision",
        "reasoning_move": "Decide",
        "title_en": "State a decision and rationale",
        "title_ru": "Сформулировать решение и основание",
        "description_en": "Say what you decided while keeping the reason or criterion visible.",
        "description_ru": "Сказать, какое решение принято, сохраняя видимым основание или критерий.",
        "queries_en": [
          "state a decision",
          "we decided",
          "decision because",
          "rationale"
        ],
        "queries_ru": [
          "сформулировать решение",
          "мы решили",
          "обоснование решения"
        ],
        "signals_en": [
          "we chose",
          "we decided",
          "already selected",
          "state the choice",
          "reason behind it",
          "rationale",
          "decision made"
        ],
        "signals_ru": [
          "принятое решение",
          "мы выбрали",
          "мы решили",
          "уже выбрали",
          "объяснить основание",
          "обоснование решения"
        ],
        "pattern_priority": [
          "CLF069",
          "CLF049",
          "CLF048",
          "CLF047",
          "CLF046"
        ],
        "pattern_ids": [
          "CLF069",
          "CLF049",
          "CLF048",
          "CLF047",
          "CLF046",
          "XTHDEC001"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-state-a-decision"
      },
      {
        "id": "test-an-idea",
        "reasoning_move": "Test",
        "title_en": "Test whether an idea holds",
        "title_ru": "Проверить, выдерживает ли идея проверку",
        "description_en": "Turn a claim into something that can be checked against a case, condition, or counterexample.",
        "description_ru": "Превратить утверждение в то, что можно проверить на примере, условии или контрпримере.",
        "queries_en": [
          "test an idea",
          "check whether",
          "does this hold",
          "counterexample"
        ],
        "queries_ru": [
          "проверить идею",
          "проверить ли это верно",
          "контрпример"
        ],
        "signals_en": [
          "if the hypothesis",
          "observable result",
          "expect",
          "testable prediction",
          "if true",
          "check hypothesis",
          "prediction",
          "visible if",
          "claim were correct"
        ],
        "signals_ru": [
          "гипотеза",
          "проверяемое предсказание",
          "если верно",
          "ожидаемый результат",
          "проверить идею",
          "что увидим"
        ],
        "pattern_priority": [
          "CLF056",
          "CLF067",
          "CLF057"
        ],
        "pattern_ids": [
          "CLF056",
          "CLF067",
          "CLF057",
          "XTHHYP001",
          "CLF070",
          "XTHHYP003"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-test-an-idea"
      },
      {
        "id": "ask-what-would-change-the-conclusion",
        "reasoning_move": "Test",
        "title_en": "Ask what would change the conclusion",
        "title_ru": "Спросить, что изменило бы вывод",
        "description_en": "Identify the evidence or condition that would make you revise the current conclusion.",
        "description_ru": "Определить данные или условие, при которых текущий вывод пришлось бы пересмотреть.",
        "queries_en": [
          "what would change the conclusion",
          "what evidence would change",
          "falsify",
          "under what condition"
        ],
        "queries_ru": [
          "что изменило бы вывод",
          "какие данные изменят мнение",
          "при каком условии"
        ],
        "signals_en": [
          "what evidence",
          "revise conclusion",
          "change my mind",
          "what would change",
          "reconsider",
          "force us to reconsider",
          "falsify"
        ],
        "signals_ru": [
          "что изменит вывод",
          "при каких данных",
          "пересмотреть вывод",
          "изменить мнение",
          "что заставит пересмотреть",
          "опровергнуть"
        ],
        "pattern_priority": [
          "CLF070",
          "CLF057",
          "CLF067",
          "CLF056"
        ],
        "pattern_ids": [
          "CLF070",
          "CLF057",
          "CLF067",
          "CLF056",
          "XTHHYP002",
          "XTHHYP003"
        ],
        "canonical_url": "https://metkagram.github.io/en/practice/intents/#intent-ask-what-would-change-the-conclusion"
      }
    ]
  }
}
