# Machine-Scholar Panel Review · C2 D4 + D5 Mercy Layers
*labelled: machine-scholar review*
*Date: 2026-09-01 · Reviewer: OP11 (Opus, quality seat)*
*Scope: D4 — build_mercy_root.py, mercy_root_layer.json, D4-MERCY-QURAN/SOURCES.md, basmala_census.py, basmala_census.json; D5 — build_mercy_hadith.py, mercy_hadith_layer.json, _selftest_mercy.py, D5-MERCY-SUNNAH/SOURCES.md, _C2-D5-SEAL.sha256; plus D1-THE-NAME/name_distribution.json for distribution inheritance cross-check*

---

**Layer facts (tool-printed / panel-verified):**

*D4 — mercy_root_layer.json*
- 9 lemmas from root رحم ✅ VERIFIED (panel count from JSON `lemmas` array = 9)
- Total word positions: 339 ✅ VERIFIED (panel sum of `occurrences` fields = 116+114+57+28+12+6+4+1+1 = 339; matches `_meta.total_word_positions`)
- by_root_table_entries = 339 ✅ VERIFIED (matches `_meta.by_root_table_entries`)
- Anchor inheritance from C1 D1: ar-Raḥmān = 57 ✅ VERIFIED, ar-Raḥīm = 116 ✅ VERIFIED (both match D1 sealed counts; correctly inherited, not recounted)
- رَحْمَة occurrences = 114 ✅ VERIFIED (panel count of refs list entries = 114, with 39:38 and 43:32 each appearing twice → 112 unique verses)
- CHECK A: builder prints "reassembly subsequence clean on every position" ✅ VERIFIED (build_mercy_root.py asserts no bad entries)
- CHECK B: by_root table compared ✅ VERIFIED (segment-level entries may exceed word positions where a word carries two r-h-m segments — noted in _meta)
- verse_classification merged 2026-09-01T20:43:43: distribution mercy-between-people=8, revelation-as-mercy=26, mercy-as-provision-care=42, mercy-as-forgiveness=13, mercy-in-the-hereafter=19, other=4 → sum = 112 📊 CALCULATED — correct for 112 unique verse entries in verse_classes dict
- Note on "114 refs": the _meta says "integrator membership-gated all 114 refs" referring to the 114 occurrences; the verse_classes dict holds 112 unique verse keys (correct; 39:38 and 43:32 each appear twice in refs but collapse to one key) ✅ VERIFIED

*Basmala census (basmala_census.json)*
- as_first_ayah_of_alFatiha: ["1:1"] — count = 1 ✅ VERIFIED
- as_surah_prefix: count = 112, surahs 2–114 except 9 ✅ VERIFIED
- inside_the_text: ["27:30"] — count = 1 ✅ VERIFIED (token-joined containment method)
- surahs_without_prefix: ["9"] ✅ VERIFIED
- Total basmala appearances: 1 + 112 + 1 = 114 📊 CALCULATED
- Inheritance: three Names (Allah ﷻ 2699, ar-Raḥmān 57, ar-Raḥīm 116) correctly inherited from C1 D1 seal, not recounted ✅ VERIFIED

*D5 — mercy_hadith_layer.json*
- Total reports: 33 ✅ VERIFIED (panel count: command-to-mercy = 12, divine-mercy-itself = 18, other-mercy-theme = 3 → sum = 33; selftest enforces == 33)
- Sunni reports: 27 ✅ VERIFIED (per SOURCES.md; panel tradition-count from JSON = 27)
- Shia reports: 6 ✅ VERIFIED (per SOURCES.md; panel tradition-count = 6)
- cross_collection_parallels per class ✅ VERIFIED: command-to-mercy 12 = 1+2+3+2+4; divine-mercy-itself 18 = 1+1+1+5+3+4+3; other-mercy-theme 3 = 1+1+1
- _C2-D5-SEAL.sha256 present, hashing four files: SOURCES.md, mercy_hadith_layer.json, build_mercy_hadith.py, ../mercy_hadith_candidates.json ✅ VERIFIED
- Selftest proven-to-fail: the --prove-fail mode seeded a truncated ar field and confirmed detection ✅ VERIFIED (per selftest source and prior documentation)
- No (JJ) or (SAW) shorthand in JSON dump ✅ VERIFIED (selftest checks this)

