Grammar Engine
☰ Menu
R007 ISOLATED DIAGNOSTIC: LOADED
R006 OPTIONAL: LOADED

ACE Morphological Analysis — R003

Analyze Qur'anic Surah or Ayah
Quranic passage analysis

Paste one ayah or an entire surah, preserving the original Arabic orthography. The analysis runs on every token in order.

Return to fixture tests

Input: ACE controller Arabic passage | 2 tokens

MOD-111 — Single-token display audit
Token #1: ضَاحِكَةٌ — 1 display group(s)
Matched
Token #2: مُّسْتَبْشِرَةٌ — 1 display group(s)
Matched

← Flashcard view

Token navigation
#1ضَاحِكَةٌROOT VALIDATED · Record 1506Form.T.Index: pendingNative R008: UNRESOLVEDSuffix: َةٌ | Pronoun: | Role: | Stem: ضَاحِكR009: UNRESOLVEDR008: UNRESOLVEDضحك
Suffixَةٌ
Preserved stemضَاحِك
R009 execution status (MOD-099)UNRESOLVED
R008 diagnostic status (MOD-068)UNRESOLVED
Morphology & segmentation (8 fields)
Root typesurface-test
VoiceUndetermined
Normalized stemضاحك
Internal vowelsa · long-a · i
Length4
Analysis statusMatched
Analysis token (normalized input)ضَاحِكَةٌ
Root candidates (all)ضحك
Verification & records (6 fields)
Dictionary root statusVALIDATED
Matching record IDs1506
Root-associated record IDs (legacy verification)1506
Dictionary root verification explanationExtracted root found in dictionary; no full-token comparison required
Legacy token records tested (no match)0
Legacy token records not testable1
Rule diagnostics (5 fields)
Legacy R007 (reference only)Nominal candidate (tanwin)
New R007 (isolated diagnostic)R006 Forms: unresolved; Voice: nominal; T: unresolved; UNRESOLVED + NOMINAL EVIDENCE (overlaps retained)
MOD-105 native R008 statusUNRESOLVED
R008 full-pattern guard (MOD-068)accepted=0; rejected=0; unverified=0 (counts reflect R008 hypotheses; authoritative expected_surface_units not supplied)
Structural patternsضحك: internal long vowel
Extended diagnostics: patterns, traces and source evidence
Suffix-family evidence (MOD-032)
suff_nouns: physically detected; full Form/T pattern required
NDCL / DCL Step Trace (expand)
NDCL-01Exact NDNO MATCHAlternative not matched
NDCL-02Prepend + NDNO MATCHAlternative not matched
NDCL-03ND + AppendNO MATCHAlternative not matched
NDCL-04Prepend + ND + AppendNO MATCHAlternative not matched
DCL-01Token LengthEVIDENCEToken: ضَاحِكَةٌ; source length field: 4
DCL-02Suffix RemovalEVIDENCEPhysical suffix: َةٌ; families/indices: suff_nouns [7]
DCL-03Length After Suffix RemovalEVIDENCEPreserved stem after suffix removal: ضَاحِك
DCL-04Length Without VowelsEVIDENCENormalized stem: ضاحك; reported structural length: 4
DCL-05Root CandidatesEVIDENCERoot candidates: ضحك
DCL-06Form CandidatesEVIDENCER006 Form candidates: none reported
DCL-07Form IdentifierEVIDENCER006 forms: unresolved; R007 voice: nominal
DCL-08T CategoriesEVIDENCER007 T candidates: none reported
DCL-09Person / Declension IndexEVIDENCEActual prefix: (none); compatible Form.T.Index: none reported; prefix-person compatibility applied by MOD-038
DCL-10Dictionary VerificationEVIDENCEDictionary ROOT status: VALIDATED; matching record IDs: 1506; no full-token validation required
ضحك — Base English translation
Record 1506 · laugh
ACE Structural Diagnostics (actual trace; unique values)
FeatureExisting / trace value
Full Tokenضَاحِكَةٌ
R-L — Raw Length (code points including marks)9
R-L — Raw Letter Count5
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 RemovedNOT AVAILABLE
R006 Actual After PrefixNOT AVAILABLE
R006 Actual Prefix ArithmeticNOT AVAILABLE
R006 Actual Form-Specific Marker RemovedNOT AVAILABLE
R006 Actual After Form RemovalNOT AVAILABLE
R006 Actual Form ArithmeticNOT AVAILABLE
R006 Form-Specific Adjustment RationaleNOT 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":[7]}
P-R — Existing Pattern Evidence{"ضحك":{"internal long vowel":"internal long vowel"}}
R007 T Candidates[]
R008 Index (parsed from existing candidates)[]
R008 Form.T.Index Candidates[]
R008 StatusUNRESOLVED
R008 Guard Accepted[]
R008 Guard Rejected[]
R008 Guard Unverified[]
Authoritative Full PatternNOT AVAILABLE
Authoritative Full Structural UnitsNOT AVAILABLE
Prefix / S-I Synchronization (existing verdict)NOT AVAILABLE
Read-only. R006 removal rows use only the actual trace captured by R006; no display-only stripping or morphology matching. The suffix-stripped stem is supplied upstream. The R008 index is parsed for display from existing Form.T.Index candidates, not independently recognized. Missing authoritative fields remain NOT AVAILABLE. [] is an observed empty result.

ACE Stage Audit (MOD-151)

StageExecutionOutcomeReason
R006HANDOFF_COMPLETEUNRESOLVEDResult retained in token diagnostic evidence
R007HANDOFF_COMPLETEUNRESOLVEDResult retained in token diagnostic evidence
R008HANDOFF_COMPLETEUNRESOLVEDResult retained in token diagnostic evidence
R009HANDOFF_COMPLETEUNRESOLVEDResult retained in token diagnostic evidence
R010SKIPPEDDictionary review queue is rendered after token loop; not a per-token verifier
R011HANDOFF_COMPLETEDIAGNOSTIC_RESULTRead-only R011 results included in full diagnostic JSON
Full token analysis and diagnostic evidence (all fields)
{
    "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": 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": {
            "ضحك": {
                "internal long vowel": "internal long vowel"
            }
        },
        "findings": {
            "suff_nouns": [
                7
            ]
        },
        "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": 1506,
                "root": "ضحك"
            }
        ],
        "reason": "Extracted root found in dictionary; no full-token comparison required"
    },
    "legacy_record_verification": {
        "status": "VALIDATION_PENDING",
        "records": [],
        "root_records": [
            {
                "id": "1506",
                "root": "ضحك"
            }
        ],
        "roots": [
            "ضحك"
        ],
        "reason": "Generator adapter not connected or candidate untestable",
        "tested": 0,
        "untestable": 1
    }
}
Dictionary records for candidate roots (1)
Record 1506 · root ضحك
{
    "root": "DHk",
    "root_type": "triliteral",
    "form": 1,
    "arabic": "ضَحِكَ",
    "english": "laugh",
    "english2": "make someone laugh",
    "english5": "smile broadly, laugh intensely",
    "english8": "break into laughter suddenly (rare)",
    "english10": "try to make someone laugh (rare\/archaic)",
    "urdu": "ہنسنا",
    "verbalnoun117": "ضَحِك",
    "verbalnoun2": "ضُحْكَة",
    "activeparticiple115": "ضَاحِك",
    "passiveparticiple116": "مَضْحُوك",
    "activepast11": "ضَحِكَ",
    "activeimperfect12": "يَضْحَكُ",
    "imperative113": "اِضْحَكْ",
    "passiveperfect17": "ضُحِكَ",
    "passiveimperfect18": "يُضْحَكُ",
    "activeheavyemphatic16": "لَيَضْحَكَنَّ"
}
#2مُّسْتَبْشِرَةٌROOT VALIDATED · Record 288Form.T.Index: pendingNative R008: UNRESOLVEDSuffix: َةٌ | Pronoun: | Role: | Stem: مُسْتَبْشِرR009: UNRESOLVEDR008: UNRESOLVEDبشر
Suffixَةٌ
Preserved stemمُسْتَبْشِر
R009 execution status (MOD-099)UNRESOLVED
R008 diagnostic status (MOD-068)UNRESOLVED
R008 final R006/R007 handoff exclusions (MOD-068)0.15 withheld from final R008 handoff (original R007 hypothesis retained)
Morphology & segmentation (8 fields)
Root typesurface-test
VoiceUndetermined
Normalized stemمستبشر
Internal vowelsu · sukun · a · sukun · i
Length6
Analysis statusMatched
Analysis token (normalized input)مُسْتَبْشِرَةٌ
Root candidates (all)بشر
Verification & records (6 fields)
Dictionary root statusVALIDATED
Matching record IDs288
Root-associated record IDs (legacy verification)288
Dictionary root verification explanationExtracted root found in dictionary; no full-token comparison required
Legacy token records tested (no match)0
Legacy token records not testable1
Rule diagnostics (5 fields)
Legacy R007 (reference only)Nominal candidate (tanwin)
New R007 (isolated diagnostic)R006 Forms: unresolved; Voice: nominal; T: 15; HYPOTHESIS + NOMINAL EVIDENCE (overlaps retained)
MOD-105 native R008 statusUNRESOLVED
R008 full-pattern guard (MOD-068)accepted=0; rejected=0; unverified=0 (counts reflect R008 hypotheses; authoritative expected_surface_units not supplied)
Structural patternsبشر: prefix s t
Extended diagnostics: patterns, traces and source evidence
Suffix-family evidence (MOD-032)
suff_nouns: physically detected; full Form/T pattern required
NDCL / DCL Step Trace (expand)
NDCL-01Exact NDNO MATCHAlternative not matched
NDCL-02Prepend + NDNO MATCHAlternative not matched
NDCL-03ND + AppendNO MATCHAlternative not matched
NDCL-04Prepend + ND + AppendNO MATCHAlternative not matched
DCL-01Token LengthEVIDENCEToken: مُسْتَبْشِرَةٌ; source length field: 6
DCL-02Suffix RemovalEVIDENCEPhysical suffix: َةٌ; families/indices: suff_nouns [7]
DCL-03Length After Suffix RemovalEVIDENCEPreserved stem after suffix removal: مُسْتَبْشِر
DCL-04Length Without VowelsEVIDENCENormalized stem: مستبشر; reported structural length: 6
DCL-05Root CandidatesEVIDENCERoot candidates: بشر
DCL-06Form CandidatesEVIDENCER006 Form candidates: none reported
DCL-07Form IdentifierEVIDENCER006 forms: unresolved; R007 voice: nominal
DCL-08T CategoriesEVIDENCER007 T candidates: 15
DCL-09Person / Declension IndexEVIDENCEActual prefix: (none); compatible Form.T.Index: none reported; prefix-person compatibility applied by MOD-038
DCL-10Dictionary VerificationEVIDENCEDictionary ROOT status: VALIDATED; matching record IDs: 288; no full-token validation required
بشر — Base English translation
Record 288 · to give good news
ACE Structural Diagnostics (actual trace; unique values)
FeatureExisting / trace value
Full Tokenمُّسْتَبْشِرَةٌ
R-L — Raw Length (code points including marks)15
R-L — Raw Letter Count7
Suffix Removed (upstream R001/R002)َةٌ
R-U — Preserved Stem (with marks)مُسْتَبْشِر
R-U — Normalized Stemمستبشر
R-U Length (existing controller)6
Prefix (controller fallback)NOT AVAILABLE
R006 Actual Prefix RemovedNOT AVAILABLE
R006 Actual After PrefixNOT AVAILABLE
R006 Actual Prefix ArithmeticNOT AVAILABLE
R006 Actual Form-Specific Marker RemovedNOT AVAILABLE
R006 Actual After Form RemovalNOT AVAILABLE
R006 Actual Form ArithmeticNOT AVAILABLE
R006 Form-Specific Adjustment RationaleNOT 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":[7]}
P-R — Existing Pattern Evidence{"بشر":{"prefix s t":"prefix s t"}}
R007 T Candidates[15]
R008 Index (parsed from existing candidates)[]
R008 Form.T.Index Candidates[]
R008 StatusUNRESOLVED
R008 Guard Accepted[]
R008 Guard Rejected[]
R008 Guard Unverified[]
Authoritative Full PatternNOT AVAILABLE
Authoritative Full Structural UnitsNOT AVAILABLE
Prefix / S-I Synchronization (existing verdict)NOT AVAILABLE
Read-only. R006 removal rows use only the actual trace captured by R006; no display-only stripping or morphology matching. The suffix-stripped stem is supplied upstream. The R008 index is parsed for display from existing Form.T.Index candidates, not independently recognized. Missing authoritative fields remain NOT AVAILABLE. [] is an observed empty result.

ACE Stage Audit (MOD-151)

StageExecutionOutcomeReason
R006HANDOFF_COMPLETEUNRESOLVEDResult retained in token diagnostic evidence
R007HANDOFF_COMPLETEHYPOTHESISResult retained in token diagnostic evidence
R008HANDOFF_COMPLETEUNRESOLVEDResult retained in token diagnostic evidence
R009HANDOFF_COMPLETEUNRESOLVEDResult retained in token diagnostic evidence
R010SKIPPEDDictionary review queue is rendered after token loop; not a per-token verifier
R011HANDOFF_COMPLETEDIAGNOSTIC_RESULTRead-only R011 results included in full diagnostic JSON
Full token analysis and diagnostic evidence (all fields)
{
    "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": "HYPOTHESIS",
            "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": 2,
        "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": 6,
        "root_candidates": [
            "بشر"
        ],
        "root_patterns": {
            "بشر": {
                "prefix s t": "prefix s t"
            }
        },
        "findings": {
            "suff_nouns": [
                7
            ]
        },
        "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: 15; HYPOTHESIS + NOMINAL EVIDENCE (overlaps retained)",
    "mod035_form_t_index": [],
    "r007_t_candidates": [
        15
    ],
    "r007_voice": "nominal",
    "r007_status": "HYPOTHESIS + NOMINAL EVIDENCE (overlaps retained)",
    "nominal_evidence": "tanwin",
    "resolved_findings": [],
    "dictionary_root_verification": {
        "status": "VALIDATED",
        "roots": [
            "بشر"
        ],
        "records": [
            {
                "id": 288,
                "root": "بشر"
            }
        ],
        "reason": "Extracted root found in dictionary; no full-token comparison required"
    },
    "legacy_record_verification": {
        "status": "VALIDATION_PENDING",
        "records": [],
        "root_records": [
            {
                "id": "288",
                "root": "بشر"
            }
        ],
        "roots": [
            "بشر"
        ],
        "reason": "Generator adapter not connected or candidate untestable",
        "tested": 0,
        "untestable": 1
    }
}
Dictionary records for candidate roots (1)
Record 288 · root بشر
{
    "root": "بشر",
    "root_type": "triliteral",
    "arabic": "بَشَرَ",
    "english": "to give good news",
    "urdu": "خوشخبری دینا",
    "verbalnoun117": "بِشَارَة",
    "verbalnoun2": "",
    "verbalnoun3": "",
    "activeparticiple115": "بَاشِر",
    "passiveparticiple116": "مَبْشُور",
    "activepast11": "بَشَرَ",
    "activeimperfect12": "يَبْشُرُ",
    "imperative113": "اِبْشُرْ",
    "passiveperfect17": "بُشِرَ",
    "passiveimperfect18": "يُبْشَرُ",
    "activeheavyemphatic16": "لَيَبْشُرَنَّ",
    "form": 1
}

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.

R010 — Dictionary Root Review Queue (MOD-033)

Read-only root lookup. Morphological Form/T/index verification is separate. No dictionary files modified.