Skip to content

Epic 1b — Tajweed / linguistic research #30

Description

@Hetchy

Parent: #27 · Plan``

Goal: Document Warsh tajweed and orthography rules so a domain expert can verify and an AI agent can implement against the existing Hafs code. Research before code, diffed against Hafs (most rules are shared with only contextual differences).

Tasks:

  • For each tajweed rule, document the Warsh rule with 1-2 worked examples,
    optionally noting "same as Hafs" or the precise difference. Some examples:
    noon/tanween rules (idgham, ikhfaa, iqlab, izhar), meem sakinah, qalqala,
    lam (shamsiyah/qamariyah, lam of the name of Allah), raa heaviness/lightness,
    ghunnah, tafkheem/tarqeeq, and the madd family.
  • Madd lengths: document Warsh madd measures where they differ from Hafs
    (e.g. madd lazim, munfasil, badal).
  • Imala and other Warsh-characteristic phenomena: document occurrences and
    conditioning.
  • Special / contextual pronunciation cases (per-location overrides) for Warsh.
  • Stopping (waqf) and starting (ibtidaa) rules for Warsh.
  • Unique phonemes in this riwaya not present in the Hafs inventory, and suggested IPA (or otherwise) phoneme symbols.
  • Orthography differences and how they map to pronunciation.
  • Cite sources (books, recordings, videos) per rule so each is independently verifiable.

Acceptance

  • docs/warsh/research/[documents].md, structured rule-by-rule, examples, citations, Hafs relationship.
  • List of "new vs Hafs" deltas that becomes the Epic 2 Warsh test backlog and the Epic 4 implementation backlog.

Key existing references

docs/hafs/research/
quranic_phonemizer/resources/base_phonemes.yaml,
rule_phonemes.yaml, muqattaat.yaml, contextual_pronunciations.yaml,
quranic_phonemizer/tajweed_rule.py (the 33-rule enum),
tajweed-mappings.md, and the Hafs rule code under
quranic_phonemizer/symbols/letters/.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions