Skip to content

Error types (Russian)

46 handlers, 106 subtypes across four detection categories (SPELL, MORPH, PUNCT, OTHER). The full subtype lists and Rozental § mappings are in CLAUDE.md; uv run synterr list-errors -l ru is the live, authoritative listing. LoRuGEC rule coverage is verified sentence-by-sentence in docs/research/LORUGEC_COVERAGE.md (37/48 FULL, 11/48 PARTIAL, 0/48 NONE).

A 5-handler French proof-of-concept exists on the same architecture (src/synterr/languages/french/, stanza fr_sequoia backend) — see Extending synterr.

Spelling — SPELL

Handler What it does Example
spelling Phonetic confusions, keyboard typos, alternating/unchecked roots (§2–3) молокомалако
function_spelling не/ни attachment, conjunction split/merge, -таки, negative-pronoun не/ни чтобычто бы
orthographic_spelling пре/при, ы/и after prefixes, suffixes, participles, vowels after ц/sibilants (incl. root §5 п.3, -ем/-им endings) преинтересныйприинтересный
compound_spelling Hyphen / solid / separate writing of compounds, numeral-dash, пол- по-моемупо моему
adverb_spelling Adverb writing variants (4 directional subtypes) по-русскипо русски

Morphological — MORPH

Handler What it does Example
noun_case Wrong case on a governed/subject/other noun (dep-arc gated: obl/nmod/iobj/obj, nsubj, appos/conj/…) на столена стол
noun_case_prep Second locative -у vs standard -е (§ second locative) в лесув лесе
noun_case_gen_partitive Partitive genitive -а/-у (§150) история народанароду
noun_case_instr_pl Instrumental plural -ями/-ьми (§155) дверямидверьми
noun_number Singular ↔ plural книгакниги
noun_number_gen_pl Nonstandard genitive plural (§154) носковносок
neg_genitive Acc↔Gen under negation, dep-arc (§201) не читал книгукниги
adj_case, adj_number, adj_gender Adjective/participle agreement via amod arc новая книгановый книга
adj_form Short↔full adjective form готовыготовые
adj_possessive_form Possessive-adjective oblique variants (§162) маминогомамина
adj_short_en_enen Short-form -ен/-енен (§160) свойственсвойственен
adj_double_comparative Insert pleonastic «более» before a synthetic comparative (length-changing) лучшеболее лучше
verb_person_number Verb conjugation against nsubj они читаетони читают
verb_tense Past / present / future swap (finite forms only) читалчитает
verb_iterative_suffix о/а iterative suffix (§172.2) обусловливатьобуславливать
numeral_declension Numeral declension, incl. полтора полтора часаполутора часа
pronoun_svoy свой → personal possessive (§167) нашёл свою книгумою книгу
pronoun_sebya себя → personal pronoun (§168) купил себекупил ему
pronoun_n_form н-augment after prepositions (§169–170) у негоу его
agr_sv_collective, agr_sv_counting, agr_sv_approximate, agr_sv_compound, agr_sv_coordinated Subject–verb agreement flips, dep-arc (§183–190) collective/numeral/compound subjects
agr_mn_apposition, agr_mn_compound_term, agr_mn_numeral_adj Modifier–noun agreement: toponyms, hyphen compounds, два/три/четыре + adjective (§193–197)

Lexical — OTHER

Handler What it does
paronym Confusable word pairs (одеть / надеть)
preposition Wrong preposition
conjunction Wrong conjunction
pleonasm Tautological phrases (главный приоритет)
collocation Lexical compatibility violations

Structural — OTHER

Handler What it does
word_omission Drop a function word (preposition or conjunction)
word_insertion Insert a filler word (discourse marker, particle)

Punctuation — PUNCT

Handler What it does
comma_delete Delete a comma at clause boundaries (10 dep-tree-classified subtypes: subordinate, compound, parenthetical, isolation, homogeneous, interjection, response, repeated, asyndetic, vocative)
comma_pair_delete Delete both commas of an isolated phrase (5 subtypes: participle, relative, gerund, parenthetical, apposition)
comma_insert Add a spurious comma (11 subtypes, incl. bidirectional: homogeneous_conj §86, subj_pred, pseudo_parenthetical §99, after_odnako §99, compound_conj_split §108, x_ne_x §90)
dash_delete Delete a required dash (5 subtypes: subj_pred, asyndetic, apposition, ellipsis §80, other)
dash_to_comma Substitute dash → comma at sentence-final appositions (§93, non-length-changing)

Schema mapping cheat sheet

# See current mappings
uv run synterr coverage --lang ru --schema rlc
uv run synterr coverage --lang ru --schema rozental
uv run synterr coverage --lang ru --schema errant