Решили: набор падежей, известных ContentKeys.FormSuffix, держится тестом против самой разметки описаний, а не сверкой на глаз. Творительный (name.ins) добавлен, именительный (nom) назван явной веткой.

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

Грабли: тихий откат опаснее ошибки. Неизвестный падеж не роняет ничего и не пишет в консоль — он подставляет именительный, и фраза остаётся грамматически целой строкой, но кривой на слух: «поглощается Щит» вместо «поглощается Щитом». Найти это можно, только прочитав текст вслух или сверив данные с кодом — что и сделал ночной заход, а не игрок.

Владелец правды: тест ProjectConventionTests.EveryCaseTagInMarkup_IsKnownToFormSuffix, ContentKeys.FormSuffix.