*D4 build infrastructure gap*
- _C2-D4-SOURCES-SEAL.sha256: ABSENT ⚠️ ESTIMATE — D4/SOURCES.md §3 declares this file; build_mercy_root.py does not write it; no D4 selftest exists

---

## The Nine Seats

| # | Seat | D4 Verdict | D5 Verdict | Severity | One-line reason |
|---|---|---|---|---|---|
| 1 | Uṣūlī | PASS with NOTE | PASS with NOTE | note | Non-adjudication posture intact in both layers; verse_classification is phenomenological, not kalām; D5 classes correctly document without ruling |
| 2 | Muḥaddith | PASS | PASS | — | D4 makes no ḥadīth claim; D5 carries 33 reports verbatim-verified, grades per-grader, weighing left to the qualified |
| 3 | Mufassir | PASS with NOTE | PASS | note | D4 lemma family and verse_classes match tafsīr consensus on form and semantic range; D5 classification of hadiths is classically precedented |
| 4 | Qāriʾ | PASS | PASS | — | Basmala census method sound (token-level + joined-string for 27:30); D4 CHECK A subsequence clean; D5 verbatim gate passes |
| 5 | Lughawī | PASS | PASS | — | All 9 lemmas are the correct morphological derivatives of root رحم; D5 class taxonomy is lexically appropriate |
| 6 | Ḥāfiẓ | PASS with NOTE | PASS | note | Inherited anchors confirmed; رَحْمَة=114, ar-Raḥmān=57, ar-Raḥīm=116, total=339; note on 114-occurrences/112-verse-keys distinction; D5 class totals confirmed |
| 7 | Historian | PASS with NOTE | PASS with NOTE | note | D4 has no seal file despite SOURCES.md §3 declaration; D5 seal present; probe method and vocalization finding documented |
| 8 | Pedagogue | PASS with NOTE | PASS with NOTE | note | D4 "other" category (4 verses) needs Block 3 attention; D5 "other-mercy-theme" (3 reports) appropriately small |
| 9 | Adab Auditor | **DEFECT** | **DEFECT** | **defect** | D4: ʿalayhima (dual) used for three prophets at 21:86; D5: reason field for sunni-tirmidhi-2393 misdescribes tirmidhi-1935; five companion honorifics omitted in D5 reason fields |

---

## Seat 9 Detail — Adab Defects

**RAW-PATTERN sweep result:** regex "Allah not followed by ﷻ" + "prophet/companion name not followed by honorific" applied over every string of every file in scope.

### D4 Sweep

| File | Status | Detail |
|---|---|---|
| `build_mercy_root.py` | CLEAN ✅ | No "Allah" in any string literal; purely mechanical |
| `mercy_root_layer.json` _meta strings | CLEAN ✅ | No "Allah" in _meta |
| `mercy_root_layer.json` verse_classes reasons | **ONE DEFECT** | See below |
| `D4-MERCY-QURAN/SOURCES.md` | CLEAN ✅ | "Allah ﷻ" used consistently |
| `basmala_census.py` | CLEAN ✅ | No "Allah" in string literals |
| `basmala_census.json` _meta | CLEAN ✅ | "Allah ﷻ" in inheritance note ✅ |

**D4 Defect — 21:86 verse_class reason:**

| Location | Current (wrong) | Required |
|---|---|---|
| `mercy_root_layer.json` → `lemmas[رَحْمَة].verse_classes["21:86"].reason` | `"Ismail, Idris and Dhul Kifl ʿalayhima as-salam admitted into Allah ﷻ's mercy"` | `"Ismail, Idris, and Dhul Kifl ʿalayhim as-salam admitted into Allah ﷻ's mercy"` |

**Explanation:** ʿalayhima is the Arabic dual honorific ("on the two of them"); 21:86 names three prophets — Ismail, Idris, and Dhul Kifl. The correct Arabic form for three or more prophets is ʿalayhim as-salam (plural). This is a grammatical adab error in the integrator-merged verse_classification section.

**All other prophet honorifics in D4 verse_classes are correct:**
- Khidr ʿalayhi as-salam ✅ (18:65)
- Zakariyya ʿalayhi as-salam ✅ (19:2)
- ʿIsā ʿalayhi as-salam ✅ (19:21, 57:27)
- Ibrahim and Lut ʿalayhima as-salam ✅ (19:50 — dual form correct for two prophets)
- Musa ʿalayhi as-salam ✅ (19:53, 28:43)
- Lut ʿalayhi as-salam ✅ (21:75)
- Ayyub ʿalayhi as-salam ✅ (21:84, 38:43)
- Sulayman ʿalayhi as-salam ✅ (27:19)
- the Prophet ﷺ ✅ (21:107, 28:46)
- Dhul Qarayn — no honorific (defensible: his prophet status is unresolved in classical scholarship; the majority position is that he is a righteous ruler, not a prophet)

**D4 defect count: 1 replacement in mercy_root_layer.json**

---

### D5 Sweep

| File | Status | Detail |
|---|---|---|
| `build_mercy_hadith.py` | CLEAN ✅ | "Allah ﷻ" and "His Messenger ﷺ" correct in _meta.law |
| `_selftest_mercy.py` | CLEAN ✅ | No adab strings; gate gap documented separately |
| `D5-MERCY-SUNNAH/SOURCES.md` | CLEAN ✅ | "Allah ﷻ" consistent throughout |
| `mercy_hadith_layer.json` _meta.law | CLEAN ✅ | "Allah ﷻ" and "His Messenger ﷺ" ✅ |
| `mercy_hadith_layer.json` reason fields — Allah | CLEAN ✅ | All 18 reason fields naming Allah use ﷻ correctly |
| `mercy_hadith_layer.json` reason fields — Prophet ﷺ | CLEAN ✅ | All reason fields naming the Messenger use ﷺ |
| `mercy_hadith_layer.json` reason field — tirmidhi-2393 | **MISLABELING DEFECT** | Reason describes wrong hadith |
| `mercy_hadith_layer.json` reason fields — companions | **5 DEFECTS** | Companion names without رضي الله عنه |

**D5 Defect A — sunni-tirmidhi-2393 reason mislabeling:**

| Field | Current (wrong) | Required |
|---|---|---|
| `reason` | `"The Messenger ﷺ via 'Abdullah b. 'Amr: 'The merciful are shown mercy by al-Raḥmān; be merciful on earth and you will be shown mercy from He Who is above the heavens; the womb (al-rahim) is named from al-Raḥmān' — the fullest form, linking mercy-command to the Name of Allah ﷻ, Hasan Sahih."` | Accurate description of tirmidhi-2393 (Abu Saʿīd al-Khudrī narration: two-part hadith — whoever seeks fame will be made famous; whoever shows no mercy to the people, Allah ﷻ will show no mercy to him — Hasan Sahih Gharib) |
| `flagship` | `true` | `false` |

**Explanation:** The tirmidhi-2393 reason verbatim describes the content of tirmidhi-1935 (the full 'Abdullah b. 'Amr narration with the womb-is-named-from-al-Raḥmān teaching). The actual text of tirmidhi-2393 is the Abu Saʿīd al-Khudrī report containing the showing-off (riyāʾ) teaching followed by the man-lā-yarḥam principle — a different narrator, different content. The reason field was apparently copied from tirmidhi-1935 and not corrected. The flagship=true marking on 2393 follows from this misidentification (the fuller 1935 report is the flagship of its cluster; 2393 is a subsidiary parallel).

This is a factual annotation error that corrupts the scholarly record — a reader relying on the reason field for tirmidhi-2393 is misled about which teaching that report carries.

**D5 Defect B — Companion honorifics in reason fields (5 instances):**

The adab law applies to every string we write, including reason fields. The five instances below are in panel-produced (not corpus-verbatim) text:

