Normal units can no longer attack the back row; Wyvern Strike, Tejas attacks the back row of its own column. Demonic Dragon Berserker, Yaksha rides itself from hand when an opponent's rear-guard is retired during the main phase. Match replay: CommandCodec, MatchRecord, MatchRecorder, ReplayRunner and an FNV event hash; a JSON round-trip replays a full bot game bit-for-bit. Three tests; 116 total.
Added the yo letter (porazhyon), renamed boosted unit to 'usilennaya karta', confirmed 'unichtozhit' for retire. Refined the forbidden-term check to allow 'usilennaya' while still catching 'usilen'/'usilennyy'.
Applied the style from the customer's edits: unit -> 'karta', place on -> 'pomeshchaetsya v', ride -> 'smena', boost -> 'podderzhivat', attack hits -> 'prokhodit', drive check -> 'proverka', Restraint -> 'Sderzhivanie', {heal} reminder simplified, long clauses split, pronouns instead of repeated 'eta karta'. Added a forbidden-terms check to translations check. Removed the one-off seed script: ru.yaml is now the source of truth.
Applied to all 66 texts: vanguard -> Avangard, rear-guard -> Aryergard (capitalized), grade -> rank, drive check reveals -> 'v draiveke okazyvaetsya', from a zone -> 'iz'. Updated zone tooltips and translation rules to v0.2.
66 effect texts translated with icon tokens preserved. Added docs/translation-rules.md with terminology, syntax patterns and open terminology questions. Normalized the source typo Own(VC/RC) to [AUTO](VC/RC).
Dropped nameRu from the translation workflow and from content validation warnings. Progress now counts cards whose text is filled; vanilla cards without text count as done.
Solution on .NET 10 LTS with rules, content and CLI projects. Content importer pulls stats from the official card list, merges trigger/rarity data, emits three YAML sets (94 cards, 124 printings). Validator checks the grade-0 shield invariant, sentinel shield, parallel printing links, and deck construction limits. 14 tests cover catalog integrity and deck validation.