# 100 User Scenarios for Functional Syntax Stress Testing

Date: 2026-06-19

This is a curated stress suite. It is designed to expose likely weak spots in the current analyzer, not to claim that every item is already a confirmed live failure.

Format per item:
- Sentence
- Expected category
- Likely failure family
- Fix family

## 1) Vocative and Command

1. Sentence: `يا أحمد تعال الآن` | Expected: `vocative` | Likely failure: vocative + imperative overlap | Fix family: prioritize vocative, then command.
2. Sentence: `يا دكتور هل المريض بخير؟` | Expected: `vocative` + `interrog_yes_no` | Likely failure: vocative steals question opener | Fix family: multi-marker precedence.
3. Sentence: `أيتها المعلمة اشرحي الدرس` | Expected: `vocative` | Likely failure: command tail treated as core clause | Fix family: vocative + imperative split.
4. Sentence: `أيها الطلاب انتبهوا جيدًا` | Expected: `vocative` | Likely failure: filler absorbed as core | Fix family: keep `جيدًا` as filler.
5. Sentence: `يا رب اغفر لي` | Expected: `vocative` | Likely failure: prayer imperative not modeled | Fix family: imperative after vocative.
6. Sentence: `يا أمي لقد وصلتُ` | Expected: `vocative` | Likely failure: `لقد` confuses topic/negation logic | Fix family: treat `لقد` as emphatic particle.
7. Sentence: `يا صاحب البيت تفضل` | Expected: `vocative` | Likely failure: idafa vocative merged into the main clause | Fix family: keep compound vocative intact.
8. Sentence: `يا زيد لا تتأخر` | Expected: `vocative` + negation | Likely failure: negation steals the vocative slot | Fix family: vocative before negation.
9. Sentence: `يا رجال الشرطة انتبهوا` | Expected: `vocative` | Likely failure: compound vocative flattened | Fix family: group vocative noun phrase.
10. Sentence: `يا خالد ثم تعال` | Expected: `vocative` + coordination | Likely failure: `ثم` forces coordination fallback | Fix family: vocative before sequential coordination.

## 2) Yes/No and Hamza Choice

11. Sentence: `هل فهمت الدرس؟` | Expected: `interrog_yes_no` | Likely failure: should be stable, but good regression | Fix family: keep yes/no opener priority.
12. Sentence: `أذهب خالد إلى المدرسة؟` | Expected: `interrog_yes_no` or verbal yes/no | Likely failure: initial hamza vs verb ambiguity | Fix family: derive opener vs verb by context.
13. Sentence: `أكان زيد في البيت أم في الدار؟` | Expected: `interrog_hamza_choice` | Likely failure: choice pattern swallowed by copula | Fix family: hamza-choice before copula fallback.
14. Sentence: `أأنت هنا؟` | Expected: `interrog_yes_no` | Likely failure: double hamza confused as error | Fix family: explicit hamza opener handling.
15. Sentence: `ألم يحضر الطالب؟` | Expected: `neg_lam` | Likely failure: yes/no opener steals negation | Fix family: `ألم/ألن` before generic question.
16. Sentence: `أليس الجو جميلًا؟` | Expected: `interrog_yes_no` | Likely failure: copula question misread as nominal | Fix family: `أليس` special-case.
17. Sentence: `أفي الدار زيد؟` | Expected: `interrog_yes_no` | Likely failure: preposition opener may look like fronting | Fix family: `أفي/أإلى` question opener.
18. Sentence: `هل يمكن أن تأتي غدًا؟` | Expected: `interrog_yes_no` + embedded complement | Likely failure: modal clause steals top category | Fix family: modal inside question.
19. Sentence: `هل ما زلت هنا؟` | Expected: `interrog_yes_no` | Likely failure: `ما` gets misread as negation | Fix family: opener over negation.
20. Sentence: `هل قرأت الكتاب أم لم تقرأه؟` | Expected: `interrog_hamza_choice` / yes-no choice | Likely failure: second clause misparsed as separate negation | Fix family: choice-question precedence.

## 3) Wh Questions

21. Sentence: `من جاء؟` | Expected: `interrog_wh_subject` | Likely failure: should be stable | Fix family: keep wh-subject opener.
22. Sentence: `من الذي جاء؟` | Expected: `interrog_wh_subject` + relative | Likely failure: relative pronoun steals the wh category | Fix family: wh-subject before relative.
23. Sentence: `من قابلتَ في السوق؟` | Expected: `interrog_wh_object` / subject-object ambiguity | Likely failure: object question can fall to transitive fallback | Fix family: handle initial `من` with verb later.
24. Sentence: `ماذا حصل للماء إذا تجمد؟` | Expected: `interrog_wh_object` + conditional | Likely failure: conditional tail merged into the object question | Fix family: wh + `إذا` branch.
25. Sentence: `ما نوع القطط التي يعتبرها الناس حظًا سيئًا؟` | Expected: `interrog_wh_object` + relative | Likely failure: becomes `vso_multi_argument` | Fix family: wh-nominal + relative clause path.
26. Sentence: `ما الحيوان الذي يطلق عليه اسم سفينة الصحراء؟` | Expected: `interrog_wh_object` + relative | Likely failure: `اسم` / relative can destabilize morphology | Fix family: noun overrides + relative path.
27. Sentence: `أين كان زيد مساء أمس؟` | Expected: `interrog_wh_place_time` | Likely failure: `كان` may force copula-only parse | Fix family: wh-place before copula.
28. Sentence: `متى يعود المسافر؟` | Expected: `interrog_wh_place_time` | Likely failure: straightforward but good regression | Fix family: keep place/time wh markers.
29. Sentence: `كيف أصبحتَ اليوم؟` | Expected: `interrog_wh_place_time` | Likely failure: `أصبحت` may trip copula logic | Fix family: wh-how over copula.
30. Sentence: `كم عدد ألوان قوس قزح` | Expected: `interrog_wh_object` | Likely failure: nominal quantitative question misread as verbal | Fix family: `كم` nominal question path.

## 4) Negation and Restriction

31. Sentence: `ما رجل في الدار` | Expected: `neg_ma` / nominal negation-like frame | Likely failure: plain nominal clause fallback | Fix family: special `ما` nominal pattern.
32. Sentence: `ما زار أحمد فاطمة بل مريم` | Expected: `neg_ma` | Likely failure: `بل` may flip to coordination | Fix family: contrastive `ما ... بل ...`.
33. Sentence: `ما مررت إلا بزيد` | Expected: `restrict_illa` | Likely failure: negation steals exception | Fix family: `إلا` before `ما` negation.
34. Sentence: `إنما المؤمنون إخوة` | Expected: `restrict_innama` | Likely failure: nominal predicate fallback | Fix family: special `إنما`.
35. Sentence: `لا يقرأ الطالب كثيرًا` | Expected: `neg_la` | Likely failure: current helper family policy may under-rank it | Fix family: keep helper negation stable.
36. Sentence: `لم ينجح أحمد` | Expected: `neg_lam` | Likely failure: should be stable | Fix family: keep past negation opener.
37. Sentence: `لن أسافر غدًا` | Expected: `neg_lam` | Likely failure: future negation can look like modal | Fix family: `لن` branch.
38. Sentence: `ما إن أتيت حتى جلست` | Expected: restriction / embedded contrast | Likely failure: split between negation and restriction | Fix family: special `ما إن` pattern.
39. Sentence: `لا بل هو صحيح` | Expected: `neg_la` + contrast | Likely failure: `بل` coordination steals negation | Fix family: contrastive negation path.
40. Sentence: `ما رأيت أحدًا` | Expected: `neg_ma` | Likely failure: object may pull into transitive fallback | Fix family: `ما` negation with verbal predicate.

## 5) Relative and Embedded Clauses

41. Sentence: `الرجل الذي رأيته في السوق طويل` | Expected: `relative_clause` | Likely failure: noun clause swallowed by fronting | Fix family: relative pronoun first.
42. Sentence: `الكتاب الذي قرأته مفيد` | Expected: `relative_clause` | Likely failure: should be stable | Fix family: keep relative clause detector.
43. Sentence: `المرأة التي ساعدتها شكرَتني` | Expected: `relative_clause` | Likely failure: resumptive pronoun may be misread as object | Fix family: relative + resumptive handling.
44. Sentence: `ما الحيوان الذي له خرطوم طويل جدًا` | Expected: `interrog_wh_object` + relative | Likely failure: wh-nominal question may fall to `relative_clause` | Fix family: wh-relative precedence.
45. Sentence: `من رأى الولد الذي يبكي؟` | Expected: `interrog_wh_subject` + relative | Likely failure: inner relative clause may steal the outer wh | Fix family: nested clause handling.
46. Sentence: `الرجل الذي أعطيته الكتاب وصل` | Expected: `relative_clause` | Likely failure: ditransitive inside relative clause | Fix family: relative + embedded transitive.
47. Sentence: `القطة التي في البيت نائمة` | Expected: `relative_clause` | Likely failure: prepositional predicate may fall to nominal fallback | Fix family: relative + PP predicate.
48. Sentence: `السيارة التي اشتريتها جديدة` | Expected: `relative_clause` | Likely failure: direct object/resumptive mismatch | Fix family: relative clause with resumptive object.
49. Sentence: `الطلاب الذين حضروا نجحوا` | Expected: `relative_clause` | Likely failure: plural relative pronoun handling | Fix family: plural relative pronoun support.
50. Sentence: `هذا هو الكتاب الذي أبحث عنه` | Expected: `topic_resumptive` + relative | Likely failure: topic/resumptive may swallow the relative tail | Fix family: layered topic + relative support.

## 6) Fronting and Focus

51. Sentence: `الشاي شرب خالد` | Expected: `fronted_object_focus` | Likely failure: intransitive fallback | Fix family: fronted nominal before verb.
52. Sentence: `الكتاب قرأه خالد` | Expected: `fronted_object_focus` | Likely failure: object pronoun/resumptive split | Fix family: fronted object + clitic object.
53. Sentence: `زيدا أعطيت الكتاب` | Expected: `fronted_object_focus` | Likely failure: transitive vs fronted-object confusion | Fix family: fronted accusative-looking noun.
54. Sentence: `الكتاب زيدا ناولت` | Expected: `fronted_object_focus` | Likely failure: ditransitive recipient collapse | Fix family: fronted ditransitive path.
55. Sentence: `في البيت نام الطفل` | Expected: `fronted_adjunct_focus` | Likely failure: PP opening treated as nominal predicate | Fix family: fronted adjunct before verb.
56. Sentence: `صباحًا وصل الضيف` | Expected: `fronted_adjunct_focus` | Likely failure: time adjunct can be miscoded as object | Fix family: fronted time phrase.
57. Sentence: `الليلة الماضية قرأت روايةً` | Expected: `fronted_adjunct_focus` | Likely failure: PP/time phrase compaction | Fix family: fronted time + event.
58. Sentence: `على الطاولة وضعت المفاتيح` | Expected: `fronted_adjunct_focus` | Likely failure: preposition may be treated as object slot | Fix family: PP-fronted focus.
59. Sentence: `من السوق اشتريت الفاكهة` | Expected: `fronted_adjunct_focus` | Likely failure: `من` can be wh-like in some contexts | Fix family: PP fronting vs wh-subject.
60. Sentence: `بالأمس عاد المسافر` | Expected: `fronted_adjunct_focus` | Likely failure: attached preposition may be missed | Fix family: attached PP fronting.

## 7) Topic, Resumptive, Nominal, Copula

61. Sentence: `هو زيد قائم` | Expected: `topic_resumptive` | Likely failure: `vso_multi_argument` or nominal predicate | Fix family: topic + resumptive precedence.
62. Sentence: `هذا الكتاب قرأته` | Expected: `topic_resumptive` | Likely failure: fronted object focus vs topic | Fix family: topic after demonstrative.
63. Sentence: `هو صحيح الهوى غلاب` | Expected: `topic_resumptive` | Likely failure: linked predicate merged into nominal clause | Fix family: linked predicate after topic.
64. Sentence: `قد نجح الطالب` | Expected: `topic_resumptive` | Likely failure: `قد` can look like modal/particle noise | Fix family: `قد` topic opener branch.
65. Sentence: `زيد أخوه متفوق في دراسته` | Expected: `topic_resumptive` | Likely failure: nominal predicate or multi-argument fallback | Fix family: resumptive nominal topic.
66. Sentence: `ظننت زيدا أبوه قائم` | Expected: `topic_resumptive` | Likely failure: embedded clause / multi-argument collision | Fix family: resumptive inside verb frame.
67. Sentence: `كان الجو جميلًا` | Expected: `copula_kana` | Likely failure: should be stable | Fix family: keep `كان` family.
68. Sentence: `زيد كان مسافرًا` | Expected: `copula_kana` | Likely failure: preposed topic may overrun copula pattern | Fix family: topic + copula split.
69. Sentence: `ليس الطالب غائبًا` | Expected: `copula_kana` / negated copula | Likely failure: `ليس` may be read as generic negation | Fix family: `ليس` as copula, not negation.
70. Sentence: `إن عمرو شاعر` | Expected: `nominal_predicate` | Likely failure: emphatic nominal clause should remain nominal | Fix family: `إن` opener + nominal predicate.

## 8) Verbal Families, Passive, Causative

71. Sentence: `استخرج الذهب من المنجم` | Expected: `vso_transitive` | Likely failure: intransitive fallback or PP confusion | Fix family: derived transitive `استفعل` path.
72. Sentence: `استقبلت العائلة الضيوف في البيت` | Expected: `vso_transitive` | Likely failure: `استفعل` transitive family drift | Fix family: keep derived transitive precedence.
73. Sentence: `أخرج الرجل زيدا من البيت` | Expected: `causative` | Likely failure: transitive fallback | Fix family: causative path before general transitive.
74. Sentence: `جعل خالد عمرا يطلق هندا` | Expected: `causative` | Likely failure: embedded complement competition | Fix family: causative + embedded clause.
75. Sentence: `تم جمع المعلومات بنجاح` | Expected: `passive_naib_faail` | Likely failure: passive vs impersonal modal | Fix family: `تم/تمت` passive rule.
76. Sentence: `انقتل الرجل البارحة` | Expected: `passive_naib_faail` | Likely failure: intransitive fallback | Fix family: passive morphology (`انفعل`).
77. Sentence: `كُتب الدرس في السبورة` | Expected: `passive_naib_faail` | Likely failure: should be stable | Fix family: passive vocalization branch.
78. Sentence: `لعب آسر بالكرة` | Expected: `vso_transitive` | Likely failure: name/subject spelling ambiguity | Fix family: tolerant proper-name recognition.
79. Sentence: `لعب اسر بالكره` | Expected: `vso_transitive` | Likely failure: spelling noise reduces morphology quality | Fix family: spelling-noise robustness.
80. Sentence: `زرع الفلاح الحقل ثم أخذ قسطا من الراحة ثم لعبت بالكرة` | Expected: `coordination` | Likely failure: sequential clauses merge into one verbal clause | Fix family: sequential `ثم` coordination.

## 9) Coordination, Riddle, Modal Complement

81. Sentence: `يمكن استخدام هذه البطاقات في دروس تعليم اللغة العربية` | Expected: `embedded_complement` | Likely failure: transitive fallback | Fix family: modal/impersonal path.
82. Sentence: `يمكن أن أستخدم هذه البطاقات في دروسي` | Expected: `embedded_complement` | Likely failure: modal + complement clause split | Fix family: modal + embedded clause.
83. Sentence: `زرتُ المعلم ثم أخذت القلم ثم عدتُ` | Expected: `coordination` | Likely failure: clause chaining can flatten | Fix family: sequential coordination.
84. Sentence: `ما قاله المعلم صحيح` | Expected: `relative_clause` / nominal | Likely failure: `ما` may be treated as negation | Fix family: relative/nominal `ما` distinction.
85. Sentence: `ما قابل زيد إلا عمرا اليوم` | Expected: `restrict_illa` | Likely failure: negation vs exception overlap | Fix family: `إلا` restriction precedence.
86. Sentence: `شيء له أوراق كثيرة لكنه ليس شجرة فما هو؟` | Expected: `riddle_multi_clause` | Likely failure: coordination or copula fallback | Fix family: riddle detection.
87. Sentence: `شيء نراه في السماء ليلاً لونه أبيض فما هو؟` | Expected: `riddle_multi_clause` | Likely failure: coordination fallback | Fix family: `فما هو` riddle branch.
88. Sentence: `ماذا يحدث لو تجمد الماء؟` | Expected: `interrog_wh_object` | Likely failure: conditional tail may be misread | Fix family: wh + conditional branch.
89. Sentence: `إذا تم تجميده يصبح صلبًا` | Expected: conditional embedded clause | Likely failure: passive + condition confusion | Fix family: condition opener before clause.
90. Sentence: `لو حضرتَ مبكرًا لنجحتَ` | Expected: conditional clause | Likely failure: not fully modeled by current categories | Fix family: add conditional family or keep as embedded complement.

## 10) Noise, Dialect, Malformed Input

91. Sentence: `فوزية راحت فين` | Expected: `interrog_wh_place_time` | Likely failure: dialectal `فين` may be okay, but not book-pure | Fix family: keep dialect optional.
92. Sentence: `ما هو الحيوان الذي يُطلق عليه اسم سفينة الصحراء؟` | Expected: `interrog_wh_object` + relative | Likely failure: nominal head can be over-compressed | Fix family: noun-headed wh-question support.
93. Sentence: `ما نوع القطط الّتي يعتبرها الأشخاص حظًا سيئًا؟` | Expected: `interrog_wh_object` + relative | Likely failure: diacritics / shadda handling | Fix family: diacritic-insensitive relative matching.
94. Sentence: `الاستقبال مهم جدًا` | Expected: `nominal_predicate` | Likely failure: masdar may be misread as verb-like | Fix family: lexical noun override.
95. Sentence: `توقيع اتفاقيات جديدة` | Expected: nominal phrase | Likely failure: wazn fallback can mislead POS | Fix family: noun/masdar override and no forced clause.
96. Sentence: `يعجبني هذا الكتاب كثيرًا` | Expected: embedded complement / clitic object | Likely failure: pronoun clitic and filler collapse | Fix family: embedded predicate with object clitic.
97. Sentence: `ما هذا؟` | Expected: `interrog_wh_object` / nominal question | Likely failure: too short for clause heuristics | Fix family: tiny-question fast path.
98. Sentence: `هذا الكتاب!` | Expected: nominal predicate | Likely failure: punctuation-only emphasis not modeled | Fix family: nominal short clause.
99. Sentence: `استلمتُ الرسالةَ، ثم غادرتُ` | Expected: coordination | Likely failure: punctuation and verb-family drift | Fix family: comma-aware sequential coordination.
100. Sentence: `يا أحمد، لو سمحت، أرسل الملف اليوم` | Expected: vocative + modal politeness + imperative | Likely failure: polite parenthetical may clutter core parse | Fix family: parenthetical/satellite handling.

## Fix Families To Prioritize

1. **Marker precedence**  
   Make sure vocative / wh / negation / restriction / coordination are resolved before generic verbal fallbacks.

2. **Derived-verb transitivity**  
   Keep `استفعل`-style predicates, passives, and causatives out of the intransitive fallback.

3. **Relative + wh nesting**  
   Handle `ما/من + relative pronoun + inner clause` as a wh frame, not as plain relative clause or transitive fallback.

4. **Fronting vs topic**  
   Distinguish fronted object focus from topic/resumptive patterns with a strict precedence order.

5. **Noise tolerance**  
   Add a spelling-robust path for proper names, missing hamza, and common typo variants.

6. **Riddle and multi-clause detection**  
   Keep `فما هو` / `لكن ليس ... فما هو` away from coordination or copula fallbacks.

7. **Conditional embedding**  
   Treat `إذا` / `لو` as clause-level markers instead of trailing noise.
