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 | 6 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: 5 |
| DCL-02 | Suffix Removal | EVIDENCE | Physical suffix: ُوا; families/indices: suff1 [3]; suff3 [3, 9]; suff4 [3, 9] |
| 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: طلق |
| 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: 1610; no full-token validation required |
| Feature | Existing / trace value |
|---|---|
| Full Token | ٱنطَلِقُوا |
| R-L — Raw Length (code points including marks) | 10 |
| 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 | ["suff1","suff3","suff4"] |
| S-I — Physical Suffix Indices | {"suff1":[3],"suff3":[3,9],"suff4":[3,9]} |
| P-R — Existing Pattern Evidence | {"طلق":{"prefix n":"prefix n"}} |
| 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": [
"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": [
"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": [
"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": [
"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": [
"hamzat_al_wasl"
],
"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": [
"hamzat_al_wasl"
],
"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": [
"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": [
"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": [
"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": [
"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": [
"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": 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": {
"طلق": {
"prefix n": "prefix n"
}
},
"findings": {
"suff1": [
3
],
"suff3": [
3,
9
],
"suff4": [
3,
9
]
},
"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": 1610,
"root": "طلق"
}
],
"reason": "Extracted root found in dictionary; no full-token comparison required"
},
"legacy_record_verification": {
"status": "VALIDATION_PENDING",
"records": [],
"root_records": [
{
"id": "1610",
"root": "طلق"
}
],
"roots": [
"طلق"
],
"reason": "Generator adapter not connected or candidate untestable",
"tested": 0,
"untestable": 1
}
}{
"root": "طلق",
"root_type": "triliteral",
"form": 1,
"arabic": "طلق",
"english": "to divorce, to release",
"urdu": "طلاق دینا، آزاد کرنا",
"verbalnoun117": "طَلَاق",
"verbalnoun2": "إِطْلَاق",
"activeparticiple115": "طَالِق",
"passiveparticiple116": "مُطَلَّق",
"activepast11": "طَلَّقَ",
"activeimperfect12": "يُطَلِّقُ",
"imperative113": "طَلِّقْ"
}| 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: 24.3",
"nd_english": "to \/ toward",
"nd_urdu": "کی طرف \/ تک",
"nd_category": "particle",
"nd_subcategory": "separable \/ independent preposition",
"nd_pos": "preposition"
},
"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: suff_nouns [3] |
| 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: nominal |
| 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: 1708; no full-token validation required |
| Feature | Existing / trace value |
|---|---|
| Full Token | ظِلٍّ |
| R-L — Raw Length (code points including marks) | 5 |
| R-L — Raw Letter Count | 2 |
| 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 | ["suff_nouns"] |
| S-I — Physical Suffix Indices | {"suff_nouns":[3]} |
| P-R — Existing Pattern Evidence | {"ظلل":{"doubled T13 (final shaddah)":"doubled T13 (final shaddah)"}} |
| 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": 3,
"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": {
"ظلل": {
"doubled T13 (final shaddah)": "doubled T13 (final shaddah)"
}
},
"findings": {
"suff_nouns": [
3
]
},
"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: nominal; T: unresolved; UNRESOLVED + NOMINAL EVIDENCE (overlaps retained)",
"mod035_form_t_index": [],
"r007_t_candidates": [],
"r007_voice": "nominal",
"r007_status": "UNRESOLVED + NOMINAL EVIDENCE (overlaps retained)",
"nominal_evidence": "tanwin",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "VALIDATED",
"roots": [
"ظلل"
],
"records": [
{
"id": 1708,
"root": "ظلل"
}
],
"reason": "Extracted root found in dictionary; no full-token comparison required"
},
"legacy_record_verification": {
"status": "VALIDATION_PENDING",
"records": [],
"root_records": [
{
"id": "1708",
"root": "ظلل"
}
],
"roots": [
"ظلل"
],
"reason": "Generator adapter not connected or candidate untestable",
"tested": 0,
"untestable": 1
}
}{
"root": "ظلل",
"root_type": "triliteral",
"form": "II",
"arabic": "ظَلَّلَ",
"english": "to shade, to cover with shadow",
"urdu": "سایہ کرنا، سایہ ڈالنا",
"verbalnoun117": "تَظْلِيل",
"verbalnoun2": "",
"verbalnoun3": "",
"activeparticiple115": "مُظَلِّل",
"passiveparticiple116": "مُظَلَّل",
"activepast11": "ظَلَّلَ",
"activeimperfect12": "يُظَلِّلُ",
"imperative113": "ظَلِّلْ"
}| 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: 2 |
| DCL-02 | Suffix Removal | EVIDENCE | Physical suffix: (none); families/indices: surface_zero [0] |
| DCL-03 | Length After Suffix Removal | EVIDENCE | Preserved stem after suffix removal: ذِى |
| DCL-04 | Length Without Vowels | EVIDENCE | Normalized stem: ذى; reported structural length: 2 |
| 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: ROOT_NOT_FOUND; matching record IDs: none; no full-token validation required |
| 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) | 2 |
| 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 | ["surface_zero"] |
| S-I — Physical Suffix Indices | {"surface_zero":[0]} |
| P-R — Existing Pattern Evidence | {"أذى":{"initial hamza restored (contracted)":"initial hamza restored (contracted)"},"ذوى":{"hollow w (contracted)":"hollow w (contracted)"},"ذيى":{"hollow y (contracted)":"hollow y (contracted)"}} |
| 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": []
}
},
"ذوى": {
"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": "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": "",
"nominal_core": "",
"stem_length": 2,
"root_candidates": [
"أذى",
"ذوى",
"ذيى"
],
"root_patterns": {
"أذى": {
"initial hamza restored (contracted)": "initial hamza restored (contracted)"
},
"ذوى": {
"hollow w (contracted)": "hollow w (contracted)"
},
"ذيى": {
"hollow y (contracted)": "hollow y (contracted)"
}
},
"findings": {
"surface_zero": [
0
]
},
"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": "ROOT_NOT_FOUND",
"roots": [
"أذى",
"ذوى",
"ذيى"
],
"records": [],
"reason": "No extracted root found in dictionary"
},
"legacy_record_verification": {
"status": "ROOT_NOT_FOUND",
"records": [],
"root_records": [],
"roots": [
"أذى",
"ذوى",
"ذيى"
],
"reason": "",
"tested": 0,
"untestable": 0
}
}| 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: suff_nouns [6] |
| 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: 1 |
| DCL-07 | Form Identifier | EVIDENCE | R006 forms: 1; R007 voice: undetermined |
| DCL-08 | T Categories | EVIDENCE | R007 T candidates: 1 |
| 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: 411; no full-token validation required |
| Feature | Existing / trace value |
|---|---|
| Full Token | ثَلَثِ |
| R-L — Raw Length (code points including marks) | 6 |
| R-L — Raw Letter Count | 3 |
| 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 | [1] |
| I-V — Internal Vowels (existing output) | NOT AVAILABLE |
| S-T — Physical Suffix Families | ["suff_nouns"] |
| S-I — Physical Suffix Indices | {"suff_nouns":[6]} |
| P-R — Existing Pattern Evidence | {"ثلث":{"three radicals":"three radicals"}} |
| R007 T Candidates | [1] |
| 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": "YES",
"matches": [
{
"id": "1.20.fa3al",
"form": 1,
"template": "{r0}َ{r1}َ{r2}",
"expected": "ثَلَث",
"status": "confirmed",
"matched_stem": "ثَلَث",
"segmentation": [
"terminal_case_removed"
]
},
{
"id": "R011.T20.fa3al",
"form": 1,
"template": "{r0}َ{r1}َ{r2}",
"expected": "ثَلَث",
"status": "structural_candidate",
"matched_stem": "ثَلَث",
"segmentation": [
"terminal_case_removed"
]
}
],
"tested": 18,
"skipped": 0,
"inventory_complete": false,
"dictionary_t17": null,
"dictionary_fields": [],
"nominal_evidence": [],
"form_hypotheses": [
1
],
"t20_recovered_roots": [
{
"root": "ثلث",
"pattern_id": "1.20.fa3al",
"form": 1,
"t": 20,
"matched_stem": "ثَلَث",
"segmentation": [
"terminal_case_removed"
],
"status": "STRUCTURAL_CANDIDATE"
},
{
"root": "ثلث",
"pattern_id": "R011.T20.fa3al",
"form": 1,
"t": 20,
"matched_stem": "ثَلَث",
"segmentation": [
"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": [],
"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": 5,
"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": {
"suff_nouns": [
6
]
},
"status": "Matched"
},
"r006": {
"form_candidates": [
1
],
"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: 1; Voice: undetermined; T: 1; R006 UNRESOLVED + MOD-043 exact vowel patterns: 1.1",
"mod035_form_t_index": [],
"r007_t_candidates": [
1
],
"r007_voice": "undetermined",
"r007_status": "R006 UNRESOLVED + MOD-043 exact vowel patterns: 1.1",
"nominal_evidence": "",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "VALIDATED",
"roots": [
"ثلث"
],
"records": [
{
"id": 411,
"root": "ثلث"
}
],
"reason": "Extracted root found in dictionary; no full-token comparison required"
},
"legacy_record_verification": {
"status": "VALIDATION_PENDING",
"records": [],
"root_records": [
{
"id": "411",
"root": "ثلث"
}
],
"roots": [
"ثلث"
],
"reason": "Generator adapter not connected or candidate untestable",
"tested": 0,
"untestable": 1
}
}{
"root": "ثلث",
"root_type": "triliteral",
"arabic": "ثَلَثَ",
"english": "to be threefold, tripled",
"urdu": "تین گنا ہونا",
"verbalnoun117": "ثَلَاثَة",
"verbalnoun2": "ثُلْث",
"verbalnoun3": "",
"activeparticiple115": "ثَالِث",
"passiveparticiple116": "مَثْلُوث",
"activepast11": "ثَلَثَ",
"activeimperfect12": "يَثْلِثُ",
"imperative113": "ثْلِثْ",
"passiveperfect17": "ثُلِثَ",
"passiveimperfect18": "يُثْلَثُ",
"activeheavyemphatic16": "لَيَثْلِثَنَّ",
"form": 1
}| 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: suff_nouns [3] |
| 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: nominal |
| 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: ROOT_NOT_FOUND; matching record IDs: none; no full-token validation required |
| Feature | Existing / trace value |
|---|---|
| Full Token | شُعَبٍ |
| R-L — Raw Length (code points including marks) | 6 |
| R-L — Raw Letter Count | 3 |
| 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 | ["suff_nouns"] |
| S-I — Physical Suffix Indices | {"suff_nouns":[3]} |
| 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": 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": 3,
"root_candidates": [
"شعب"
],
"root_patterns": {
"شعب": {
"three radicals": "three radicals"
}
},
"findings": {
"suff_nouns": [
3
]
},
"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: nominal; T: unresolved; UNRESOLVED + NOMINAL EVIDENCE (overlaps retained)",
"mod035_form_t_index": [],
"r007_t_candidates": [],
"r007_voice": "nominal",
"r007_status": "UNRESOLVED + NOMINAL EVIDENCE (overlaps retained)",
"nominal_evidence": "tanwin",
"resolved_findings": [],
"dictionary_root_verification": {
"status": "ROOT_NOT_FOUND",
"roots": [
"شعب"
],
"records": [],
"reason": "No extracted root found in dictionary"
},
"legacy_record_verification": {
"status": "ROOT_NOT_FOUND",
"records": [],
"root_records": [],
"roots": [
"شعب"
],
"reason": "",
"tested": 0,
"untestable": 0
}
}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.