> Baseline generated on 2026-09-27 from the complete Hunspell v1.7.3 `tests/` suite. This is a development baseline, not a full-compatibility claim.

# MoonSpell Hunspell Conformance Report

- Hunspell reference: `hunspell-1.7.3`
- Fixtures scanned: `144`
- Good-word fixtures passed: `107/112`
- Wrong-word fixtures passed: `93/95`
- Suggestion fixtures: `37`
- Suggestion top-1 hits: `152/173`
- Suggestion exact-list matches: `136/173`

| Fixture | Good | Wrong | Suggest exact | Suggest top-1 |
|---|---:|---:|---:|---:|
| `1463589` | skip | pass | 5/5 | 5/5 |
| `1463589_utf` | skip | pass | 5/5 | 5/5 |
| `1592880` | pass | skip | - | - |
| `1695964` | skip | pass | 3/3 | 3/3 |
| `1706659` | skip | pass | - | - |
| `1748408-1` | pass | skip | - | - |
| `1748408-2` | pass | skip | - | - |
| `1748408-3` | pass | skip | - | - |
| `1748408-4` | pass | skip | - | - |
| `1975530` | pass | pass | - | - |
| `2970240` | pass | pass | - | - |
| `2970242` | pass | pass | - | - |
| `2999225` | pass | skip | - | - |
| `affixes` | pass | skip | - | - |
| `alias` | pass | skip | - | - |
| `alias2` | pass | skip | - | - |
| `alias3` | pass | skip | - | - |
| `allcaps` | pass | pass | 3/3 | 3/3 |
| `allcaps2` | pass | pass | 1/2 | 2/2 |
| `allcaps3` | pass | pass | - | - |
| `allcaps_utf` | pass | pass | 3/3 | 3/3 |
| `arabic` | skip | pass | - | - |
| `base` | pass | pass | 10/11 | 11/11 |
| `base_utf` | pass | pass | 11/13 | 13/13 |
| `break` | pass | pass | - | - |
| `breakdefault` | pass | pass | 5/5 | 5/5 |
| `breakoff` | pass | pass | - | - |
| `checkcompoundcase` | pass | pass | - | - |
| `checkcompoundcase2` | pass | pass | - | - |
| `checkcompoundcaseutf` | pass | pass | - | - |
| `checkcompounddup` | pass | pass | - | - |
| `checkcompoundpattern` | pass | pass | - | - |
| `checkcompoundpattern2` | pass | pass | - | - |
| `checkcompoundpattern3` | pass | pass | - | - |
| `checkcompoundpattern4` | pass | pass | - | - |
| `checkcompoundrep` | pass | pass | - | - |
| `checkcompoundrep2` | pass | skip | - | - |
| `checkcompoundtriple` | pass | pass | - | - |
| `checksharps` | pass | pass | 1/1 | 1/1 |
| `checksharpsutf` | pass | pass | 1/1 | 1/1 |
| `circumfix` | pass | pass | - | - |
| `colons_in_words` | skip | skip | - | - |
| `complexprefixes` | pass | pass | - | - |
| `complexprefixes2` | pass | skip | - | - |
| `complexprefixesutf` | pass | pass | - | - |
| `compound_wnum_overflow` | skip | skip | - | - |
| `compoundaffix` | pass | pass | - | - |
| `compoundaffix2` | pass | skip | - | - |
| `compoundaffix3` | pass | pass | - | - |
| `compoundflag` | pass | pass | - | - |
| `compoundforbid` | pass | pass | - | - |
| `compoundrule` | pass | pass | - | - |
| `compoundrule2` | pass | pass | - | - |
| `compoundrule3` | pass | pass | - | - |
| `compoundrule4` | pass | pass | - | - |
| `compoundrule5` | pass | pass | - | - |
| `compoundrule6` | pass | pass | - | - |
| `compoundrule7` | pass | pass | - | - |
| `compoundrule8` | pass | pass | - | - |
| `condition` | pass | pass | - | - |
| `condition_utf` | pass | pass | - | - |
| `conditionalprefix` | pass | pass | - | - |
| `digits_in_words` | skip | pass | - | - |
| `dotless_i` | pass | pass | - | - |
| `encoding` | pass | skip | - | - |
| `flag` | pass | skip | - | - |
| `flaglong` | pass | skip | - | - |
| `flagnum` | pass | skip | - | - |
| `flagutf8` | pass | skip | - | - |
| `fogemorpheme` | pass | pass | - | - |
| `forbiddenword` | pass | pass | - | - |
| `forceucase` | pass | pass | 2/2 | 2/2 |
| `fullstrip` | pass | skip | - | - |
| `germancompounding` | fail | fail | - | - |
| `germancompoundingold` | fail | fail | - | - |
| `gh1002` | skip | pass | 0/0 | 0/0 |
| `gh1018` | skip | skip | - | - |
| `gh1032` | skip | skip | - | - |
| `gh1044` | skip | skip | - | - |
| `gh1058` | skip | skip | - | - |
| `gh1076` | pass | pass | - | - |
| `gh1086` | skip | skip | - | - |
| `gh1095` | skip | skip | - | - |
| `gh646` | skip | skip | - | - |
| `hu` | fail | skip | - | - |
| `i35725` | pass | pass | 6/10 | 10/10 |
| `i53643` | pass | pass | - | - |
| `i54633` | pass | pass | 2/2 | 2/2 |
| `i54980` | pass | skip | - | - |
| `i58202` | pass | pass | 12/13 | 13/13 |
| `i68568` | skip | pass | - | - |
| `i68568utf` | skip | pass | - | - |
| `iconv` | pass | skip | - | - |
| `iconv2` | pass | skip | - | - |
| `iconv_break_overflow` | skip | pass | - | - |
| `ignore` | pass | skip | - | - |
| `ignoresug` | pass | skip | - | - |
| `ignoreutf` | pass | skip | - | - |
| `IJ` | pass | pass | 0/1 | 1/1 |
| `keepcase` | pass | pass | 8/8 | 8/8 |
| `korean` | pass | pass | - | - |
| `limit-multiple-compounding` | pass | pass | - | - |
| `map` | skip | pass | 3/3 | 3/3 |
| `maputf` | skip | pass | 3/3 | 3/3 |
| `morph` | pass | skip | - | - |
| `needaffix` | pass | pass | - | - |
| `needaffix2` | pass | skip | - | - |
| `needaffix3` | pass | pass | - | - |
| `needaffix4` | pass | skip | - | - |
| `needaffix5` | pass | pass | - | - |
| `nepali` | fail | skip | - | - |
| `ngram_utf_fix` | pass | pass | 0/1 | 1/1 |
| `nosuggest` | pass | pass | 0/0 | 0/0 |
| `oconv` | pass | pass | 3/3 | 3/3 |
| `oconv2` | pass | skip | - | - |
| `ofz51432` | skip | skip | - | - |
| `ofz5627151457255424` | skip | skip | - | - |
| `onlyincompound` | pass | pass | 0/0 | 0/0 |
| `onlyincompound2` | pass | pass | - | - |
| `opentaal_cpdpat` | pass | pass | - | - |
| `opentaal_cpdpat2` | fail | pass | - | - |
| `opentaal_forbiddenword1` | pass | pass | 0/1 | 0/1 |
| `opentaal_forbiddenword2` | pass | pass | 0/1 | 0/1 |
| `opentaal_keepcase` | pass | pass | 2/8 | 2/8 |
| `ph` | skip | pass | 11/11 | 11/11 |
| `ph2` | skip | pass | 14/14 | 14/14 |
| `phone` | skip | pass | 1/1 | 1/1 |
| `rep` | skip | pass | 3/8 | 3/8 |
| `reputf` | skip | pass | 1/1 | 1/1 |
| `right_to_left_mark` | pass | skip | - | - |
| `simplifiedtriple` | pass | pass | - | - |
| `slash` | pass | skip | - | - |
| `sug` | skip | pass | 6/13 | 9/13 |
| `sug2` | skip | pass | 3/3 | 3/3 |
| `sugutf` | skip | pass | 6/12 | 8/12 |
| `timelimit` | pass | pass | 0/0 | 0/0 |
| `utf8` | pass | skip | - | - |
| `utf8_bom` | pass | skip | - | - |
| `utf8_bom2` | pass | skip | - | - |
| `utf8_nonbmp` | pass | pass | 2/2 | 2/2 |
| `utfcompound` | pass | pass | - | - |
| `warn` | pass | skip | - | - |
| `wordpair` | skip | pass | - | - |
| `zeroaffix` | pass | skip | - | - |