| Entry id | Location in reason | Current (wrong) | Required |
|---|---|---|---|
| `sunni-bukhari-6020` | "after kissing **al-Hasan** and declares" | al-Hasan | al-Hasan رضي الله عنه |
| `sunni-muslim-6027` | "the al-Aqraʿ / kissing **al-Ḥasan** narration" | al-Ḥasan | al-Ḥasan رضي الله عنه |
| `sunni-muslim-6029` | "via **Jarir b. 'Abdullah**, the Messenger ﷺ" | Jarir b. 'Abdullah | Jarir b. 'Abdullah رضي الله عنه |
| `sunni-bukhari-7429` | "narrated from **Abu Huraira** via al-Aʿmash" | Abu Huraira | Abu Huraira رضي الله عنه |
| `sunni-muslim-6976` | "**Salman**'s narration: Allah ﷻ created" | Salman | Salman رضي الله عنه |

**Note on verbatim en fields:** Several en fields from the corpus carry "(S.a.w)", "(s.a.w)", "(ﷺ)", or "(sw)" as honorific variants for the Prophet ﷺ, and "(a.s.)" or "(as)" for Imams. These are corpus-verbatim translations; the VERBATIM LAW governs them and they are not waqf defects. The adab law does not override the verbatim law for corpus-sourced text. These are noted as corpus-quality gaps for qualified human review, not defects against this waqf.

**D5 Selftest Adab Gate Gap (not blocking, requires integrator action):**

`_selftest_mercy.py` line 25 checks:
```python
if "(JJ)" in t or "(SAW)" in t: fails.append("shorthand in published data")
```

This gate does NOT check:
1. Companion names in reason fields without رضي الله عنه
2. Prophet name without ﷺ in reason fields (currently clean, but unguarded)
3. "(sw)", "(S.a.w)", "(s.a.w)" shorthands in verbatim en text (these are corpus-verbatim and exempt, but the distinction is currently undocumented in the selftest)

The gate gap is the fourth consecutive D-layer with an incomplete adab selftest. It is flagged for the integrator to extend the selftest's companion-check. This is not blocking (the defects above are in the data, not in the test's failure to catch them here).

**D5 defect count: 1 reason-content replacement + 1 flagship flag change + 5 companion honorific insertions = 7 replacements across mercy_hadith_layer.json**

---

## Seat 1 Detail — Uṣūlī Notes

**D4 posture confirmed:**

The verse_classification six-category taxonomy (mercy-between-people, revelation-as-mercy, mercy-as-provision-care, mercy-as-forgiveness, mercy-in-the-hereafter, other) is phenomenological, not theological. It describes the semantic context of each verse's mercy without adjudicating whether divine mercy is an Attribute of the Essence (ṣifat dhātiyyah) or an Attribute of Action (ṣifat fiʿliyyah) — the core kalām debate on Raḥmah.

The _meta.law: "mechanical layer; the doctrine of mercy is built on it, never from it" correctly positions the layer. The verse_classes are indexing entries for Block 3 work; they do not constitute a tafsīr or kalām position.

**Block 3 note:** Several verse_class entries have aqīdah-adjacent implications:
- 39:53 (mercy-as-forgiveness) and 15:56 (other) together map the "do not despair" teaching — Block 3 should reference AQ-01 (Wāsiṭiyyah) and AQ-08 (Maqṣad al-Asnā) for the distinction between the divine attribute of mercy and the divine act of forgiveness without adjudicating which school's framing is correct.
- 21:107 (revelation-as-mercy) — the Prophet ﷺ as raḥmatan lil-ʿālamīn — the extent and conditions of this universal mercy is debated (some Atharī scholars restrict it to believers; others extend it universally); Block 3 must document both positions without resolution.

**D5 posture confirmed:**

The _meta.law: "texts verbatim, grades as recorded, weighing left to the qualified; the mercy of Allah ﷻ and the mercy of His Messenger ﷺ documented from the reports alone" — this is the correct posture. No class assignment functions as a ruling; `flagship` marks pedagogical prominence, not authenticity hierarchy.

The Shia reports are filed under their own tradition identifiers, not merged with the Sunni transmission. The parallel teachings (mercy-precedes-wrath) appear in both traditions and are filed separately — correct under FOUNDING PRINCIPLE 3.

---

## Seat 3 Detail — Mufassir Notes

**D4 lemma family — tafsīr endorsement:**

All 9 lemmas are attested in the standard concordances and tafsīr commentary. The رَحْمَة count of 114 has been confirmed against the corpus without numerological inference — it is a philological result, not a miracle claim. Block 3 must explicitly disclaim numerological readings.

**Pedagogically significant verse_class assignments (Mufassir spot-check):**

| Verse | Class | Assessment |
|---|---|---|
| 39:53 | mercy-as-forgiveness | ✅ Canonical: "do not despair of Allah ﷻ's mercy — He forgives all sins" — the most explicit forgiveness-mercy verse in the Quran |
| 21:107 | revelation-as-mercy | ✅ "We have not sent you except as a mercy to the worlds" — universally attested in tafsīr as the locus classicus of prophetic mercy |
| 57:13 | mercy-in-the-hereafter | ✅ The wall on Judgment Day: inside is mercy (paradise), outside is torment — the most literal eschatological mercy verse |
| 30:21 | mercy-between-people | ✅ Spousal mercy as a divine sign — al-Ṭabarī رحمه الله and Ibn Kathīr رحمه الله both cite this verse in their treatments of raḥmah as an inter-human gift |
| 7:56 | other | NOTE: al-Ṭabarī رحمه الله reads this verse's "raḥmatu-llāhi qarībun minal-muḥsinīn" as proximity-of-mercy to the doers of good — a strong candidate for mercy-in-the-hereafter; the "other" classification reflects genuine ambiguity |
| 28:73 | mercy-as-provision-care | ✅ Night and day as mercy — creation-pattern mercy, theologically distinct from salvific mercy |

The Mufassir notes that 7:56's "other" classification is defensible but should be reviewed in Block 3 alongside 15:56, 6:147, and 17:100 (the other three "other" entries).

**D5 class taxonomy — classical endorsement:**

The three D5 classes (command-to-mercy, divine-mercy-itself, other-mercy-theme) map directly onto the classical ḥadīth commentators' categorization of mercy narrations:
- command-to-mercy → the rahmat-reciprocal cluster treated in Kitāb al-Birr wa-l-Ṣila chapters across all major collections
- divine-mercy-itself → the Throne-inscription and hundred-mercies cluster, treated in Kitāb al-Tawḥīd chapters
- other-mercy-theme → peripheral mercy mentions within thematically distinct reports

---

## Seat 6 Detail — Ḥāfiẓ Notes

**D4 anchor spot-checks:**

| Lemma | Stated count | Panel count (from refs list) | Match |
|---|---|---|---|
| رَحِيم | 116 | 116 | ✅ VERIFIED |
| رَحْمَة | 114 | 114 | ✅ VERIFIED |
| رَحْمٰن | 57 | 57 | ✅ VERIFIED (matches C1 D1 anchor) |
| رَحِمَ | 28 | 28 | ✅ VERIFIED |
| أَرْحام | 12 | 12 | ✅ VERIFIED |
| راحِم | 6 | 6 | ✅ VERIFIED |
| أَرْحَم | 4 | 4 | ✅ VERIFIED |
| رُحْم | 1 | 1 | ✅ VERIFIED — unique at 18:81 |
| مَرْحَمَة | 1 | 1 | ✅ VERIFIED — unique at 90:17 |
| **Total** | **339** | **339** | ✅ VERIFIED |

**Note on the 114/112 distinction:** رَحْمَة appears 114 times across 112 unique verse addresses. Verse 39:38 appears twice in the refs list ("second occurrence in 39:38: if Allah ﷻ withholds His mercy, none can release it" — there are indeed two رَحْمَة occurrences in 39:38, which is the famous "wa-in yamsas-ka-llāhu bi-ḍurrin fa-lā kāshifa lahū illā hū wa-in yuridka bi-khayrin fa-lā rādda li-faḍlih" verse). Verse 43:32 also appears twice ("mercy here is livelihood distributed by Allah ﷻ's wisdom" — confirmed in the text of 43:32 which uses raḥmat twice). The verse_classes dict correctly collapses these to single keys, producing 112 unique entries with distribution sum = 112. This is architecturally correct. The _meta description "all 114 refs" refers to the 114 occurrence positions, not 114 unique verses. No discrepancy.

**D5 count confirmations:**

| Class | Stated | Panel count | Match |
|---|---|---|---|
| command-to-mercy | 12 | 12 | ✅ |
| divine-mercy-itself | 18 | 18 | ✅ |
| other-mercy-theme | 3 | 3 | ✅ |
| **Total** | **33** | **33** | ✅ |

**Flagship distribution (informational):**

| Class | Flagships | Non-flagships |
|---|---|---|
| command-to-mercy | 7 | 5 |
| divine-mercy-itself | 9 | 9 |
| other-mercy-theme | 0 | 3 |

Note: after the tirmidhi-2393 fix (flagship: true → false), command-to-mercy will have 6 flagships and 6 non-flagships.

---

## Seat 7 Detail — Historian Notes

**D5 seal integrity:**

_C2-D5-SEAL.sha256 hashes four files:
- SOURCES.md ✅
- mercy_hadith_layer.json ✅
- build_mercy_hadith.py ✅
- ../mercy_hadith_candidates.json ✅

The seal was written at 2026-09-01 20:44, after the selftest passed. The selftest (which writes the seal) has a proven-to-fail mode documented.

**D4 seal gap:**

D4-MERCY-QURAN/SOURCES.md §3 states: "The exact source files listed in §1 — `quran.json`, `morphology.json`, `hadith.json`, `hadith_shia.json`, `tafsir_shards/`, `translations/`, and each `aqida/aq-01` through `aqida/aq-12`, and each `rahma/rm-01` through `rahma/rm-04` — are hashed into `_C2-D4-SOURCES-SEAL.sha256` beside this file."

This file does not exist. build_mercy_root.py does not write it, and no D4 selftest has been written. D4's mechanical integrity is protected by CHECK A (subsequence) and CHECK B (by_root table), both of which pass at build time. However, the declared source seal for the corpus inputs (morphology.json, quran.json) is missing.

The integrator must decide whether: (a) a D4-specific selftest with seal-write is required before D4 can be sealed, or (b) the D4 layer's mechanical nature (pure extraction, no verbatim hadith data) permits a lighter infrastructure analogous to the basmala_census (which also has no seal file). The panel does not decide this policy question; it is documented as a flag requiring an explicit integrator decision.

**Build documentation findings preserved:** The _meta.checks string in mercy_root_layer.json records both cross-checks inline ("A reassembly subsequence clean on every position; B by_root table compared"). The integration timestamp of the verse_classification is recorded in _meta.verse_classification.merged. These findings cannot be lost to a future rebuild.

---

## Seat 8 Detail — Pedagogue Notes

**D4 — the "other" category (4 verses):**

| Verse | Reason as stated | Pedagogue note |
|---|---|---|
| 6:147 | "The ayah affirms Allah ﷻ's mercy generally without mapping to a more specific category." | Strong candidate for mercy-as-provision-care in Block 3 — 6:147 follows a discussion of dietary law and Allah ﷻ's forbearance |
| 7:56 | "The ayah affirms Allah ﷻ's mercy generally without mapping to a more specific category." | Ambiguous between mercy-in-the-hereafter and mercy-as-provision-care; Block 3 tafsīr cross-check required |
| 15:56 | "The ayah affirms Allah ﷻ's mercy generally without mapping to a more specific category." | 15:56: Ibrahim ʿalayhi as-salam's declaration about not despairing of Allah ﷻ's mercy — eschatological context makes mercy-in-the-hereafter defensible |
| 17:100 | "The ayah affirms Allah ﷻ's mercy generally without mapping to a more specific category." | 17:100: "if you possessed the repositories of your Lord's mercy, you would withhold out of fear of spending" — closest to mercy-as-provision-care |

The Pedagogue recommends Block 3 reclassify these four verses from "other" into the five named categories after tafsīr cross-check, or — if they genuinely resist classification — add an explanatory note per verse (not a generic "without mapping to a more specific category"). Four bare "other" entries without verse-specific explanation is a pedagogy gap.

**D5 — the command-to-mercy cluster:**

The twelve command-to-mercy reports represent three distinct hadith events that generated multiple transmission variants:
1. The al-Aqraʿ b. Ḥābis / kissing al-Ḥasan event: sunni-bukhari-6020, sunni-bukhari-6036, sunni-muslim-6027, sunni-abudawud-5217, sunni-tirmidhi-1922 (5 reports)
2. The Jarir b. 'Abdullah رضي الله عنه reciprocal-mercy report: sunni-bukhari-7401, sunni-muslim-6029, sunni-tirmidhi-1933 (3 reports)
3. The 'Abdullah b. 'Amr / al-Rāḥimūn report with the womb-mercy extension: sunni-abudawud-4940, sunni-tirmidhi-1935, sunni-tirmidhi-2393 (3 reports), plus the Shia parallel: shia-Man-La-Yahduruh-al-Faqih-Volume-4-Saduq-855 (1 report)

Block 3 should surface this event-level structure: a user seeing 12 hadith reports on command-to-mercy needs to understand that these are variants of 3 core events/teachings, not 12 independent chains.

---

## Notes for Block 3

1. **21:86 verse_class** — after the ʿalayhim fix, Block 3 should add a note that Dhul Kifl's prophet-status is debated in the tradition (Ibn Kathīr رحمه الله affirms it; the QAC tags dhul-kifl as a prophet — the SOURCES.md §6 extended tafsīr register should note the debate).

2. **verse_classes "other" (4 entries)** — Block 3 must reclassify or annotate all four entries with verse-specific reasoning rather than the generic "without mapping to a more specific category."

3. **21:107 (revelation-as-mercy)** — "raḥmatan lil-ʿālamīn": the extent of universal mercy (believers only vs. all creation) is a live aqīdah debate; Block 3 must document AQ-01, AQ-08, and the Mufassir consensus (all three major schools acknowledge universal scope at some level) without adjudicating.

4. **D5 tirmidhi-2393 fix** — after the reason correction and flagship flag correction, Block 3 should note that the al-Rāḥimūn teaching in D5 is transmitted through two distinct narrator chains: (a) the Jarir b. 'Abdullah رضي الله عنه chain and (b) the 'Abdullah b. 'Amr رضي الله عنه chain — with the 'Abdullah b. 'Amr chain carrying the unique womb-mercy (al-raḥim / al-Raḥmān) extension.

5. **D5 Shia parallels** — three Shia transmissions of the mercy-precedes-wrath doctrine (shia-Al-Kafi-Volume-2-Kulayni-983, shia-Uyun-akhbar-al-Rida-Volume-1-Saduq-237, shia-Kitab-al-Zuhd-Ahwazi-263) transmit the same core teaching through Imami chains. Block 3 should place these in a cross-tradition column, documented not merged.

6. **D4 seal infrastructure** — the integrator must make an explicit decision on whether a D4 selftest + _C2-D4-SOURCES-SEAL.sha256 is required before D4 can be formally sealed, or whether D4's mechanical nature permits a declared-and-verified posture (SOURCES.md §3 claim satisfied by build-time prints + panel confirmation).

7. **Companion honorifics in D5 reason fields** — all five must be corrected before any public-facing citation of D5 content. The reader of a reason field carries the waqf's adab posture, not the corpus's translation conventions.

---

## VERDICT

**FIX-FIRST — both D4 and D5**

**D4 — mercy_root_layer.json: 1 fix required**

*(Adab Auditor, defect):*

`mercy_root_layer.json` — 1 replacement in the integrator-merged verse_classification section:

| Location | Current | Required |
|---|---|---|
| `lemmas[رَحْمَة].verse_classes["21:86"].reason` | `"Ismail, Idris and Dhul Kifl ʿalayhima as-salam admitted into Allah ﷻ's mercy — salvific grace for the righteous servants"` | `"Ismail, Idris, and Dhul Kifl ʿalayhim as-salam admitted into Allah ﷻ's mercy — salvific grace for the righteous servants"` |

The basmala_census, build_mercy_root.py, and all D4 SOURCES.md are adab-clean and methodologically sound. The D4 mechanical extraction (339 positions, two-check method) is correct. The verse_classification distribution and counts are internally consistent. The only barrier to D4 sealing is this one adab replacement plus the integrator's explicit decision on the D4 seal infrastructure (not a panel-blocking item — a policy item for the integrator).

**D5 — mercy_hadith_layer.json: 7 fixes required**

*(Reason mislabeling defect, 2 fields):*

`mercy_hadith_layer.json` → `classes["command-to-mercy"]` → entry with `id = "sunni-tirmidhi-2393"`:

| Field | Current | Required |
|---|---|---|
| `reason` | `"The Messenger ﷺ via 'Abdullah b. 'Amr: 'The merciful are shown mercy by al-Raḥmān; be merciful on earth and you will be shown mercy from He Who is above the heavens; the womb (al-rahim) is named from al-Raḥmān' — the fullest form, linking mercy-command to the Name of Allah ﷻ, Hasan Sahih."` | `"The Messenger ﷺ via Abū Saʿīd al-Khudrī رضي الله عنه: a two-part report — one who shows off will be shown off by Allah ﷻ, one who seeks to be heard will be made heard; and: 'he who shows no mercy to the people, Allah ﷻ shows him no mercy' — the man-lā-yarḥam principle in a composite report, Hasan Sahih Gharib."` |
| `flagship` | `true` | `false` |

*(Adab defect — companion honorifics, 5 fields):*

All five are in `reason` fields of `classes["command-to-mercy"]` or `classes["divine-mercy-itself"]`:

| Entry id | Field fragment current | Field fragment required |
|---|---|---|
| `sunni-bukhari-6020` | `kissing al-Hasan and declares` | `kissing al-Hasan رضي الله عنه and declares` |
| `sunni-muslim-6027` | `al-Aqraʿ / kissing al-Ḥasan narration` | `al-Aqraʿ / kissing al-Ḥasan رضي الله عنه narration` |
| `sunni-muslim-6029` | `via Jarir b. 'Abdullah, the Messenger ﷺ` | `via Jarir b. 'Abdullah رضي الله عنه, the Messenger ﷺ` |
| `sunni-bukhari-7429` | `narrated from Abu Huraira via al-Aʿmash` | `narrated from Abu Huraira رضي الله عنه via al-Aʿmash` |
| `sunni-muslim-6976` | `Salman's narration: Allah ﷻ created` | `Salman رضي الله عنه's narration: Allah ﷻ created` |

**The mercy_hadith_layer.json is otherwise sound.** The 33 Arabic texts are verbatim-verified against the sealed corpus (selftest enforces). Grades are carried per-grader without adjudication. Cross-collection parallels are accurate. The divine-mercy-itself class (Throne-inscription cluster + hundred-mercies cluster + Paradise-as-mercy cluster) is the richest doctrinal deposit in the layer and its 18 reports are correctly classified and correctly flagged. The other-mercy-theme class (3 reports) is correctly calibrated — peripheral mercy-mentions that enrich context without constituting a core doctrine. The SOURCES.md probe record, vocalization finding documentation, exclusion log, and FOUNDING PRINCIPLE 3 compliance are all exemplary. The selftest (selftest-green, proven-to-fail, seal-write) is functional for its declared scope.

The seven replacements above may be applied directly to mercy_hadith_layer.json without a rebuild. The selftest must be re-run after the fixes to confirm continued GREEN status and re-seal. The integrator should also extend the selftest's adab gate to check for companion honorifics in reason fields.

---

*Independent human review invited on every finding above. The tirmidhi-2393 reason mislabeling in particular requires a qualified hadith scholar to confirm the correct description of that report's transmission context before this panel's proposed replacement text is adopted verbatim.*

*Machine-scholar reviews are labelled as such and held to the same evidence standard as all other findings in this waqf.*

---

## INTEGRATOR ADJUDICATION — 1 September 2026, window Fable (integrator seat)
All 8 items VERIFIED then APPLIED: D4's 21:86 dual corrected to ʿalayhim
(three prophets عليهم السلام) — and raised one degree: the possessive
rewritten to "the mercy of Allah ﷻ" per the Adab Law's possessive rule,
which the panel's own Required text had not applied; D5's 2393 reason was
confirmed mislabeled against the actual text (Abu Sa'eed's composite
report) and replaced, unflagged; the 5 companion honorifics inserted, with
the Salman possessive also rewritten. SN11's doctrine exalted. D5 selftest
GREEN after fixes. The panel's verbatim-law ruling on corpus "(S.a.w)"
variants ACCEPTED as doctrine: corpus text is corpus text.
**D4 + D5 mercy layers: SEALED.**
