Paste one ayah or an entire surah, preserving the original Arabic orthography. The analysis runs on every token in order.
Input: ACE controller Arabic passage | 7 tokens
| NDCL-01 | Exact ND | NO MATCH | Alternative not matched |
| NDCL-02 | Prepend + ND | NO MATCH | Alternative not matched |
| NDCL-03 | ND + Append | NO MATCH | Alternative not matched |
| NDCL-04 | Prepend + ND + Append | NO MATCH | Alternative not matched |
| DCL-01 | Token Length | EVIDENCE | Token: يَقُولُونَ; source length field: 4 |
| DCL-02 | Suffix Removal | EVIDENCE | Physical suffix: ُونَ; families/indices: suff2 [3, 9]; suff_nouns [19] |
| DCL-03 | Length After Suffix Removal | EVIDENCE | Preserved stem after suffix removal: يَقُول |
| DCL-04 | Length Without Vowels | EVIDENCE | Normalized stem: يقول; reported structural length: 4 |
| DCL-05 | Root Candidates | EVIDENCE | Root candidates: قول, قيل |
| DCL-06 | Form Candidates | EVIDENCE | R006 Form candidates: 1 |
| DCL-07 | Form Identifier | EVIDENCE | R006 forms: 1; R007 voice: active-imperfect |
| DCL-08 | T Categories | EVIDENCE | R007 T candidates: 2 |
| DCL-09 | Person / Declension Index | EVIDENCE | Actual prefix: وَ; compatible Form.T.Index: 1.2.3; prefix-person compatibility applied by MOD-038 |
| DCL-10 | Dictionary Verification | EVIDENCE | Dictionary ROOT status: VALIDATED; matching record IDs: 2138, 2175; no full-token validation required |
| Feature | Existing / trace value |
|---|---|
| Full Token | وَيَقُولُونَ |
| R-L — Raw Length (code points including marks) | 12 |
| R-L — Raw Letter Count | 7 |
| Suffix Removed (upstream R001/R002) | ُونَ |
| R-U — Preserved Stem (with marks) | يَقُول |
| R-U — Normalized Stem | يقول |
| R-U Length (existing controller) | 4 |
| R006 Actual Prefix Removed | يَ |
| R006 Actual After Prefix | قُول |
| R006 Actual Prefix Arithmetic | 4 − 1 = 3 (يَ) |
| R006 Actual Form-Specific Marker Removed | None |
| R006 Actual After Form Removal | قُول |
| R006 Actual Form Arithmetic | 3 − 0 = 3 |
| R006 Form-Specific Adjustment Rationale | Form I imperfect: remove the matched person prefix; no Form-specific marker. |
| F-I — R006 Form Candidates | [1] |
| I-V — Internal Vowels (existing output) | NOT AVAILABLE |
| S-T — Physical Suffix Families | ["suff2","suff_nouns"] |
| S-I — Physical Suffix Indices | {"suff2":[3,9],"suff_nouns":[19]} |
| P-R — Existing Pattern Evidence | {"قول":{"prefix + radicals":"prefix + radicals","hollow w (imperfect)":"hollow w (imperfect)"},"قيل":{"hollow y (imperfect)":"hollow y (imperfect)"}} |
| R007 T Candidates | [2] |
| R008 Index (parsed from existing candidates) | [3] |
| R008 Form.T.Index Candidates | ["1.2.3"] |
| R008 Status | HYPOTHESIS |
| R008 Guard Accepted | [] |
| R008 Guard Rejected | [] |
| R008 Guard Unverified | [{"address":"1.2.3","r007_consistency":"SUPPORTED AS INDEX HYPOTHESIS","structural_guard":"UNVERIFIED: no complete pattern supplied"}] |
| Authoritative Full Pattern | NOT AVAILABLE |
| Authoritative Full Structural Units | NOT AVAILABLE |
| Prefix / S-I Synchronization (existing verdict) | NOT AVAILABLE |
| Stage | Execution | Outcome | Reason |
|---|---|---|---|
| R006 | HANDOFF_COMPLETE | STRUCTURAL HYPOTHESIS | Result retained in token diagnostic evidence |
| R007 | HANDOFF_COMPLETE | HYPOTHESIS | Result retained in token diagnostic evidence |
| R008 | HANDOFF_COMPLETE | HYPOTHESIS | Result retained in token diagnostic evidence |
| R009 | HANDOFF_COMPLETE | MIXED | Result retained in token diagnostic evidence |
| R010 | SKIPPED | Dictionary review queue is rendered after token loop; not a per-token verifier | |
| R011 | HANDOFF_COMPLETE | DIAGNOSTIC_RESULT | Read-only R011 results included in full diagnostic JSON |
{
"r011_mod151_read_only": {
"قول": {
"15": {
"status": "NOT_TESTED",
"matches": [],
"tested": 1,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"16": {
"status": "NOT_TESTED",
"matches": [],
"tested": 1,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"17": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": "NOT_TESTED",
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"18": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"19": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"20": {
"status": "NOT_TESTED",
"matches": [],
"tested": 18,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"21": {
"status": "NOT_TESTED",
"matches": [],
"tested": 3,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"22": {
"status": "NOT_TESTED",
"matches": [],
"tested": 3,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"23": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"24": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"25": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
}
},
"قيل": {
"15": {
"status": "NOT_TESTED",
"matches": [],
"tested": 1,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"16": {
"status": "NOT_TESTED",
"matches": [],
"tested": 1,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"17": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": "NOT_TESTED",
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"18": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"19": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"20": {
"status": "NOT_TESTED",
"matches": [],
"tested": 18,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"21": {
"status": "NOT_TESTED",
"matches": [],
"tested": 3,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"22": {
"status": "NOT_TESTED",
"matches": [],
"tested": 3,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"23": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"24": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"25": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
}
}
},
"stage_audit_mod151": [
{
"stage": "R006",
"state": "HANDOFF_COMPLETE",
"outcome": "STRUCTURAL HYPOTHESIS",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R007",
"state": "HANDOFF_COMPLETE",
"outcome": "HYPOTHESIS",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R008",
"state": "HANDOFF_COMPLETE",
"outcome": "HYPOTHESIS",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R009",
"state": "HANDOFF_COMPLETE",
"outcome": "MIXED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R010",
"state": "SKIPPED",
"outcome": null,
"reason": "Dictionary review queue is rendered after token loop; not a per-token verifier",
"calls": 0
},
{
"stage": "R011",
"state": "HANDOFF_COMPLETE",
"outcome": "DIAGNOSTIC_RESULT",
"reason": "Read-only R011 results included in full diagnostic JSON",
"calls": 1
}
],
"original_analysis_group": {
"token_no": 1,
"token": "وَيَقُولُونَ",
"expected": "",
"form": "",
"root_type": "surface-test",
"voice": "Undetermined",
"suffix": "ُونَ",
"pronoun": "",
"pronoun_role": "",
"analysis_token": "يَقُولُونَ",
"stem": "يَقُول",
"normalized_stem": "يقول",
"prefix": "وَ",
"nominal_prefix": "",
"nominal_core": "",
"stem_length": 4,
"root_candidates": [
"قول",
"قيل"
],
"root_patterns": {
"قول": {
"prefix + radicals": "prefix + radicals",
"hollow w (imperfect)": "hollow w (imperfect)"
},
"قيل": {
"hollow y (imperfect)": "hollow y (imperfect)"
}
},
"findings": {
"suff2": [
3,
9
],
"suff_nouns": [
19
]
},
"status": "Matched"
},
"r006": {
"form_candidates": [
1
],
"perfect_forms": [],
"evidence": {
"1": [
"I imperfect: person prefix + strong\/hollow template"
]
},
"structural_trace": {
"1": [
{
"source": "R006 primary suffix-stripped stem",
"matched_form": 1,
"matched_pattern": "I imperfect: person prefix + three-radical strong\/hollow template",
"stem_input": "يَقُول",
"physical_suffix_input": "ُونَ",
"full_input": "يَقُولُونَ",
"prefix_removed": "يَ",
"after_prefix": "قُول",
"form_marker_removed": "None",
"after_form_marker": "قُول",
"prefix_letter_count": 1,
"after_prefix_unit_count": 3,
"form_marker_letter_count": 0,
"remaining_letter_count": 3,
"form_marker_kind": "Form I imperfect: no derivational marker"
}
]
},
"status": "STRUCTURAL HYPOTHESIS"
},
"r008": {
"form_t_index_candidates": [
"1.2.3"
],
"index_candidates": [
3
],
"status": "HYPOTHESIS",
"comments": [],
"details": [
{
"form": 1,
"t": 2,
"index": 3,
"address": "1.2.3",
"source": "conservative imperfect ending fallback + imperfect person prefix ي"
}
]
},
"mod105_native_r008": {
"status": "HYPOTHESIS",
"candidates": [
"1.2.3"
]
},
"mod105_controller_retained_sources": [],
"r009": {
"original": "يَقُولُونَ",
"remaining": "يَقُول",
"r005_root_candidate": "",
"root_candidate": "",
"root_length": 0,
"accepted_root_candidates": [],
"accepted_root_count": 0,
"rejected_root_candidates": [
"قول",
"قيل"
],
"rejected_root_count": 2,
"accepted_details": [],
"rejected_details": [
{
"address": "1.2.3",
"form": 1,
"t": 2,
"index": 3,
"expected_radicals": 3,
"observed_radicals": 3,
"root_candidate": "قول",
"source": "R005 root_candidates",
"prefix": "",
"introductory": "",
"structural_body": "",
"pattern": "",
"status": "ORDER_COMPATIBLE",
"evidence": [
"Ordered letters compatible; not sufficient for verification",
"No dictionary or conjugator validation"
]
},
{
"address": "1.2.3",
"form": 1,
"t": 2,
"index": 3,
"expected_radicals": 3,
"observed_radicals": 3,
"root_candidate": "قيل",
"source": "R005 root_candidates",
"prefix": "",
"introductory": "",
"structural_body": "",
"pattern": "",
"status": "MISMATCH",
"evidence": [
"Root letters not present in original order",
"No dictionary or conjugator validation"
]
}
],
"accepted_roots_by_address": [],
"original_skeleton": "يقولون",
"stem_skeleton": "يقول",
"addresses": [
"1.2.3"
],
"details": [
{
"address": "1.2.3",
"form": 1,
"t": 2,
"index": 3,
"expected_radicals": 3,
"observed_radicals": 3,
"root_candidate": "قول",
"source": "R005 root_candidates",
"prefix": "",
"introductory": "",
"structural_body": "",
"pattern": "",
"status": "ORDER_COMPATIBLE",
"evidence": [
"Ordered letters compatible; not sufficient for verification",
"No dictionary or conjugator validation"
]
},
{
"address": "1.2.3",
"form": 1,
"t": 2,
"index": 3,
"expected_radicals": 3,
"observed_radicals": 3,
"root_candidate": "قيل",
"source": "R005 root_candidates",
"prefix": "",
"introductory": "",
"structural_body": "",
"pattern": "",
"status": "MISMATCH",
"evidence": [
"Root letters not present in original order",
"No dictionary or conjugator validation"
]
}
],
"status": "MIXED",
"comments": [
"Accepted roots: none; structural verification only, not dictionary or conjugator validation.",
"Preliminary\/incomplete candidates: 2 row(s); see rejected_details separately."
]
},
"r009_dictionary_exact_root_mod103": [],
"r007_text": "R006 Forms: 1; Voice: active-imperfect; T: 2; HYPOTHESIS",
"mod035_form_t_index": [
{
"code": "1.2.3",
"form": 1,
"t": 2,
"index": 3,
"family": "suff2",
"source": "R006 + R007 + physical suffix"
}
],
"r007_t_candidates": [
2
],
"r007_voice": "active-imperfect",
"r007_status": "HYPOTHESIS",
"nominal_evidence": "",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "VALIDATED",
"roots": [
"قول",
"قيل"
],
"records": [
{
"id": 2138,
"root": "قول"
},
{
"id": 2175,
"root": "قيل"
}
],
"reason": "Extracted root found in dictionary; no full-token comparison required"
},
"legacy_record_verification": {
"status": "VALIDATION_PENDING",
"records": [],
"root_records": [
{
"id": "2138",
"root": "قول"
},
{
"id": "2175",
"root": "قيل"
}
],
"roots": [
"قول",
"قيل"
],
"reason": "Generator adapter not connected or candidate untestable",
"tested": 0,
"untestable": 2
}
}{
"root": "قول",
"arabic": "قَالَ",
"english": "to say",
"urdu": "کہنا",
"root_type": "triliteral",
"form": 1,
"verbalnoun117": "قَوْل",
"verbalnoun2": "قِيل",
"verbalnoun3": "",
"activepast11": "قَالَ",
"activeimperfect12": "يَقُولُ",
"imperative113": "قُلْ",
"activeparticiple115": "قَائِل",
"passiveparticiple116": "مَقُول",
"passiveperfect17": "قِيلَ",
"passiveimperfect18": "يُقَالُ",
"activeheavyemphatic16": "لَيَقُولَنَّ"
}{
"root": "قيل",
"form": 1,
"root_type": "triliteral",
"arabic": "قيل",
"english": "to rest at midday",
"urdu": "دوپہر کو آرام کرنا",
"activepast11": "قَالَ",
"activeimperfect12": "يَقِيلُ",
"verbalnoun117": "قَيْلُولَة"
}| NDCL-01 | Exact ND | NO MATCH | Alternative not matched |
| NDCL-02 | Prepend + ND | NO MATCH | Alternative not matched |
| NDCL-03 | ND + Append | NO MATCH | Alternative not matched |
| NDCL-04 | Prepend + ND + Append | NO MATCH | Alternative not matched |
| DCL-01 | Token Length | EVIDENCE | Token: وَيَقُولُونَ; source length field: 5 |
| DCL-02 | Suffix Removal | EVIDENCE | Physical suffix: ُونَ; families/indices: suff2 [3, 9]; suff_nouns [19] |
| DCL-03 | Length After Suffix Removal | EVIDENCE | Preserved stem after suffix removal: وَيَقُول |
| DCL-04 | Length Without Vowels | EVIDENCE | Normalized stem: ويقول; reported structural length: 5 |
| DCL-05 | Root Candidates | EVIDENCE | Root candidates: none reported |
| DCL-06 | Form Candidates | EVIDENCE | R006 Form candidates: none reported |
| DCL-07 | Form Identifier | EVIDENCE | R006 forms: unresolved; R007 voice: undetermined |
| DCL-08 | T Categories | EVIDENCE | R007 T candidates: none reported |
| DCL-09 | Person / Declension Index | EVIDENCE | Actual prefix: (none); compatible Form.T.Index: none reported; prefix-person compatibility applied by MOD-038 |
| DCL-10 | Dictionary Verification | EVIDENCE | Dictionary ROOT status: NO_ROOT_CANDIDATE; matching record IDs: none; no full-token validation required |
| Feature | Existing / trace value |
|---|---|
| Full Token | وَيَقُولُونَ |
| R-L — Raw Length (code points including marks) | 12 |
| R-L — Raw Letter Count | 7 |
| Suffix Removed (upstream R001/R002) | ُونَ |
| R-U — Preserved Stem (with marks) | وَيَقُول |
| R-U — Normalized Stem | ويقول |
| R-U Length (existing controller) | 5 |
| Prefix (controller fallback) | NOT AVAILABLE |
| R006 Actual Prefix Removed | NOT AVAILABLE |
| R006 Actual After Prefix | NOT AVAILABLE |
| R006 Actual Prefix Arithmetic | NOT AVAILABLE |
| R006 Actual Form-Specific Marker Removed | NOT AVAILABLE |
| R006 Actual After Form Removal | NOT AVAILABLE |
| R006 Actual Form Arithmetic | NOT AVAILABLE |
| R006 Form-Specific Adjustment Rationale | NOT AVAILABLE |
| F-I — R006 Form Candidates | [] |
| I-V — Internal Vowels (existing output) | NOT AVAILABLE |
| S-T — Physical Suffix Families | ["suff2","suff_nouns"] |
| S-I — Physical Suffix Indices | {"suff2":[3,9],"suff_nouns":[19]} |
| P-R — Existing Pattern Evidence | [] |
| R007 T Candidates | [] |
| R008 Index (parsed from existing candidates) | [] |
| R008 Form.T.Index Candidates | [] |
| R008 Status | UNRESOLVED |
| R008 Guard Accepted | [] |
| R008 Guard Rejected | [] |
| R008 Guard Unverified | [] |
| Authoritative Full Pattern | NOT AVAILABLE |
| Authoritative Full Structural Units | NOT AVAILABLE |
| Prefix / S-I Synchronization (existing verdict) | NOT AVAILABLE |
| Stage | Execution | Outcome | Reason |
|---|---|---|---|
| R006 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R007 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R008 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R009 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R010 | SKIPPED | Dictionary review queue is rendered after token loop; not a per-token verifier | |
| R011 | HANDOFF_COMPLETE | DIAGNOSTIC_RESULT | Read-only R011 results included in full diagnostic JSON |
{
"r011_mod151_read_only": {
"": {
"15": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 1,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"16": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 1,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"17": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": "NOT_TESTED",
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"18": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 2,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"19": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 2,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"20": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 18,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"21": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 3,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"22": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 3,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"23": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 2,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"24": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"25": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
}
}
},
"stage_audit_mod151": [
{
"stage": "R006",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R007",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R008",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R009",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R010",
"state": "SKIPPED",
"outcome": null,
"reason": "Dictionary review queue is rendered after token loop; not a per-token verifier",
"calls": 0
},
{
"stage": "R011",
"state": "HANDOFF_COMPLETE",
"outcome": "DIAGNOSTIC_RESULT",
"reason": "Read-only R011 results included in full diagnostic JSON",
"calls": 1
}
],
"original_analysis_group": {
"token_no": 1,
"token": "وَيَقُولُونَ",
"expected": "",
"form": "",
"root_type": "surface-test",
"voice": "Undetermined",
"suffix": "ُونَ",
"pronoun": "",
"pronoun_role": "",
"analysis_token": "وَيَقُولُونَ",
"stem": "وَيَقُول",
"normalized_stem": "ويقول",
"prefix": "",
"nominal_prefix": "",
"nominal_core": "",
"stem_length": 5,
"root_candidates": [],
"root_patterns": [],
"findings": {
"suff2": [
3,
9
],
"suff_nouns": [
19
]
},
"status": "Matched"
},
"r006": {
"form_candidates": [],
"perfect_forms": [],
"evidence": [],
"structural_trace": [],
"status": "UNRESOLVED"
},
"r008": {
"form_t_index_candidates": [],
"index_candidates": [],
"status": "UNRESOLVED",
"comments": [],
"details": []
},
"mod105_native_r008": {
"status": "UNRESOLVED",
"candidates": []
},
"mod105_controller_retained_sources": [],
"r009": {
"original": "وَيَقُولُونَ",
"remaining": "وَيَقُول",
"r005_root_candidate": "",
"root_candidate": "",
"root_length": 0,
"accepted_root_candidates": [],
"accepted_root_count": 0,
"rejected_root_candidates": [],
"rejected_root_count": 0,
"accepted_details": [],
"rejected_details": [],
"accepted_roots_by_address": [],
"original_skeleton": "ويقولون",
"stem_skeleton": "ويقول",
"addresses": [],
"details": [],
"status": "UNRESOLVED",
"comments": [
"No R008 Form.T.Index hypothesis to verify"
]
},
"r009_dictionary_exact_root_mod103": [],
"r007_text": "R006 Forms: unresolved; Voice: undetermined; T: unresolved; R006 UNRESOLVED",
"mod035_form_t_index": [],
"r007_t_candidates": [],
"r007_voice": "undetermined",
"r007_status": "R006 UNRESOLVED",
"nominal_evidence": "",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "NO_ROOT_CANDIDATE",
"roots": [],
"records": [],
"reason": "No extracted root candidate"
},
"legacy_record_verification": {
"status": "NO_ROOT_CANDIDATE",
"records": [],
"roots": [],
"reason": "R005 produced no root candidate"
}
}| NDCL-01 | Exact ND | PASS | ND | + مَتَى + |
| NDCL-02 | Prepend + ND | NO MATCH | Alternative not matched |
| NDCL-03 | ND + Append | NO MATCH | Alternative not matched |
| NDCL-04 | Prepend + ND + Append | NO MATCH | Alternative not matched |
| DCL-01 | Token Length | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-02 | Suffix Removal | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-03 | Length After Suffix Removal | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-04 | Length Without Vowels | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-05 | Root Candidates | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-06 | Form Candidates | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-07 | Form Identifier | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-08 | T Categories | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-09 | Person / Declension Index | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-10 | Dictionary Verification | NOT REQUIRED | ND recognized; derived analysis bypassed |
| Feature | Existing / trace value |
|---|---|
| Full Token | مَتَى |
| R-L — Raw Length (code points including marks) | 5 |
| R-L — Raw Letter Count | 3 |
| Suffix Removed (upstream R001/R002) | NOT AVAILABLE |
| R-U — Preserved Stem (with marks) | مَتَى |
| R-U — Normalized Stem | مَتَى |
| R-U Length (existing controller) | NOT AVAILABLE |
| Prefix (controller fallback) | NOT AVAILABLE |
| R006 Actual Prefix Removed | NOT AVAILABLE |
| R006 Actual After Prefix | NOT AVAILABLE |
| R006 Actual Prefix Arithmetic | NOT AVAILABLE |
| R006 Actual Form-Specific Marker Removed | NOT AVAILABLE |
| R006 Actual After Form Removal | NOT AVAILABLE |
| R006 Actual Form Arithmetic | NOT AVAILABLE |
| R006 Form-Specific Adjustment Rationale | NOT AVAILABLE |
| F-I — R006 Form Candidates | NOT AVAILABLE |
| I-V — Internal Vowels (existing output) | NOT AVAILABLE |
| S-T — Physical Suffix Families | [] |
| S-I — Physical Suffix Indices | [] |
| P-R — Existing Pattern Evidence | [] |
| R007 T Candidates | NOT AVAILABLE |
| R008 Index (parsed from existing candidates) | NOT AVAILABLE |
| R008 Form.T.Index Candidates | NOT AVAILABLE |
| R008 Status | NOT AVAILABLE |
| R008 Guard Accepted | NOT AVAILABLE |
| R008 Guard Rejected | NOT AVAILABLE |
| R008 Guard Unverified | NOT AVAILABLE |
| Authoritative Full Pattern | NOT AVAILABLE |
| Authoritative Full Structural Units | NOT AVAILABLE |
| Prefix / S-I Synchronization (existing verdict) | NOT AVAILABLE |
| Stage | Execution | Outcome | Reason |
|---|---|---|---|
| R006 | SKIPPED | ND token: derived morphology stage not applicable | |
| R007 | SKIPPED | ND token: derived morphology stage not applicable | |
| R008 | SKIPPED | ND token: derived morphology stage not applicable | |
| R009 | SKIPPED | ND token: derived morphology stage not applicable | |
| R010 | SKIPPED | Dictionary review queue is rendered after token loop; not a per-token verifier | |
| R011 | SKIPPED | ND token: derived morphology stage not applicable |
{
"r011_mod151_read_only": [],
"stage_audit_mod151": [
{
"stage": "R006",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R007",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R008",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R009",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R010",
"state": "SKIPPED",
"outcome": null,
"reason": "Dictionary review queue is rendered after token loop; not a per-token verifier",
"calls": 0
},
{
"stage": "R011",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
}
],
"original_analysis_group": {
"token_no": 2,
"token": "مَتَى",
"expected": "",
"form": "",
"root_type": "ND",
"voice": "ND",
"suffix": "",
"stem": "مَتَى",
"normalized_stem": "مَتَى",
"prefix": "",
"stem_length": null,
"root_candidates": [],
"root_patterns": [],
"findings": [],
"status": "ND EXACT: 29.5",
"nd_english": "when",
"nd_urdu": "کب",
"nd_category": "interrogative",
"nd_subcategory": "interrogative adverb",
"nd_pos": "adverb"
},
"r006": {
"form_candidates": [],
"structural_trace": []
},
"r008": {
"status": "NOT_RUN",
"form_t_index_candidates": [],
"comments": []
},
"mod105_native_r008": {
"status": "NOT_RUN",
"candidates": []
},
"mod105_controller_retained_sources": [],
"r009": {
"status": "NOT_RUN",
"accepted_roots_by_address": [],
"details": [],
"comments": []
},
"r009_dictionary_exact_root_mod103": [],
"r007_text": "ND — outside derived R007",
"mod035_form_t_index": [],
"r007_t_candidates": [],
"r007_voice": "undetermined",
"r007_status": "R006 UNRESOLVED",
"nominal_evidence": "",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "ND",
"roots": [],
"records": [],
"reason": "Non-declinable token"
},
"legacy_record_verification": {
"status": "ND",
"records": [],
"roots": [],
"reason": "Non-derived entity"
}
}| NDCL-01 | Exact ND | PASS | ND | + هَٰذَا + |
| NDCL-02 | Prepend + ND | NO MATCH | Alternative not matched |
| NDCL-03 | ND + Append | NO MATCH | Alternative not matched |
| NDCL-04 | Prepend + ND + Append | NO MATCH | Alternative not matched |
| DCL-01 | Token Length | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-02 | Suffix Removal | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-03 | Length After Suffix Removal | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-04 | Length Without Vowels | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-05 | Root Candidates | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-06 | Form Candidates | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-07 | Form Identifier | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-08 | T Categories | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-09 | Person / Declension Index | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-10 | Dictionary Verification | NOT REQUIRED | ND recognized; derived analysis bypassed |
| Feature | Existing / trace value |
|---|---|
| Full Token | هَذَا |
| R-L — Raw Length (code points including marks) | 5 |
| R-L — Raw Letter Count | 3 |
| Suffix Removed (upstream R001/R002) | NOT AVAILABLE |
| R-U — Preserved Stem (with marks) | هَٰذَا |
| R-U — Normalized Stem | هَٰذَا |
| R-U Length (existing controller) | NOT AVAILABLE |
| Prefix (controller fallback) | NOT AVAILABLE |
| R006 Actual Prefix Removed | NOT AVAILABLE |
| R006 Actual After Prefix | NOT AVAILABLE |
| R006 Actual Prefix Arithmetic | NOT AVAILABLE |
| R006 Actual Form-Specific Marker Removed | NOT AVAILABLE |
| R006 Actual After Form Removal | NOT AVAILABLE |
| R006 Actual Form Arithmetic | NOT AVAILABLE |
| R006 Form-Specific Adjustment Rationale | NOT AVAILABLE |
| F-I — R006 Form Candidates | NOT AVAILABLE |
| I-V — Internal Vowels (existing output) | NOT AVAILABLE |
| S-T — Physical Suffix Families | [] |
| S-I — Physical Suffix Indices | [] |
| P-R — Existing Pattern Evidence | [] |
| R007 T Candidates | NOT AVAILABLE |
| R008 Index (parsed from existing candidates) | NOT AVAILABLE |
| R008 Form.T.Index Candidates | NOT AVAILABLE |
| R008 Status | NOT AVAILABLE |
| R008 Guard Accepted | NOT AVAILABLE |
| R008 Guard Rejected | NOT AVAILABLE |
| R008 Guard Unverified | NOT AVAILABLE |
| Authoritative Full Pattern | NOT AVAILABLE |
| Authoritative Full Structural Units | NOT AVAILABLE |
| Prefix / S-I Synchronization (existing verdict) | NOT AVAILABLE |
| Stage | Execution | Outcome | Reason |
|---|---|---|---|
| R006 | SKIPPED | ND token: derived morphology stage not applicable | |
| R007 | SKIPPED | ND token: derived morphology stage not applicable | |
| R008 | SKIPPED | ND token: derived morphology stage not applicable | |
| R009 | SKIPPED | ND token: derived morphology stage not applicable | |
| R010 | SKIPPED | Dictionary review queue is rendered after token loop; not a per-token verifier | |
| R011 | SKIPPED | ND token: derived morphology stage not applicable |
{
"r011_mod151_read_only": [],
"stage_audit_mod151": [
{
"stage": "R006",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R007",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R008",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R009",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R010",
"state": "SKIPPED",
"outcome": null,
"reason": "Dictionary review queue is rendered after token loop; not a per-token verifier",
"calls": 0
},
{
"stage": "R011",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
}
],
"original_analysis_group": {
"token_no": 3,
"token": "هَذَا",
"expected": "",
"form": "",
"root_type": "ND",
"voice": "ND",
"suffix": "",
"stem": "هَٰذَا",
"normalized_stem": "هَٰذَا",
"prefix": "",
"stem_length": null,
"root_candidates": [],
"root_patterns": [],
"findings": [],
"status": "ND EXACT: 26.1",
"nd_english": "this (masc. sg.)",
"nd_urdu": "یہ (مذکر)",
"nd_category": "demonstrative",
"nd_subcategory": "proximal demonstrative pronoun",
"nd_pos": "pronoun"
},
"r006": {
"form_candidates": [],
"structural_trace": []
},
"r008": {
"status": "NOT_RUN",
"form_t_index_candidates": [],
"comments": []
},
"mod105_native_r008": {
"status": "NOT_RUN",
"candidates": []
},
"mod105_controller_retained_sources": [],
"r009": {
"status": "NOT_RUN",
"accepted_roots_by_address": [],
"details": [],
"comments": []
},
"r009_dictionary_exact_root_mod103": [],
"r007_text": "ND — outside derived R007",
"mod035_form_t_index": [],
"r007_t_candidates": [],
"r007_voice": "undetermined",
"r007_status": "R006 UNRESOLVED",
"nominal_evidence": "",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "ND",
"roots": [],
"records": [],
"reason": "Non-declinable token"
},
"legacy_record_verification": {
"status": "ND",
"records": [],
"roots": [],
"reason": "Non-derived entity"
}
}| NDCL-01 | Exact ND | NO MATCH | Alternative not matched |
| NDCL-02 | Prepend + ND | NO MATCH | Alternative not matched |
| NDCL-03 | ND + Append | NO MATCH | Alternative not matched |
| NDCL-04 | Prepend + ND + Append | NO MATCH | Alternative not matched |
| DCL-01 | Token Length | EVIDENCE | Token: فَتْحُ; source length field: 3 |
| DCL-02 | Suffix Removal | EVIDENCE | Physical suffix: ُ; families/indices: suff2 [1, 4, 7, 13, 14]; suff_nouns [4] |
| DCL-03 | Length After Suffix Removal | EVIDENCE | Preserved stem after suffix removal: فَتْح |
| DCL-04 | Length Without Vowels | EVIDENCE | Normalized stem: فتح; reported structural length: 3 |
| DCL-05 | Root Candidates | EVIDENCE | Root candidates: فتح |
| DCL-06 | Form Candidates | EVIDENCE | R006 Form candidates: none reported |
| DCL-07 | Form Identifier | EVIDENCE | R006 forms: unresolved; R007 voice: undetermined |
| DCL-08 | T Categories | EVIDENCE | R007 T candidates: none reported |
| DCL-09 | Person / Declension Index | EVIDENCE | Actual prefix: ٱلْ; compatible Form.T.Index: none reported; prefix-person compatibility applied by MOD-038 |
| DCL-10 | Dictionary Verification | EVIDENCE | Dictionary ROOT status: VALIDATED; matching record IDs: 2016; no full-token validation required |
| Feature | Existing / trace value |
|---|---|
| Full Token | ٱلْفَتْحُ |
| R-L — Raw Length (code points including marks) | 9 |
| R-L — Raw Letter Count | 5 |
| Suffix Removed (upstream R001/R002) | ُ |
| R-U — Preserved Stem (with marks) | فَتْح |
| R-U — Normalized Stem | فتح |
| R-U Length (existing controller) | 3 |
| Prefix (controller fallback) | ٱلْ |
| R006 Actual Prefix Removed | NOT AVAILABLE |
| R006 Actual After Prefix | NOT AVAILABLE |
| R006 Actual Prefix Arithmetic | NOT AVAILABLE |
| R006 Actual Form-Specific Marker Removed | NOT AVAILABLE |
| R006 Actual After Form Removal | NOT AVAILABLE |
| R006 Actual Form Arithmetic | NOT AVAILABLE |
| R006 Form-Specific Adjustment Rationale | NOT AVAILABLE |
| F-I — R006 Form Candidates | [] |
| I-V — Internal Vowels (existing output) | NOT AVAILABLE |
| S-T — Physical Suffix Families | ["suff2","suff_nouns"] |
| S-I — Physical Suffix Indices | {"suff2":[1,4,7,13,14],"suff_nouns":[4]} |
| P-R — Existing Pattern Evidence | {"فتح":{"three radicals":"three radicals"}} |
| R007 T Candidates | [] |
| R008 Index (parsed from existing candidates) | [] |
| R008 Form.T.Index Candidates | [] |
| R008 Status | UNRESOLVED |
| R008 Guard Accepted | [] |
| R008 Guard Rejected | [] |
| R008 Guard Unverified | [] |
| Authoritative Full Pattern | NOT AVAILABLE |
| Authoritative Full Structural Units | NOT AVAILABLE |
| Prefix / S-I Synchronization (existing verdict) | NOT AVAILABLE |
| Stage | Execution | Outcome | Reason |
|---|---|---|---|
| R006 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R007 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R008 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R009 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R010 | SKIPPED | Dictionary review queue is rendered after token loop; not a per-token verifier | |
| R011 | HANDOFF_COMPLETE | DIAGNOSTIC_RESULT | Read-only R011 results included in full diagnostic JSON |
{
"r011_mod151_read_only": {
"فتح": {
"15": {
"status": "NOT_TESTED",
"matches": [],
"tested": 1,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"16": {
"status": "NOT_TESTED",
"matches": [],
"tested": 1,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"17": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": "NOT_TESTED",
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"18": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"19": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"20": {
"status": "YES",
"matches": [
{
"id": "1.20.fa3l",
"form": 1,
"template": "{r0}َ{r1}ْ{r2}",
"expected": "فَتْح",
"status": "confirmed",
"matched_stem": "فَتْح",
"segmentation": [
"definite_article",
"terminal_case_removed"
]
},
{
"id": "R011.T20.fa3l",
"form": 1,
"template": "{r0}َ{r1}ْ{r2}",
"expected": "فَتْح",
"status": "structural_candidate",
"matched_stem": "فَتْح",
"segmentation": [
"definite_article",
"terminal_case_removed"
]
}
],
"tested": 18,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [
{
"root": "فتح",
"pattern_id": "1.20.fa3l",
"form": 1,
"t": 20,
"matched_stem": "فَتْح",
"segmentation": [
"definite_article",
"terminal_case_removed"
],
"status": "STRUCTURAL_CANDIDATE"
},
{
"root": "فتح",
"pattern_id": "R011.T20.fa3l",
"form": 1,
"t": 20,
"matched_stem": "فَتْح",
"segmentation": [
"definite_article",
"terminal_case_removed"
],
"status": "STRUCTURAL_CANDIDATE"
}
],
"t21_recovered_roots": []
},
"21": {
"status": "NOT_TESTED",
"matches": [],
"tested": 3,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"22": {
"status": "NOT_TESTED",
"matches": [],
"tested": 3,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"23": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"24": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"25": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [
"definite_article_al",
"hamzat_al_wasl"
],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
}
}
},
"stage_audit_mod151": [
{
"stage": "R006",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R007",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R008",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R009",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R010",
"state": "SKIPPED",
"outcome": null,
"reason": "Dictionary review queue is rendered after token loop; not a per-token verifier",
"calls": 0
},
{
"stage": "R011",
"state": "HANDOFF_COMPLETE",
"outcome": "DIAGNOSTIC_RESULT",
"reason": "Read-only R011 results included in full diagnostic JSON",
"calls": 1
}
],
"original_analysis_group": {
"token_no": 4,
"token": "ٱلْفَتْحُ",
"expected": "",
"form": "",
"root_type": "surface-test",
"voice": "Undetermined",
"suffix": "ُ",
"pronoun": "",
"pronoun_role": "",
"analysis_token": "فَتْحُ",
"stem": "فَتْح",
"normalized_stem": "فتح",
"prefix": "ٱلْ",
"nominal_prefix": "al",
"nominal_core": "فَتْحُ",
"stem_length": 3,
"root_candidates": [
"فتح"
],
"root_patterns": {
"فتح": {
"three radicals": "three radicals"
}
},
"findings": {
"suff2": [
1,
4,
7,
13,
14
],
"suff_nouns": [
4
]
},
"status": "Matched"
},
"r006": {
"form_candidates": [],
"perfect_forms": [],
"evidence": [],
"structural_trace": [],
"status": "UNRESOLVED"
},
"r008": {
"form_t_index_candidates": [],
"index_candidates": [],
"status": "UNRESOLVED",
"comments": [],
"details": []
},
"mod105_native_r008": {
"status": "UNRESOLVED",
"candidates": []
},
"mod105_controller_retained_sources": [],
"r009": {
"original": "فَتْحُ",
"remaining": "فَتْح",
"r005_root_candidate": "",
"root_candidate": "",
"root_length": 0,
"accepted_root_candidates": [],
"accepted_root_count": 0,
"rejected_root_candidates": [],
"rejected_root_count": 0,
"accepted_details": [],
"rejected_details": [],
"accepted_roots_by_address": [],
"original_skeleton": "فتح",
"stem_skeleton": "فتح",
"addresses": [],
"details": [],
"status": "UNRESOLVED",
"comments": [
"No R008 Form.T.Index hypothesis to verify"
]
},
"r009_dictionary_exact_root_mod103": [],
"r007_text": "R006 Forms: unresolved; Voice: undetermined; T: unresolved; UNRESOLVED + NOMINAL EVIDENCE (overlaps retained)",
"mod035_form_t_index": [],
"r007_t_candidates": [],
"r007_voice": "undetermined",
"r007_status": "UNRESOLVED + NOMINAL EVIDENCE (overlaps retained)",
"nominal_evidence": "definite article",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "VALIDATED",
"roots": [
"فتح"
],
"records": [
{
"id": 2016,
"root": "فتح"
}
],
"reason": "Extracted root found in dictionary; no full-token comparison required"
},
"legacy_record_verification": {
"status": "VALIDATION_PENDING",
"records": [],
"root_records": [
{
"id": "2016",
"root": "فتح"
}
],
"roots": [
"فتح"
],
"reason": "Generator adapter not connected or candidate untestable",
"tested": 0,
"untestable": 1
}
}{
"root": "فتح",
"arabic": "فتح",
"root_type": "triliteral",
"form": 1,
"english": "to open, conquer",
"urdu": "کھولنا",
"activepast11": "فَتَحَ",
"activeimperfect12": "يَفْتَحُ",
"imperative113": "افْتَحْ",
"verbalnoun117": "فَتْح",
"activeparticiple115": "فَاتِح",
"passiveparticiple116": "مُنْفَتَح",
"english2": "to open intensely or repeatedly",
"english3": "to conquer, to prevail",
"english4": "to cause to open, to inaugurate",
"english5": "to open oneself, to be opened",
"english6": "to engage in mutual opening or struggle",
"english7": "to be opened (passive)",
"english8": "to open thoroughly or explore",
"english9": "not applicable (rare with this root)",
"english10": "to seek to open, to seek victory",
"urdu2": "بار بار یا شدت سے کھولنا",
"urdu3": "فتح پانا \/ غالب آنا",
"urdu4": "افتتاح کرنا \/ کھولنے کا باعث بننا",
"urdu5": "اپنے آپ کو کھولنا \/ کھل جانا",
"urdu6": "باہمی فتح یا کشادگی حاصل کرنا",
"urdu7": "کھل جانا",
"urdu8": "مکمل طور پر کھولنا \/ دریافت کرنا",
"urdu9": "اس روٹ میں عام نہیں",
"urdu10": "فتح حاصل کرنے کی کوشش کرنا \/ نصرت مانگنا",
"latin12": "yaftaHu",
"meaning12": "he opens \/ is opening",
"example12": "يَفْتَحُ الْبَابَ كُلَّ صَبَاحٍ",
"verse12": "Surah Saba 34:26",
"context12": "He opens the door every morning.",
"activepast21": "فَتَّحَ",
"latin21": "fattaHa",
"meaning21": "he opened repeatedly",
"verse21": "Surah Al-Hijr 15:14",
"context21": "We opened the gates of the sky...",
"activepast31": "فَاتَحَ",
"latin31": "faataHa",
"meaning31": "he challenged (or opened in contest)",
"verse31": "Surah As-Saffat 37:171–173",
"context31": "He engaged the enemy in open battle.",
"activepast41": "أَفْتَحَ",
"latin41": "yuftiH",
"meaning41": "he caused to open",
"verse41": "Surah Al-A‘raf 7:40",
"context41": "...the gates of Heaven will not be opened for them...",
"activepast51": "تَفَتَّحَ",
"latin51": "tafattaHa",
"meaning51": "it opened up (passive\/reflexive)",
"verse51": "Surah Az-Zumar 39:73",
"context51": "Its gates had been opened...",
"activepast61": "تَفَاتَحَ",
"latin61": "tafātaHa",
"meaning61": "they opened to one another \/ challenged",
"source61": "Classical usage",
"context61": "They exchanged speech openly.",
"activepast71": "انْفَتَحَ",
"latin71": "inFataHa",
"meaning71": "it was opened",
"note7": "Not directly used in Qur’an, but appears in classical usage",
"activepast81": "افْتَتَحَ",
"latin81": "iftaftaHtum",
"meaning81": "you sought victory",
"verse81": "Implied meaning",
"context81": "If you sought victory - then victory has come to you...",
"activepast101": "اسْتَفْتَحَ",
"latin101": "istaftaHa",
"meaning101": "he sought victory or judgment",
"verse101": "Surah Al-A‘raf 7:89",
"context101": "They sought judgment (or victory).",
"latin11": "fataHa",
"meaning11": "he opened",
"example11": "فَتَحَ اللَّهُ عَلَيْهِمْ",
"verse11": "Implied across Qur’anic contexts",
"context11": "Allah opened for them [victory, guidance, etc.].",
"example21": "فَتَّحْنَا أَبْوَابَ السَّمَاءِ",
"example31": "فَاتَحَ الْعَدُوَّ فِي الْقِتَالِ",
"source31": "Classical usage",
"example4": "أَفْتَحَ اللَّهُ الْأَبْوَابَ",
"verse4": "Surah Al-A‘raf 7:40 (passive)",
"context4": "Allah opened the gates...",
"example51": "تَفَتَّحَتْ أَبْوَابُهَا",
"example61": "تَفَاتَحُوا بِالْكَلَامِ",
"latin7": "inFataHa",
"meaning7": "it was opened",
"example7": "انْفَتَحَ الْبَابُ",
"source7": "Classical usage",
"context7": "The door was opened.",
"latin8": "iftaTaHa",
"meaning8": "he inaugurated, opened formally",
"example8": "افْتَتَحَ الْمَسْجِدَ",
"context8": "He inaugurated the mosque.",
"note9": "Form IX is inapplicable to this root (used for colors\/defects only).",
"example101": "اسْتَفْتَحُوا",
"activeimperfect22": "يُفَتِّحُ",
"latin22": "yufattiHu",
"meaning22": "he opens intensively \/ unlocks thoroughly",
"example22": "يُفَتِّحُ الْكِتَابَ بَعْدَ الْمُعَلِّمِ",
"context22": "He thoroughly opens the book after the teacher.",
"activeimperfect32": "يُفَاتِحُ",
"latin32": "yufātiHu",
"meaning32": "he initiates \/ negotiates",
"example32": "يُفَاتِحُهُ فِي الْمَوْضُوعِ",
"context32": "He initiates discussion on the topic.",
"activeimperfect42": "يُفْتِحُ",
"latin42": "yuftiHu",
"meaning42": "he causes to open",
"example42": "يُفْتِحُ الْبَابَ بِالْمِفْتَاحِ",
"context42": "He unlocks the door with the key.",
"activeimperfect52": "يَتَفَتَّحُ",
"latin52": "yatafattaHu",
"meaning52": "it opens gradually \/ blooms",
"example52": "يَتَفَتَّحُ الزَّهْرُ فِي الرَّبِيعِ",
"context52": "The flower blooms in spring.",
"activeimperfect62": "يَتَفَاتَحُ",
"latin62": "yatafātaHu",
"meaning62": "he mutually opens \/ engages",
"example62": "يَتَفَاتَحُونَ فِي الْحِوَارِ",
"context62": "They are mutually engaging in discussion.",
"activeimperfect72": "يَنْفَتِحُ",
"latin72": "yanfatiHu",
"meaning72": "it opens (by itself)",
"example72": "يَنْفَتِحُ الْبَابُ بِسُهُولَةٍ",
"context72": "The door opens easily.",
"activeimperfect82": "يَفْتَتِحُ",
"latin82": "yaftatiHu",
"meaning82": "he inaugurates \/ opens formally",
"example82": "يَفْتَتِحُ الْمُؤْتَمَرَ الرَّئِيسُ",
"context82": "The president inaugurates the conference.",
"note92": "Form IX is not used with this root (typically for colors or physical traits).",
"activeimperfect102": "يَسْتَفْتِحُ",
"latin102": "yastaftiHu",
"meaning102": "he seeks opening \/ judgment",
"example102": "يَسْتَفْتِحُ عَلَى الْقَوْمِ",
"context102": "He seeks judgment against the people.",
"activesubjunctive13": "لِيَفْتَحَ",
"latin13": "liyaftaHa",
"meaning13": "so that he may open",
"example13": "لِيَفْتَحَ اللَّهُ بَيْنَنَا",
"context13": "So that Allah may decide between us.",
"note13": "Typical Qur’anic structure: لِي + فعل مضارع منصوب",
"activesubjunctive23": "لِيُفَتِّحَ",
"latin23": "liyufattiHa",
"meaning23": "so that he may open repeatedly",
"example23": "دُعَاء: اللَّهُمَّ افْتَحْ لَنَا أَبْوَابَ رَحْمَتِكَ",
"context23": "A supplication: O Allah, open for us the doors of Your mercy.",
"note23": "Inferred from regular subjunctive formation; not in Qur’an explicitly.",
"activesubjunctive33": "لِيُفَاتِحَ",
"latin33": "liyufātiHa",
"meaning33": "so that he may initiate (battle\/dialogue)",
"example33": "قَدْ يَفَاتِحُ الْعَدُوَّ إِذَا طَالَ الْخِصَامُ",
"context33": "He may initiate against the enemy if the conflict prolongs.",
"note33": "From classical usage of Form III (mutual interaction).",
"activesubjunctive43": "لِيُفْتِحَ",
"latin43": "liyuftiHa",
"meaning43": "so that he may open (cause to open)",
"example43": "لِيُفْتِحَ بَيْنَكُمْ",
"context43": "So that He may decide between you (i.e., open judgment).",
"verse43": "Surah Al-Anfal 8:19 (contextual)",
"activesubjunctive53": "لِيَتَفَتَّحَ",
"latin53": "liyatafattaHa",
"meaning53": "so that it may open up (passively)",
"example53": "الدُّعَاء: لِيَتَفَتَّحَ قَلْبِي لِلْعِلْمِ",
"context53": "So that my heart may open up to knowledge.",
"activesubjunctive63": "لِيَتَفَاتَحَ",
"latin63": "liyatafātaHa",
"meaning64": "he does not engage in mutual openness \/ challenge",
"example64": "لَا يَتَفَاتَحِ الْقَوْمُ إِلَّا عِنْدَ الْأَمْنِ",
"context64": "The people do not open up to each other unless there is safety.",
"activesubjunctive73": "لِيَنْفَتِحَ",
"latin73": "liyanfatiHa",
"meaning73": "so that it may be opened",
"example73": "لِيَنْفَتِحَ الْبَابُ",
"context73": "So that the door may be opened.",
"activesubjunctive83": "لِيَفْتَتِحَ",
"latin83": "liyaftatiHa",
"meaning83": "so that he may inaugurate or explore",
"example83": "لِيَفْتَتِحَ مَجَالًا جَدِيدًا",
"context83": "So that he may open a new field (e.g., of knowledge).",
"activesubjunctive93": "",
"activesubjunctive103": "لِيَسْتَفْتِحَ",
"latin103": "liyastaftiHa",
"meaning103": "so that he may seek judgment or victory",
"example103": "لِيَسْتَفْتِحَ رَبَّهُ عَلَى الْقَوْمِ الْبَاطِلِينَ",
"context103": "So that he may ask his Lord to judge the wrongdoers.",
"verse103": "Similar usage in Surah Al-A‘raf 7:89",
"activejussive14": "يَفْتَحْ",
"latin14": "yaftaH",
"meaning14": "he does not open \/ let him open",
"example14": "وَإِنْ يَفْتَحِ اللَّهُ لَكُمْ",
"context14": "And if Allah opens [a way] for you...",
"verse14": "Derived structure — common jussive usage with conditional particles",
"activejussive24": "يُفَتِّحْ",
"latin24": "yufattiH",
"meaning24": "he does not open repeatedly",
"example24": "وَلَا يُفَتِّحْ لَهُ الْبَابُ",
"context24": "The door shall not be opened for him.",
"note24": "Form II jussive is regular; appears in classical usage.",
"activejussive34": "يُفَاتِحْ",
"latin34": "yufātiH",
"meaning34": "he should not confront or initiate",
"example34": "لَا يُفَاتِحِ الْعَدُوَّ إِلَّا بِإِذْنٍ",
"context34": "He should not confront the enemy except with permission.",
"activejussive44": "يُفْتِحْ",
"meaning44": "he should not open \/ may not cause to open",
"example44": "إِنْ يُفْتِحِ اللَّهُ عَلَيْهِمْ",
"context44": "If Allah opens upon them...",
"activejussive54": "يَتَفَتَّحْ",
"latin55": "layatafattaHanna",
"meaning55": "it will indeed open up",
"example55": "لَيَتَفَتَّحَنَ الْقَلْبُ لِلنُّورِ",
"context55": "The heart will indeed open to the light.",
"activejussive64": "يَتَفَاتَحْ",
"latin64": "yatafātaH",
"activejussive74": "يَنْفَتِحْ",
"latin74": "yanfatiH",
"meaning74": "it should not be opened",
"example74": "إِنْ لَمْ يَنْفَتِحِ الْبَابُ، فَاصْبِرْ",
"context74": "If the door does not open, then be patient.",
"activejussive84": "يَفْتَتِحْ",
"latin84": "yaftatiH",
"meaning84": "he should not begin \/ inaugurate",
"example84": "لَا يَفْتَتِحِ الْجَلْسَةَ حَتَّى يَجِيءَ الْقَاضِي",
"context84": "Do not begin the session until the judge arrives.",
"note94": "Form IX is not applicable to this root; it is for colors and defects.",
"activejussive104": "يَسْتَفْتِحْ",
"latin104": "yastaftiH",
"meaning104": "he should not seek judgment \/ decision",
"example104": "فَلَا يَسْتَفْتِحِ الْمُؤْمِنُ عَلَى أَخِيهِ",
"context104": "Let the believer not seek judgment against his brother.",
"activelightemphatic15": "لَيَفْتَحَنَ",
"latin15": "layaftaHanna",
"meaning15": "he will indeed open",
"example15": "لَيَفْتَحَنَ اللَّهُ لَكُمْ بَابًا",
"context15": "Allah will indeed open a door for you.",
"activelightemphatic25": "لَيُفَتِّحَنَ",
"latin25": "layufattiHanna",
"meaning25": "he will indeed open thoroughly",
"example25": "لَيُفَتِّحَنَ كُلَّ الْأَبْوَابِ",
"context25": "He will indeed open all the doors.",
"activelightemphatic35": "لَيُفَاتِحَنَ",
"latin35": "layufātiHanna",
"meaning35": "he will indeed confront or initiate",
"example35": "لَيُفَاتِحَنَ الْعَدُوَّ غَدًا",
"context35": "He will indeed confront the enemy tomorrow.",
"activelightemphatic45": "لَيُفْتِحَنَ",
"latin45": "layuftiHanna",
"meaning45": "he will indeed cause to open",
"example45": "لَيُفْتِحَنَ اللَّهُ بَيْنَ النَّاسِ",
"context45": "Allah will indeed open judgment between the people.",
"activelightemphatic55": "لَيَتَفَتَّحَنَ",
"activelightemphatic65": "لَيَتَفَاتَحَنَ",
"latin65": "layatafātaHanna",
"meaning65": "they will indeed open to one another",
"example65": "لَيَتَفَاتَحَنَ النَّاسُ فِي الْمَجْلِسِ",
"context65": "The people will indeed open up in the gathering.",
"activelightemphatic75": "لَيَنْفَتِحَنَ",
"latin75": "layanfatiHanna",
"meaning75": "it will indeed be opened",
"example75": "لَيَنْفَتِحَنَ الْبَابُ إِذَا صَبَرْتَ",
"context75": "The door will indeed be opened if you are patient.",
"activelightemphatic85": "لَيَفْتَتِحَنَ",
"latin85": "layaftatiHanna",
"meaning85": "he will indeed inaugurate \/ formally open",
"example85": "لَيَفْتَتِحَنَ الْجَلْسَةَ فِي السَّاعَةِ الْعَاشِرَةِ",
"context85": "He will indeed inaugurate the session at 10 o’clock.",
"note95": "Form IX is not valid for this root and has no emphatic usage.",
"activelightemphatic510": "لَيَسْتَفْتِحَنَ",
"latin510": "yutafattaH",
"meaning510": "that it not open gradually",
"example510": "لَمْ يُتَفَتَّحْ الزَّهْرُ",
"context510": "The flower did not blossom.",
"activeheavyemphatic16": "لَيَفْتَحَنَّ",
"latin16": "layaftaHanna",
"meaning16": "he will surely open",
"example16": "لَيَفْتَحَنَّ اللَّهُ لَنَا",
"context16": "Allah will surely open the way for us.",
"activeheavyemphatic26": "لَيُفَتِّحَنَّ",
"latin26": "layufattiHanna",
"meaning26": "he will surely open repeatedly",
"example26": "لَيُفَتِّحَنَّ الْبَابَ أَخِيرًا",
"context26": "He will surely open the door eventually.",
"activeheavyemphatic36": "لَيُفَاتِحَنَّ",
"latin36": "layufātiHanna",
"meaning36": "he will surely confront \/ initiate",
"example36": "لَيُفَاتِحَنَّ الْخَصْمَ غَدًا",
"context36": "He will surely confront the opponent tomorrow.",
"activeheavyemphatic46": "لَيُفْتِحَنَّ",
"latin46": "layuftiHanna",
"meaning46": "he will surely cause to open",
"example46": "لَيُفْتِحَنَّ اللَّهُ بَيْنَ النَّاسِ",
"context46": "Allah will surely open judgment between people.",
"activeheavyemphatic56": "لَيَتَفَتَّحَنَّ",
"latin56": "layatafattaHanna",
"meaning56": "it will surely open up",
"example": "لَيَتَفَتَّحَنَّ قَلْبُهُ لِلْهِدَايَةِ",
"context": "The door is opened (reflexively or passively).",
"activeheavyemphatic66": "لَيَتَفَاتَحَنَّ",
"latin66": "yatafātaHanna",
"meaning66": "they will surely open up to one another",
"example66": "لَيَتَفَاتَحَنَّ الْقَوْمُ عَلَى الصِّدْقِ",
"context66": "The people will surely be open with truth.",
"activeheavyemphatic76": "لَيَنْفَتِحَنَّ",
"latin76": "layanfatiHanna",
"meaning76": "it will surely be opened",
"example76": "لَيَنْفَتِحَنَّ الْبَابُ بِدُعَائِكَ",
"context76": "The door will surely be opened by your prayer.",
"activeheavyemphatic86": "لَيَفْتَتِحَنَّ",
"latin86": "layaftatiHanna",
"meaning86": "he will surely inaugurate",
"example86": "لَيَفْتَتِحَنَّ الْمُؤْتَمَرَ قَرِيبًا",
"context86": "He will surely inaugurate the conference soon.",
"note96": "Form IX is inapplicable for this root and does not support emphatic tense.",
"activeheavyemphatic106": "لَيَسْتَفْتِحَنَّ",
"latin106": "layastaftiHanna",
"meaning106": "he will surely seek judgment or victory",
"example106": "لَيَسْتَفْتِحَنَّ عَلَى الظَّالِمِينَ",
"context106": "He will surely seek judgment against the wrongdoers.",
"passiveperfect17": "فُتِحَ",
"latin17": "futiHa",
"meaning17": "it was opened",
"example17": "فُتِحَ الْبَابُ",
"context17": "The door was opened.",
"passiveperfect27": "فُتِّحَ",
"latin27": "futtiHa",
"meaning27": "it was opened thoroughly",
"example27": "فُتِّحَتْ أَبْوَابُ السَّمَاءِ",
"context27": "The gates of heaven were opened.",
"passiveperfect37": "فُوتِحَ",
"latin37": "fūtiHa",
"meaning37": "he was confronted \/ engaged",
"example37": "فُوتِحَ بِالْقَوْلِ",
"context37": "He was addressed (engaged in speech).",
"passiveperfect47": "أُفْتِحَ",
"latin47": "uftiHa",
"meaning47": "it was caused to open",
"example47": "أُفْتِحَ الْكِتَابُ",
"context47": "The book was caused to be opened.",
"passiveperfect57": "تُفُتِّحَ",
"latin57": "tufuttiHa",
"meaning57": "it was opened up repeatedly",
"example57": "تُفُتِّحَتْ زُهُورُ الرَّبِيعِ",
"context57": "The spring flowers were blossomed.",
"passiveperfect67": "تُفُوتِحَ",
"latin67": "tufūtiHa",
"meaning67": "they were mutually opened \/ confronted",
"example67": "تُفُوتِحَ الْجَيْشَانِ",
"context67": "The two armies were mutually engaged.",
"passiveperfect87": "افْتُتِحَ",
"latin87": "iftutiHa",
"meaning87": "it was inaugurated \/ opened",
"example87": "افْتُتِحَ الْمَشْرُوعُ الرَّسْمِيّ",
"context87": "The official project was inaugurated.",
"note97": "Form IX is not used with this root and does not have a passive perfect form.",
"passiveperfect107": "اسْتُفْتِحَ",
"latin107": "ustuftiHa",
"meaning107": "judgment \/ opening was sought",
"example107": "اسْتُفْتِحَ عَلَى الْقَوْمِ",
"context107": "Judgment was sought against the people.",
"passiveimperfect18": "يُفْتَحُ",
"latin18": "yuftaHu",
"meaning18": "it is being opened \/ will be opened",
"example18": "يُفْتَحُ الْبَابُ كُلَّ يَوْمٍ",
"context18": "The door is opened every day.",
"passiveimperfect28": "يُفَتَّحُ",
"latin28": "yufattaHu",
"meaning28": "it is being opened thoroughly",
"example28": "يُفَتَّحُ الْمَسْرَحُ فِي الْمَسَاءِ",
"context28": "The theater is opened in the evening.",
"passiveimperfect38": "يُفَاتَحُ",
"latin38": "yufātaHu",
"meaning38": "he is being confronted \/ engaged",
"example38": "يُفَاتَحُ فِي الْمَوْضُوعِ قَرِيبًا",
"context38": "He will be approached on the topic soon.",
"passiveimperfect48": "يُفْتَحُ",
"latin48": "yuftaHu",
"meaning48": "it is caused to open",
"example48": "يُفْتَحُ الْكِتَابُ أَوَّلًا",
"context48": "The book is first opened.",
"passiveimperfect58": "يُتَفَتَّحُ",
"latin58": "yutafattaHu",
"meaning58": "it is being blossomed \/ opened gradually",
"example58": "يُتَفَتَّحُ الزَّهْرُ فِي الرَّبِيعِ",
"context58": "The flower blossoms in spring.",
"passiveimperfect68": "يُتَفَاتَحُ",
"latin68": "yutafātaHu",
"meaning68": "they are being engaged with one another",
"example68": "يُتَفَاتَحُ الْفَرِيقَانِ بِالْمُبَارَاةِ",
"context68": "The two teams are engaging in the match.",
"note78": "Form VII does not have a imperfect form. It is inherently passive\/reflexive.",
"passiveimperfect88": "يُفْتَتَحُ",
"latin88": "yuftataHu",
"meaning88": "it is being inaugurated",
"example88": "يُفْتَتَحُ الْمَعْرِضُ غَدًا",
"context88": "The exhibition will be inaugurated tomorrow.",
"note98": "Form IX is not used with this root and has no passiveimperfect imperfect.",
"passiveimperfect108": "يُسْتَفْتَحُ",
"latin108": "yustaftaHu",
"meaning108": "judgment or opening is sought (imperfectly)",
"example108": "يُسْتَفْتَحُ عَلَى الظَّالِمِينَ",
"context108": "Judgment is being sought against the oppressors.",
"passivesubjunctive19": "يُفْتَحَ",
"latin19": "yuftaHa",
"meaning19": "that it may be opened",
"example19": "لَنْ يُفْتَحَ الْبَابُ",
"context19": "The door will not be opened.",
"passivesubjunctive29": "يُفَتَّحَ",
"latin29": "yufattaHa",
"meaning29": "that it may be opened thoroughly",
"example29": "لَنْ يُفَتَّحَ الْمَجَالُ لِلنِّقَاشِ",
"context29": "The floor will not be opened for discussion.",
"passivesubjunctive39": "يُفَاتَحَ",
"latin39": "yufātaHa",
"meaning39": "that he may be confronted",
"example39": "لَنْ يُفَاتَحَ بِهَذَا الْأَمْرِ",
"context39": "He will not be approached with this matter.",
"passivesubjunctive49": "يُفْتَحَ",
"latin49": "yuftaHa",
"meaning49": "that it may be caused to open",
"example49": "لَنْ يُفْتَحَ الْكِتَابُ حَتَّى تَحْضُرَ",
"context49": "The book will not be opened until you arrive.",
"passivesubjunctive59": "يُتَفَتَّحَ",
"latin59": "yutafattaHa",
"meaning59": "that it may be opened gradually",
"example59": "لَنْ يُتَفَتَّحَ الزَّهْرُ فِي الشِّتَاءِ",
"context59": "The flower will not blossom in winter.",
"passivesubjunctive69": "يُتَفَاتَحَ",
"latin69": "yutafātaHa",
"meaning69": "that they may open to one another",
"example69": "لَنْ يُتَفَاتَحَ الطَّرَفَانِ بِحُلُولٍ",
"context69": "The two sides will not engage in solutions.",
"note79": "Form VII does not have a passive voice; it is inherently passive.",
"passivesubjunctive89": "يُفْتَتَحَ",
"latin89": "yuftataHa",
"meaning89": "that it may be inaugurated",
"example89": "لَنْ يُفْتَتَحَ الْمَعْرِضُ قَبْلَ الْوَقْتِ",
"context89": "The exhibition will not be inaugurated before time.",
"note99": "Form IX is not used with this root and has no passive usage.",
"passivesubjunctive109": "يُسْتَفْتَحَ",
"latin109": "yustaftaHa",
"meaning109": "that judgment may be sought",
"example109": "لَنْ يُسْتَفْتَحَ عَلَى الظَّالِمِ",
"context109": "Judgment will not be sought against the oppressor.",
"passivejussive110": "يُفْتَحْ",
"latin110": "yuftaH",
"meaning110": "that it be not opened \/ let it not be opened",
"example110": "لَمْ يُفْتَحْ الْبَابُ",
"context110": "The door was not opened.",
"passivejussive210": "يُفَتَّحْ",
"latin210": "yufattaH",
"meaning210": "that it not be opened thoroughly",
"example210": "لَمْ يُفَتَّحْ الْبَابُ بَعْدُ",
"context210": "The door has not been opened thoroughly yet.",
"passivejussive310": "يُفَاتَحْ",
"latin310": "yufātaH",
"meaning310": "that he not be confronted",
"example310": "لَمْ يُفَاتَحْ فِي الْمَوْضُوعِ",
"context310": "He was not approached on the matter.",
"passivejussive410": "يُفْتَحْ",
"latin410": "yuftaH",
"meaning410": "that it not be caused to open",
"example410": "لَمْ يُفْتَحْ الْكِتَابُ",
"context410": "The book was not opened.",
"passivejussive510": "يُتَفَتَّحْ",
"passivejussive610": "يُتَفَاتَحْ",
"latin610": "yutafātaH",
"meaning610": "that they not engage \/ open mutually",
"example610": "لَمْ يُتَفَاتَحْ الْفَرِيقَانِ",
"context610": "The two teams did not engage.",
"note710": "Form VII does not have a passive jussive; it is inherently passive.",
"passivejussive810": "يُفْتَتَحْ",
"latin810": "yuftataH",
"meaning810": "that it not be inaugurated",
"example810": "لَمْ يُفْتَتَحْ الْمَعْرِضُ",
"context810": "The exhibition was not inaugurated.",
"note910": "Form IX is not used with this root and does not have a jussive form.",
"passivejussive1010": "يُسْتَفْتَحْ",
"latin1010": "yustaftaH",
"meaning1010": "that judgment not be sought",
"example1010": "لَمْ يُسْتَفْتَحْ عَلَى الْقَوْمِ",
"context1010": "Judgment was not sought against the people.",
"passivelightemphatic111": "لَيُفْتَحَنَ",
"latin111": "layuftaHana",
"meaning111": "surely it will be opened (light emphasis)",
"example111": "لَيُفْتَحَنَ الْبَابُ",
"context111": "The door shall indeed be opened.",
"passivelightemphatic211": "لَيُفَتَّحَنَ",
"latin211": "layufattaHana",
"meaning211": "surely it will be opened thoroughly (light emphasis)",
"example211": "لَيُفَتَّحَنَ الْكِتَابُ",
"context211": "The book shall surely be opened.",
"passivelightemphatic311": "لَيُفَاتَحَنَ",
"latin311": "layufātaHana",
"meaning311": "surely he will be approached (light emphasis)",
"example311": "لَيُفَاتَحَنَ بِالْقَرَارِ",
"context311": "Surely he will be approached with the decision.",
"passivelightemphatic411": "لَيُفْتَحَنَ",
"latin411": "layuftaHana",
"meaning411": "surely it will be made to open (light emphasis)",
"example411": "لَيُفْتَحَنَ الْمَلَفُّ",
"context411": "The file shall certainly be opened.",
"passivelightemphatic511": "لَيُتَفَتَّحَنَ",
"latin511": "layutafattaHana",
"meaning511": "surely it will open up gradually (light emphasis)",
"example511": "لَيُتَفَتَّحَنَ الزَّهْرُ",
"context511": "The flower will certainly blossom.",
"passivelightemphatic611": "لَيُتَفَاتَحَنَ",
"latin611": "layutafātaHana",
"meaning611": "surely mutual opening will happen (light emphasis)",
"example611": "لَيُتَفَاتَحَنَ الطَّرَفَانِ",
"context611": "Surely the two parties will engage.",
"note711": "Form VII does not have passive passiveemphatic forms.",
"passivelightemphatic811": "لَيُفْتَتَحَنَ",
"latin811": "layuftataHana",
"meaning811": "surely it will be inaugurated (light emphasis)",
"example811": "لَيُفْتَتَحَنَ الْمَعْرِضُ",
"context811": "The exhibition will indeed be inaugurated.",
"note811": "Form IX is not used with this root.",
"passivelightemphatic1011": "لَيُسْتَفْتَحَنَ",
"latin1011": "layustaftaHana",
"meaning1011": "surely judgment will be sought (light emphasis)",
"example1011": "لَيُسْتَفْتَحَنَ عَلَى الْقَوْمِ",
"context1011": "Surely judgment will be sought against the people.",
"passiveheavyemphatic112": "لَيُفْتَحَنَّ",
"latin112": "layuftaHanna",
"meaning112": "surely it will be opened",
"example112": "لَيُفْتَحَنَّ الْبَابُ",
"context112": "Surely the door will be opened.",
"passiveheavyemphatic212": "لَيُفَتَّحَنَّ",
"latin212": "layufattaHanna",
"meaning212": "surely it will be opened thoroughly",
"example212": "لَيُفَتَّحَنَّ الْبَابُ فِي الْوَقْتِ",
"context212": "Surely the door will be fully opened on time.",
"passiveheavyemphatic312": "لَيُفَاتَحَنَّ",
"latin312": "layufātaHanna",
"meaning312": "surely he will be approached",
"example312": "لَيُفَاتَحَنَّ بِالْقَرَارِ",
"context312": "Surely he will be approached about the decision.",
"passiveheavyemphatic412": "لَيُفْتَحَنَّ",
"latin412": "layuftaHanna",
"meaning412": "surely it will be made to open",
"example412": "لَيُفْتَحَنَّ الْكِتَابُ",
"context412": "Surely the book will be opened.",
"passiveheavyemphatic512": "لَيُتَفَتَّحَنَّ",
"latin512": "layutafattaHanna",
"meaning512": "surely it will be opened gradually",
"example512": "لَيُتَفَتَّحَنَّ الزَّهْرُ",
"context512": "Surely the flower will bloom.",
"passiveheavyemphatic612": "لَيُتَفَاتَحَنَّ",
"latin612": "layutafātaHanna",
"meaning612": "surely mutual opening will occur",
"example612": "لَيُتَفَاتَحَنَّ الطَّرَفَانِ",
"context612": "Surely the two sides will engage in dialogue.",
"note712": "Form VII has no passiveheavy usage; heavy emphatic not applicable.",
"passiveheavyemphatic812": "لَيُفْتَتَحَنَّ",
"latin812": "layuftataHanna",
"meaning812": "surely it will be inaugurated",
"example812": "لَيُفْتَتَحَنَّ الْمَعْرِضُ",
"context812": "Surely the exhibition will be inaugurated.",
"note912": "Form IX is not used with this root and has no passive emphatic usage.",
"passiveheavyemphatic1012": "لَيُسْتَفْتَحَنَّ",
"latin1012": "layustaftaHanna",
"meaning1012": "surely judgment will be sought",
"example1012": "لَيُسْتَفْتَحَنَّ عَلَى الْقَوْمِ",
"context1012": "Surely judgment will be sought against the people.",
"latin113": "iftaH",
"meaning113": "open!",
"example113": "افْتَحْ الْبَابَ!",
"context113": "Open the door!",
"imperative2": "فَتِّحْ",
"latin213": "fattiH",
"meaning213": "open repeatedly \/ thoroughly!",
"example213": "فَتِّحِ الْكِتَابَ وَاقْرَأْ!",
"context213": "Open the book thoroughly and read!",
"imperative3": "فَاتِحْ",
"latin313": "faatiH",
"meaning313": "initiate \/ confront!",
"example313": "فَاتِحِ الْقَوْمَ بِالْحَقِّ!",
"context313": "Confront the people with truth!",
"imperative4": "أَفْتِحْ",
"latin413": "aftiH",
"meaning413": "cause to open!",
"example413": "أَفْتِحْ لَهُ الطَّرِيقَ!",
"context413": "Make the way open for him!",
"imperative5": "تَفَتَّحْ",
"latin513": "tafattaH",
"meaning514": "do not open up (gradually)",
"example514": "لَا تَتَفَتَّحْ قَبْلَ الْوَقْتِ",
"context514": "Do not open (yourself) before the time.",
"imperative6": "تَفَاتَحْ",
"latin613": "tafātaH",
"meaning613": "open to one another!",
"example613": "تَفَاتَحُوا بِالصِّدْقِ!",
"context613": "Speak openly with truth!",
"note713": "Form VII (passive reflexive) generally **has no imperative** form due to its meaning and structure.",
"imperative8": "افْتَتِحْ",
"latin813": "iftatiH",
"meaning813": "inaugurate \/ open formally!",
"example813": "افْتَتِحِ الْمُؤْتَمَرَ!",
"context813": "Inaugurate the conference!",
"note913": "Form IX is used for colors and defects and **does not have an imperative** for this root.",
"imperative1013": "اسْتَفْتِحْ",
"latin1013": "istaftiH",
"meaning1013": "seek judgment \/ opening!",
"example1013": "اسْتَفْتِحِ اللَّهَ فِي أَمْرِكَ!",
"context1013": "Seek judgment from Allah in your matter!",
"prohibitive114": "لَا تَفْتَحْ",
"latin114": "lā taftaH",
"meaning114": "do not open",
"example114": "لَا تَفْتَحْ الْبَابَ",
"context114": "Do not open the door.",
"prohibitive214": "لَا تُفَتِّحْ",
"latin214": "lā tufattiH",
"meaning214": "do not open thoroughly",
"example214": "لَا تُفَتِّحْ الْكِتَابَ بَعْدُ",
"context214": "Do not open the book yet.",
"prohibitive314": "لَا تُفَاتِحْ",
"latin314": "lā tufātiH",
"meaning314": "do not initiate discussion \/ confrontation",
"example314": "لَا تُفَاتِحْهُ فِي هَذَا الْمَوْضُوعِ",
"context314": "Do not confront him on this topic.",
"prohibitive414": "لَا تُفْتِحْ",
"latin414": "lā tuftiH",
"meaning414": "do not cause to open",
"example414": "لَا تُفْتِحْ الْبَابَ قَبْلَ الْإِذْنِ",
"context414": "Do not open the door without permission.",
"prohibitive514": "لَا تَتَفَتَّحْ",
"latin514": "lā tatafattaH",
"prohibitive614": "لَا تَتَفَاتَحْ",
"latin614": "lā tatafātaH",
"meaning614": "do not engage in mutual opening\/discussion",
"example614": "لَا تَتَفَاتَحْ مَعَهُ فِي الْأَمْرِ",
"context614": "Do not engage him in this matter.",
"note714": "Form VII is passive-reflexive. Prohibitive\/imperative forms are not applicable in Arabic grammar.",
"prohibitive814": "لَا تَفْتَتِحْ",
"latin814": "lā taftatiH",
"meaning814": "do not inaugurate \/ commence",
"example814": "لَا تَفْتَتِحْ الْمُؤْتَمَرَ بِدُونِ خُطْبَةٍ",
"context814": "Do not commence the conference without a speech.",
"note914": "Form IX is used for colors and physical conditions. Prohibitive forms are not used for this root.",
"prohibitive1014": "لَا تَسْتَفْتِحْ",
"latin1014": "lā tastaftiH",
"meaning1014": "do not seek judgment \/ opening",
"example1014": "لَا تَسْتَفْتِحْ عَلَيْهِمْ",
"context1014": "Do not seek judgment against them.",
"latin115": "fātiH",
"meaning115": "opener, conqueror",
"example115": "هُوَ فَاتِحُ الْبَابِ",
"context115": "He is the one who opens the door.",
"activeparticiple215": "مُفَتِّح",
"latin215": "mufattiH",
"meaning215": "intensely opening, thorough opener",
"example215": "هُوَ مُفَتِّحُ الْكِتَابِ",
"context215": "He is the one who opens the book thoroughly.",
"activeparticiple315": "مُفَاتِح",
"latin315": "mufātiH",
"meaning315": "one who initiates or confronts",
"example315": "هُوَ مُفَاتِحُ الْقَضِيَّةِ",
"context315": "He is the one initiating the matter.",
"activeparticiple415": "مُفْتِح",
"latin415": "muftiH",
"meaning415": "one who causes to open",
"example415": "هُوَ مُفْتِحُ الْبَابِ",
"context415": "He is the one causing the door to open.",
"activeparticiple515": "مُتَفَتِّح",
"latin515": "mutafattiH",
"meaning515": "one who is gradually opening",
"example515": "الزَّهْرُ مُتَفَتِّح",
"context515": "The flower is blooming\/opening.",
"activeparticiple615": "مُتَفَاتِح",
"latin615": "mutafātiH",
"meaning615": "one engaging in mutual opening\/discussion",
"example615": "هُم مُتَفَاتِحُونَ",
"context615": "They are mutually engaging.",
"activeparticiple715": "مُنْفَتِح",
"latin715": "munfatiH",
"meaning715": "one who is opened (reflexively)",
"example715": "الْبَابُ مُنْفَتِح",
"context715": "The door is open (by itself).",
"activeparticiple815": "مُفْتَتِح",
"latin815": "muftatiH",
"meaning815": "one who inaugurates or initiates",
"example815": "مُفْتَتِحُ الْمُؤْتَمَرِ",
"context815": "The one inaugurating the conference.",
"note915": "Form IX is not used for active activeparticiple in this root.",
"activeparticiple1015": "مُسْتَفْتِح",
"latin1015": "mustaftiH",
"meaning1015": "one who seeks opening or judgment",
"example1015": "هُوَ مُسْتَفْتِحٌ عَلَيْهِمْ",
"context1015": "He is seeking judgment against them.",
"latin116": "maftūH",
"meaning116": "opened",
"example116": "الْبَابُ مَفْتُوح",
"context116": "The door is opened.",
"passiveparticiple216": "مُفَتَّح",
"latin216": "mufattaH",
"meaning216": "thoroughly opened",
"example216": "الْكِتَابُ مُفَتَّح",
"context216": "The book is thoroughly opened.",
"passiveparticiple316": "مُفَاتَح",
"latin316": "mufātaH",
"meaning316": "approached (in negotiation)",
"example316": "هُوَ مُفَاتَحٌ بِالْقَضِيَّةِ",
"context316": "He is being approached regarding the matter.",
"passiveparticiple416": "مُفْتَح",
"latin416": "muftaH",
"meaning416": "made to open",
"example416": "الطَّرِيقُ مُفْتَح",
"context416": "The road has been opened (by someone).",
"passiveparticiple516": "مُتَفَتَّح",
"latin516": "mutafattaH",
"meaning516": "being opened gradually",
"example516": "الزَّهْرَةُ مُتَفَتَّحَة",
"context516": "The flower is opening up.",
"passiveparticiple616": "مُتَفَاتَح",
"latin616": "mutafātaH",
"meaning616": "engaged in mutual opening\/discussion",
"example616": "هُم مُتَفَاتَحُونَ",
"context616": "They are being mutually opened up to discussion.",
"latin": "munfataH",
"meaning": "having been opened",
"example816": "الْمَعْرِضُ مُفْتَتَح",
"passiveparticiple816": "مُفْتَتَح",
"latin816": "muftataH",
"meaning816": "inaugurated \/ opened formally",
"context816": "The exhibition is inaugurated.",
"note916": "Form IX is not used for this root or participial form.",
"passiveparticiple1016": "مُسْتَفْتَح",
"latin1016": "mustaftaH",
"meaning1016": "one for whom judgment is being sought \/ being opened upon",
"example1016": "هُوَ مُسْتَفْتَحٌ عَلَيْهِ",
"context1016": "Judgment is being sought against him.",
"latin117": "fatH",
"meaning117": "opening, conquest",
"example117": "نَسْأَلُ اللهَ الْفَتْحَ",
"context117": "We ask Allah for victory\/opening.",
"latin217": "taftīH",
"meaning217": "intensification of opening",
"example217": "يَتَعَلَّمُ التَّفْتِيحَ الْمُتَقَدِّمَ",
"context217": "He is learning advanced unlocking techniques.",
"latin317": "mufātaHah",
"meaning317": "initiation, opening of negotiation",
"example317": "بَدَأَتِ الْمُفَاتَحَةُ بَيْنَ الْفَرِيقَيْنِ",
"context317": "The dialogue began between the two sides.",
"latin417": "iftāH",
"meaning417": "causing to open, making accessible",
"example417": "إِفْتَاحُ الْبَابِ كَانَ سَهْلًا",
"context417": "The unlocking of the door was easy.",
"latin517": "tafattuH",
"meaning517": "gradual opening, blossoming",
"example517": "تَفَتُّحُ الزَّهْرِ فِي الرَّبِيعِ",
"context517": "The blooming of flowers in spring.",
"latin617": "tafātuH",
"meaning617": "mutual openness or mutual initiation",
"example617": "تَفَاتُحُ الْأَفْكَارِ فِي الْحِوَارِ",
"context617": "Mutual openness of ideas in discussion.",
"latin717": "infitāH",
"meaning717": "being opened, openness",
"example717": "اِنْفِتَاحُ الْأَبْوَابِ",
"context717": "The opening of the doors.",
"latin817": "iftitāH",
"meaning817": "inauguration, formal opening",
"example817": "اِفْتِتَاحُ الْمَعْرِضِ",
"context817": "The opening of the exhibition.",
"note917": "Form IX does not apply for this root (used for colors or physical traits).",
"latin1017": "istiftāH",
"meaning1017": "seeking opening, judgment or decision",
"example1017": "وَاسْتَفْتَحُوا وَخَابَ كُلُّ جَبَّارٍ عَنِيدٍ",
"context1017": "And they sought judgment, and every stubborn tyrant was disappointed. (Quran 14:15)",
"verbalnoun217": "تَفْتِيح",
"verbalnoun317": "مُفَاتَحَة",
"verbalnoun417": "إِفْتَاح",
"verbalnoun517": "تَفَتُّح",
"verbalnoun617": "تَفَاتُح",
"verbalnoun717": "اِنْفِتَاح",
"verbalnoun817": "اِفْتِتَاح",
"verbalnoun1017": "اِسْتِفْتَاح",
"nounofplace181": "مَفْتَح",
"nounofplace182": "مَفْتِح",
"nounofinstrument191": "مِفْتَح",
"nounofinstrument192": "مِفْتَحَة",
"nounofinstrument193": "مِفْتَاح",
"adjective201": "فَتْح",
"adjective202": "فِتْح",
"adjective203": "فُتُح",
"adjective204": "فَتَح",
"adjective205": "فَتِح",
"adjective206": "فَتَاح",
"adjective207": "فُتَاح",
"adjective208": "فَتِيح",
"exaggeration211": "فَتَاح",
"exaggeration212": "فَتُوح",
"exaggeration213": "فَتِيح",
"exaggeration214": "فَتْحَان",
"exaggeration215": "فَتْحَان",
"exaggeration216": "فُتَاح",
"exaggeration217": "فَتَّاحَة",
"exaggeration218": "فُتَّاح",
"exaggeration219": "فَاتُوح",
"exaggeration2110": "فَتُّوح",
"exaggeration2111": "فُتُّوح",
"exaggeration2112": "فِتِّيح",
"exaggeration2113": "فُتَحَة",
"exaggeration2114": "فَاتِحَة",
"exaggeration2115": "مِفْتِيح",
"colorsanddefects221": "أَفْتَح",
"colorsanddefects222": "فَتْحَاء",
"colorsanddefects223": "فُتْح",
"comparativesuperlative231": "أَفْتَح",
"comparativesuperlative232": "فُتْحَى",
"brokenplural241": "فُتُوح",
"brokenplural242": "أَفْتَاح",
"brokenplural243": "فِتَاح",
"brokenplural244": "فُتَّاح",
"brokenplural245": "فَتَحَة",
"brokenplural246": "فَوَاتِح",
"brokenplural247": "مَفَاتِح",
"brokenplural248": "فَتَائِح"
}| NDCL-01 | Exact ND | PASS | ND | + إِن + |
| NDCL-02 | Prepend + ND | NO MATCH | Alternative not matched |
| NDCL-03 | ND + Append | NO MATCH | Alternative not matched |
| NDCL-04 | Prepend + ND + Append | NO MATCH | Alternative not matched |
| DCL-01 | Token Length | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-02 | Suffix Removal | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-03 | Length After Suffix Removal | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-04 | Length Without Vowels | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-05 | Root Candidates | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-06 | Form Candidates | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-07 | Form Identifier | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-08 | T Categories | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-09 | Person / Declension Index | NOT REQUIRED | ND recognized; derived analysis bypassed |
| DCL-10 | Dictionary Verification | NOT REQUIRED | ND recognized; derived analysis bypassed |
| Feature | Existing / trace value |
|---|---|
| Full Token | إِن |
| R-L — Raw Length (code points including marks) | 3 |
| R-L — Raw Letter Count | 2 |
| Suffix Removed (upstream R001/R002) | NOT AVAILABLE |
| R-U — Preserved Stem (with marks) | إِن |
| R-U — Normalized Stem | إِن |
| R-U Length (existing controller) | NOT AVAILABLE |
| Prefix (controller fallback) | NOT AVAILABLE |
| R006 Actual Prefix Removed | NOT AVAILABLE |
| R006 Actual After Prefix | NOT AVAILABLE |
| R006 Actual Prefix Arithmetic | NOT AVAILABLE |
| R006 Actual Form-Specific Marker Removed | NOT AVAILABLE |
| R006 Actual After Form Removal | NOT AVAILABLE |
| R006 Actual Form Arithmetic | NOT AVAILABLE |
| R006 Form-Specific Adjustment Rationale | NOT AVAILABLE |
| F-I — R006 Form Candidates | NOT AVAILABLE |
| I-V — Internal Vowels (existing output) | NOT AVAILABLE |
| S-T — Physical Suffix Families | [] |
| S-I — Physical Suffix Indices | [] |
| P-R — Existing Pattern Evidence | [] |
| R007 T Candidates | NOT AVAILABLE |
| R008 Index (parsed from existing candidates) | NOT AVAILABLE |
| R008 Form.T.Index Candidates | NOT AVAILABLE |
| R008 Status | NOT AVAILABLE |
| R008 Guard Accepted | NOT AVAILABLE |
| R008 Guard Rejected | NOT AVAILABLE |
| R008 Guard Unverified | NOT AVAILABLE |
| Authoritative Full Pattern | NOT AVAILABLE |
| Authoritative Full Structural Units | NOT AVAILABLE |
| Prefix / S-I Synchronization (existing verdict) | NOT AVAILABLE |
| Stage | Execution | Outcome | Reason |
|---|---|---|---|
| R006 | SKIPPED | ND token: derived morphology stage not applicable | |
| R007 | SKIPPED | ND token: derived morphology stage not applicable | |
| R008 | SKIPPED | ND token: derived morphology stage not applicable | |
| R009 | SKIPPED | ND token: derived morphology stage not applicable | |
| R010 | SKIPPED | Dictionary review queue is rendered after token loop; not a per-token verifier | |
| R011 | SKIPPED | ND token: derived morphology stage not applicable |
{
"r011_mod151_read_only": [],
"stage_audit_mod151": [
{
"stage": "R006",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R007",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R008",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R009",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
},
{
"stage": "R010",
"state": "SKIPPED",
"outcome": null,
"reason": "Dictionary review queue is rendered after token loop; not a per-token verifier",
"calls": 0
},
{
"stage": "R011",
"state": "SKIPPED",
"outcome": null,
"reason": "ND token: derived morphology stage not applicable",
"calls": 0
}
],
"original_analysis_group": {
"token_no": 5,
"token": "إِن",
"expected": "",
"form": "",
"root_type": "ND",
"voice": "ND",
"suffix": "",
"stem": "إِن",
"normalized_stem": "إِن",
"prefix": "",
"stem_length": null,
"root_candidates": [],
"root_patterns": [],
"findings": [],
"status": "ND EXACT: 40.112",
"nd_english": "if",
"nd_urdu": "اگر",
"nd_category": "particle",
"nd_subcategory": "conditional jussive particle",
"nd_pos": "conditional particle"
},
"r006": {
"form_candidates": [],
"structural_trace": []
},
"r008": {
"status": "NOT_RUN",
"form_t_index_candidates": [],
"comments": []
},
"mod105_native_r008": {
"status": "NOT_RUN",
"candidates": []
},
"mod105_controller_retained_sources": [],
"r009": {
"status": "NOT_RUN",
"accepted_roots_by_address": [],
"details": [],
"comments": []
},
"r009_dictionary_exact_root_mod103": [],
"r007_text": "ND — outside derived R007",
"mod035_form_t_index": [],
"r007_t_candidates": [],
"r007_voice": "undetermined",
"r007_status": "UNRESOLVED + NOMINAL EVIDENCE (overlaps retained)",
"nominal_evidence": "definite article",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "ND",
"roots": [],
"records": [],
"reason": "Non-declinable token"
},
"legacy_record_verification": {
"status": "ND",
"records": [],
"roots": [],
"reason": "Non-derived entity"
}
}| NDCL-01 | Exact ND | NO MATCH | Alternative not matched |
| NDCL-02 | Prepend + ND | NO MATCH | Alternative not matched |
| NDCL-03 | ND + Append | NO MATCH | Alternative not matched |
| NDCL-04 | Prepend + ND + Append | NO MATCH | Alternative not matched |
| DCL-01 | Token Length | EVIDENCE | Token: كُنتُمْ; source length field: 4 |
| DCL-02 | Suffix Removal | EVIDENCE | Physical suffix: ْ; families/indices: suff4 [1, 4, 7, 13, 14] |
| DCL-03 | Length After Suffix Removal | EVIDENCE | Preserved stem after suffix removal: كُنتُم |
| DCL-04 | Length Without Vowels | EVIDENCE | Normalized stem: كنتم; reported structural length: 4 |
| DCL-05 | Root Candidates | EVIDENCE | Root candidates: none reported |
| DCL-06 | Form Candidates | EVIDENCE | R006 Form candidates: none reported |
| DCL-07 | Form Identifier | EVIDENCE | R006 forms: unresolved; R007 voice: undetermined |
| DCL-08 | T Categories | EVIDENCE | R007 T candidates: none reported |
| DCL-09 | Person / Declension Index | EVIDENCE | Actual prefix: (none); compatible Form.T.Index: none reported; prefix-person compatibility applied by MOD-038 |
| DCL-10 | Dictionary Verification | EVIDENCE | Dictionary ROOT status: NO_ROOT_CANDIDATE; matching record IDs: none; no full-token validation required |
| Feature | Existing / trace value |
|---|---|
| Full Token | كُنتُمْ |
| R-L — Raw Length (code points including marks) | 7 |
| R-L — Raw Letter Count | 4 |
| Suffix Removed (upstream R001/R002) | ْ |
| R-U — Preserved Stem (with marks) | كُنتُم |
| R-U — Normalized Stem | كنتم |
| R-U Length (existing controller) | 4 |
| Prefix (controller fallback) | NOT AVAILABLE |
| R006 Actual Prefix Removed | NOT AVAILABLE |
| R006 Actual After Prefix | NOT AVAILABLE |
| R006 Actual Prefix Arithmetic | NOT AVAILABLE |
| R006 Actual Form-Specific Marker Removed | NOT AVAILABLE |
| R006 Actual After Form Removal | NOT AVAILABLE |
| R006 Actual Form Arithmetic | NOT AVAILABLE |
| R006 Form-Specific Adjustment Rationale | NOT AVAILABLE |
| F-I — R006 Form Candidates | [] |
| I-V — Internal Vowels (existing output) | NOT AVAILABLE |
| S-T — Physical Suffix Families | ["suff4"] |
| S-I — Physical Suffix Indices | {"suff4":[1,4,7,13,14]} |
| P-R — Existing Pattern Evidence | [] |
| R007 T Candidates | [] |
| R008 Index (parsed from existing candidates) | [] |
| R008 Form.T.Index Candidates | [] |
| R008 Status | UNRESOLVED |
| R008 Guard Accepted | [] |
| R008 Guard Rejected | [] |
| R008 Guard Unverified | [] |
| Authoritative Full Pattern | NOT AVAILABLE |
| Authoritative Full Structural Units | NOT AVAILABLE |
| Prefix / S-I Synchronization (existing verdict) | NOT AVAILABLE |
| Stage | Execution | Outcome | Reason |
|---|---|---|---|
| R006 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R007 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R008 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R009 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R010 | SKIPPED | Dictionary review queue is rendered after token loop; not a per-token verifier | |
| R011 | HANDOFF_COMPLETE | DIAGNOSTIC_RESULT | Read-only R011 results included in full diagnostic JSON |
{
"r011_mod151_read_only": {
"": {
"15": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 1,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"16": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 1,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"17": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": "NOT_TESTED",
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"18": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 2,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"19": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 2,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"20": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 18,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"21": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 3,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"22": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 3,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"23": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 2,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"24": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"25": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
}
}
},
"stage_audit_mod151": [
{
"stage": "R006",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R007",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R008",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R009",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R010",
"state": "SKIPPED",
"outcome": null,
"reason": "Dictionary review queue is rendered after token loop; not a per-token verifier",
"calls": 0
},
{
"stage": "R011",
"state": "HANDOFF_COMPLETE",
"outcome": "DIAGNOSTIC_RESULT",
"reason": "Read-only R011 results included in full diagnostic JSON",
"calls": 1
}
],
"original_analysis_group": {
"token_no": 6,
"token": "كُنتُمْ",
"expected": "",
"form": "",
"root_type": "surface-test",
"voice": "Undetermined",
"suffix": "ْ",
"pronoun": "",
"pronoun_role": "",
"analysis_token": "كُنتُمْ",
"stem": "كُنتُم",
"normalized_stem": "كنتم",
"prefix": "",
"nominal_prefix": "",
"nominal_core": "",
"stem_length": 4,
"root_candidates": [],
"root_patterns": [],
"findings": {
"suff4": [
1,
4,
7,
13,
14
]
},
"status": "Matched"
},
"r006": {
"form_candidates": [],
"perfect_forms": [],
"evidence": [],
"structural_trace": [],
"status": "UNRESOLVED"
},
"r008": {
"form_t_index_candidates": [],
"index_candidates": [],
"status": "UNRESOLVED",
"comments": [],
"details": []
},
"mod105_native_r008": {
"status": "UNRESOLVED",
"candidates": []
},
"mod105_controller_retained_sources": [],
"r009": {
"original": "كُنتُمْ",
"remaining": "كُنتُم",
"r005_root_candidate": "",
"root_candidate": "",
"root_length": 0,
"accepted_root_candidates": [],
"accepted_root_count": 0,
"rejected_root_candidates": [],
"rejected_root_count": 0,
"accepted_details": [],
"rejected_details": [],
"accepted_roots_by_address": [],
"original_skeleton": "كنتم",
"stem_skeleton": "كنتم",
"addresses": [],
"details": [],
"status": "UNRESOLVED",
"comments": [
"No R008 Form.T.Index hypothesis to verify"
]
},
"r009_dictionary_exact_root_mod103": [],
"r007_text": "R006 Forms: unresolved; Voice: undetermined; T: unresolved; R006 UNRESOLVED",
"mod035_form_t_index": [],
"r007_t_candidates": [],
"r007_voice": "undetermined",
"r007_status": "R006 UNRESOLVED",
"nominal_evidence": "",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "NO_ROOT_CANDIDATE",
"roots": [],
"records": [],
"reason": "No extracted root candidate"
},
"legacy_record_verification": {
"status": "NO_ROOT_CANDIDATE",
"records": [],
"roots": [],
"reason": "R005 produced no root candidate"
}
}| NDCL-01 | Exact ND | NO MATCH | Alternative not matched |
| NDCL-02 | Prepend + ND | NO MATCH | Alternative not matched |
| NDCL-03 | ND + Append | NO MATCH | Alternative not matched |
| NDCL-04 | Prepend + ND + Append | NO MATCH | Alternative not matched |
| DCL-01 | Token Length | EVIDENCE | Token: صَدِقِينَ; source length field: 3 |
| DCL-02 | Suffix Removal | EVIDENCE | Physical suffix: ِينَ; families/indices: suff2 [10]; suff_nouns [20, 21] |
| DCL-03 | Length After Suffix Removal | EVIDENCE | Preserved stem after suffix removal: صَدِق |
| DCL-04 | Length Without Vowels | EVIDENCE | Normalized stem: صدق; reported structural length: 3 |
| DCL-05 | Root Candidates | EVIDENCE | Root candidates: صدق |
| DCL-06 | Form Candidates | EVIDENCE | R006 Form candidates: none reported |
| DCL-07 | Form Identifier | EVIDENCE | R006 forms: unresolved; R007 voice: undetermined |
| DCL-08 | T Categories | EVIDENCE | R007 T candidates: none reported |
| DCL-09 | Person / Declension Index | EVIDENCE | Actual prefix: (none); compatible Form.T.Index: none reported; prefix-person compatibility applied by MOD-038 |
| DCL-10 | Dictionary Verification | EVIDENCE | Dictionary ROOT status: VALIDATED; matching record IDs: 1415; no full-token validation required |
| Feature | Existing / trace value |
|---|---|
| Full Token | صَدِقِينَ |
| R-L — Raw Length (code points including marks) | 9 |
| R-L — Raw Letter Count | 5 |
| Suffix Removed (upstream R001/R002) | ِينَ |
| R-U — Preserved Stem (with marks) | صَدِق |
| R-U — Normalized Stem | صدق |
| R-U Length (existing controller) | 3 |
| Prefix (controller fallback) | NOT AVAILABLE |
| R006 Actual Prefix Removed | NOT AVAILABLE |
| R006 Actual After Prefix | NOT AVAILABLE |
| R006 Actual Prefix Arithmetic | NOT AVAILABLE |
| R006 Actual Form-Specific Marker Removed | NOT AVAILABLE |
| R006 Actual After Form Removal | NOT AVAILABLE |
| R006 Actual Form Arithmetic | NOT AVAILABLE |
| R006 Form-Specific Adjustment Rationale | NOT AVAILABLE |
| F-I — R006 Form Candidates | [] |
| I-V — Internal Vowels (existing output) | NOT AVAILABLE |
| S-T — Physical Suffix Families | ["suff2","suff_nouns"] |
| S-I — Physical Suffix Indices | {"suff2":[10],"suff_nouns":[20,21]} |
| P-R — Existing Pattern Evidence | {"صدق":{"three radicals":"three radicals"}} |
| R007 T Candidates | [] |
| R008 Index (parsed from existing candidates) | [] |
| R008 Form.T.Index Candidates | [] |
| R008 Status | UNRESOLVED |
| R008 Guard Accepted | [] |
| R008 Guard Rejected | [] |
| R008 Guard Unverified | [] |
| Authoritative Full Pattern | NOT AVAILABLE |
| Authoritative Full Structural Units | NOT AVAILABLE |
| Prefix / S-I Synchronization (existing verdict) | NOT AVAILABLE |
| Stage | Execution | Outcome | Reason |
|---|---|---|---|
| R006 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R007 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R008 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R009 | HANDOFF_COMPLETE | UNRESOLVED | Result retained in token diagnostic evidence |
| R010 | SKIPPED | Dictionary review queue is rendered after token loop; not a per-token verifier | |
| R011 | HANDOFF_COMPLETE | DIAGNOSTIC_RESULT | Read-only R011 results included in full diagnostic JSON |
{
"r011_mod151_read_only": {
"صدق": {
"15": {
"status": "NOT_TESTED",
"matches": [],
"tested": 1,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"16": {
"status": "NOT_TESTED",
"matches": [],
"tested": 1,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"17": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": "NOT_TESTED",
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"18": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"19": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"20": {
"status": "NOT_TESTED",
"matches": [],
"tested": 18,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"21": {
"status": "NOT_TESTED",
"matches": [],
"tested": 3,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"22": {
"status": "NOT_TESTED",
"matches": [],
"tested": 3,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"23": {
"status": "NOT_TESTED",
"matches": [],
"tested": 2,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"24": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
},
"25": {
"status": "NOT_TESTED",
"matches": [],
"tested": 0,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [],
"t21_recovered_roots": []
}
}
},
"stage_audit_mod151": [
{
"stage": "R006",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R007",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R008",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R009",
"state": "HANDOFF_COMPLETE",
"outcome": "UNRESOLVED",
"reason": "Result retained in token diagnostic evidence",
"calls": 1
},
{
"stage": "R010",
"state": "SKIPPED",
"outcome": null,
"reason": "Dictionary review queue is rendered after token loop; not a per-token verifier",
"calls": 0
},
{
"stage": "R011",
"state": "HANDOFF_COMPLETE",
"outcome": "DIAGNOSTIC_RESULT",
"reason": "Read-only R011 results included in full diagnostic JSON",
"calls": 1
}
],
"original_analysis_group": {
"token_no": 7,
"token": "صَدِقِينَ",
"expected": "",
"form": "",
"root_type": "surface-test",
"voice": "Undetermined",
"suffix": "ِينَ",
"pronoun": "",
"pronoun_role": "",
"analysis_token": "صَدِقِينَ",
"stem": "صَدِق",
"normalized_stem": "صدق",
"prefix": "",
"nominal_prefix": "",
"nominal_core": "",
"stem_length": 3,
"root_candidates": [
"صدق"
],
"root_patterns": {
"صدق": {
"three radicals": "three radicals"
}
},
"findings": {
"suff2": [
10
],
"suff_nouns": [
20,
21
]
},
"status": "Matched"
},
"r006": {
"form_candidates": [],
"perfect_forms": [],
"evidence": [],
"structural_trace": [],
"status": "UNRESOLVED"
},
"r008": {
"form_t_index_candidates": [],
"index_candidates": [],
"status": "UNRESOLVED",
"comments": [],
"details": []
},
"mod105_native_r008": {
"status": "UNRESOLVED",
"candidates": []
},
"mod105_controller_retained_sources": [],
"r009": {
"original": "صَدِقِينَ",
"remaining": "صَدِق",
"r005_root_candidate": "",
"root_candidate": "",
"root_length": 0,
"accepted_root_candidates": [],
"accepted_root_count": 0,
"rejected_root_candidates": [],
"rejected_root_count": 0,
"accepted_details": [],
"rejected_details": [],
"accepted_roots_by_address": [],
"original_skeleton": "صدقين",
"stem_skeleton": "صدق",
"addresses": [],
"details": [],
"status": "UNRESOLVED",
"comments": [
"No R008 Form.T.Index hypothesis to verify"
]
},
"r009_dictionary_exact_root_mod103": [],
"r007_text": "R006 Forms: unresolved; Voice: undetermined; T: unresolved; R006 UNRESOLVED",
"mod035_form_t_index": [],
"r007_t_candidates": [],
"r007_voice": "undetermined",
"r007_status": "R006 UNRESOLVED",
"nominal_evidence": "",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "VALIDATED",
"roots": [
"صدق"
],
"records": [
{
"id": 1415,
"root": "صدق"
}
],
"reason": "Extracted root found in dictionary; no full-token comparison required"
},
"legacy_record_verification": {
"status": "VALIDATION_PENDING",
"records": [],
"root_records": [
{
"id": "1415",
"root": "صدق"
}
],
"roots": [
"صدق"
],
"reason": "Generator adapter not connected or candidate untestable",
"tested": 0,
"untestable": 1
}
}{
"form": 1,
"root": "صدق",
"root_type": "triliteral",
"arabic": "صدق",
"english": "to be truthful",
"urdu": "سچ بولنا",
"verbalnoun117": "صِدْق",
"verbalnoun2": "تَصْدِيق",
"verbalnoun3": "صَدَقَات",
"activeparticiple115": "صَادِق",
"passiveparticiple116": "مَصْدُوق",
"activepast11": "صَدَقَ",
"activeimperfect12": "يَصْدُقُ",
"imperative113": "صِدْقْ"
}MOD-152: 0 dictionary-rejected speculative rows hidden when validated siblings exist; original candidate inventory retained.
MOD-014 display consolidation: 0 equivalent R004 rows hidden; raw R004/R001-R003 candidates preserved. Different root, family/index, pronoun role, or R006/R007 results remain separate.
Read-only root lookup. Morphological Form/T/index verification is separate. No dictionary files modified.