You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Goal: Build the safety net before refactoring, and the Warsh target before implementing. Two distinct nets.
2A — Hafs characterization net (start now, parallel)
Golden tests at the stable public boundary only: phonemes_str, letter_phoneme_mappings, char_phoneme_mappings, tajweed_mappings, phonetic_text — broad representative reference set (stops, muqattaat, lafdh al-jalalah, hamza wasl, tanween-at-waqf, idgham/ikhfaa/iqlab).
Lock outputs so Epic 3a/3b can prove byte-identical Hafs behavior.
Do not test internal classes slated for restructure (test behavior, not soon-to-change structure).
2B — Warsh expected cases (after 1b; red until Epic 4)
Hand-author expected phonemes for 1–2 cases of every tajweed rule and every contextual pronunciation, prioritizing the Hafs deltas from 1b (things Hafs doesn't even test today).
First-class tests for tajweed rules and mappings under Warsh.
Keep red (xfail/skip) until Epic 4 turns them green.
Acceptance
Hafs characterization net green, wired into CI as the refactor gate.
Warsh expected-case suite committed, red, enumerating target behavior.
Parent: #27 · Plan
Goal: Build the safety net before refactoring, and the Warsh target before implementing. Two distinct nets.
2A — Hafs characterization net (start now, parallel)
phonemes_str,letter_phoneme_mappings,char_phoneme_mappings,tajweed_mappings,phonetic_text— broad representative reference set (stops, muqattaat, lafdh al-jalalah, hamza wasl, tanween-at-waqf, idgham/ikhfaa/iqlab).2B — Warsh expected cases (after 1b; red until Epic 4)
Acceptance