Решили: набор падежей, известных ContentKeys.FormSuffix, держится тестом против самой разметки
описаний, а не сверкой на глаз. Творительный (name.ins) добавлен, именительный (nom) назван
явной веткой.
Почему: падеж заведён в двух местах сразу — ключом в таблице ({id}.name.ins) и разметкой в
тексте ([kw:shield:ins]), — а знание о нём живёт в третьем, в коде. Данные ушли вперёд: три ключа
творительного лежали в таблице, разметка их звала, FormSuffix о них не знал и уводил тег в
default. Отвергнутая альтернатива — «завести все падежи русского языка сразу»: заводить надо тот,
что кто-то попросил, иначе список падежей становится ещё одним местом, где можно ошибиться.
Грабли: тихий откат опаснее ошибки. Неизвестный падеж не роняет ничего и не пишет в консоль — он подставляет именительный, и фраза остаётся грамматически целой строкой, но кривой на слух: «поглощается Щит» вместо «поглощается Щитом». Найти это можно, только прочитав текст вслух или сверив данные с кодом — что и сделал ночной заход, а не игрок.
Владелец правды: тест ProjectConventionTests.EveryCaseTagInMarkup_IsKnownToFormSuffix,
ContentKeys.FormSuffix.