Skip to content

Epic 2 — Test nets (Hafs characterization + Warsh red cases) #31

Description

@Hetchy

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)

  • 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.

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions