Skip to content

Add positioned written-unit normalization API - #16

Merged
Satsrag merged 1 commit into
Satsrag:mainfrom
satsragclaw:feat/normalize-positioned-written-units
Jul 28, 2026
Merged

Add positioned written-unit normalization API#16
Satsrag merged 1 commit into
Satsrag:mainfrom
satsragclaw:feat/normalize-positioned-written-units

Conversation

@satsragclaw

Copy link
Copy Markdown
Contributor

Summary

  • add MongolianShaper.normalize_positioned_written_units() for ordered built-in dict records with exact unit and position fields
  • validate flat slot positions (isol, init, medi, fina, control) against explicit Mvs, Nirugu, and Zwj context
  • snapshot accepted sequences once so stateful inputs cannot change after validation
  • reuse normalize_written_units() for canonical selection and exact reshape validation
  • reject missing structural context instead of inserting ZWJ or returning partial output

This change does not add a positioned-record CLI or automatic control reconstruction.

Validation

  • 203/203 tests pass on Python 3.11
  • 203/203 tests pass on Python 3.6.8
  • 177/177 core-hud cases pass
  • 3507/3507 eac-hud cases pass, excluding the existing 5 UTN xfails
  • 2237/2237 prefix-stability pairs pass
  • 1993/1993 shape groups converge
  • normalization table and compatibility goldens are fresh
  • wheel and sdist build successfully
  • installed-wheel positioned API smoke test passes
  • independent adversarial review found no security or logic blockers

@Satsrag
Satsrag merged commit bb4cb82 into Satsrag:main Jul 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants