Two small accuracy problems in tests/v2/cases.py, both pre-existing, both found during the #320 review.
1. cases.py and expected_changes.toml disagree about compounds
tools/differential/expected_changes.toml describes the CJK honorific rules as compounding with the #271 order flip — seven rules use that language. tests/v2/cases.py labels the same rows single-issue (fix(#307), fix(#308)).
Compound notation exists and is already used — feat(#273) + fix(#271), twice, in the nickname block for precisely this shape (one issue enables, #271 orders). So the honorific block is inconsistent with both the toml and its own table's precedent.
Rows like ko_honorific_ssi (김민준 씨) depend on #271's segmentation and family-first order to reach their asserted fields, and say fix(#307) alone. fix(#271) + fix(#307) would be strictly more honest.
This is a block-wide sweep rather than a one-row edit, which is why #320 left it alone rather than fixing one row into a different inconsistency.
2. ko_honorific_after_comma's note names the wrong gate
The note says "the post-comma lenient gate admits the honorific too". The gate is _group._is_suffix_piece, not is_suffix_lenient — demonstrably, since before #320 is_suffix_lenient("씨.") was already True and 씨. still went to given.
Neither item affects behavior; both mislead a reader tracing why a row lands where it does.
Two small accuracy problems in
tests/v2/cases.py, both pre-existing, both found during the #320 review.1.
cases.pyandexpected_changes.tomldisagree about compoundstools/differential/expected_changes.tomldescribes the CJK honorific rules as compounding with the #271 order flip — seven rules use that language.tests/v2/cases.pylabels the same rows single-issue (fix(#307),fix(#308)).Compound notation exists and is already used —
feat(#273) + fix(#271), twice, in the nickname block for precisely this shape (one issue enables, #271 orders). So the honorific block is inconsistent with both the toml and its own table's precedent.Rows like
ko_honorific_ssi(김민준 씨) depend on #271's segmentation and family-first order to reach their asserted fields, and sayfix(#307)alone.fix(#271) + fix(#307)would be strictly more honest.This is a block-wide sweep rather than a one-row edit, which is why #320 left it alone rather than fixing one row into a different inconsistency.
2.
ko_honorific_after_comma's note names the wrong gateThe note says "the post-comma lenient gate admits the honorific too". The gate is
_group._is_suffix_piece, notis_suffix_lenient— demonstrably, since before #320is_suffix_lenient("씨.")was alreadyTrueand씨.still went togiven.Neither item affects behavior; both mislead a reader tracing why a row lands where it does.