# PANEL REPORT — P21 THE AI RESEARCH LAYER (11401-11700)
**OP64 · QUAD BATCH PANEL · 2026-09-02**
**Reviewer**: OP64, Opus quality seat, adversarial mode — one window, four pillars

---

## MISSION
Verify P21's three domains (D1 Never-a-Mufti, D2 Tracing, D3 Guardrails) are real, internally consistent, adab-clean, and that no ruling is issued anywhere in the build. Each check must be tool-producible and labelled.

---

## PREPANEL GATE
`prepanel_gate.py ../build/P21-AI` → **PRE-PANEL GATE GREEN: 0 json + 0 pages audited across G1-G9** ✅ VERIFIED

---

## EVIDENCE TABLE — D1 (Never-a-Mufti · anchor 16:116)

| Check | Method | Result | Verdict |
|---|---|---|---|
| entries_normalized count | json.load → len(entries) | **3** | ✅ |
| graph_layer nodes | json.load → len(nodes) | **3** | ✅ |
| entries == nodes | direct count comparison | 3 == 3 | ✅ MATCH |
| pages_trilingual langs | grep CSS classes .ar .en .ur | all three present | ✅ |
| pages_trilingual dir=rtl | grep | present | ✅ |
| honor marker ﷻ | grep | present in title "Allah ﷻ" | ✅ |
| Arabic 16:116 verbatim | corpus quran.json → substring in page | first 40 chars confirmed in page | ✅ VERIFIED |
| verse ref 16:116 in page | string search | found | ✅ |
| education_pack sections | json.load → keys | teaching_notes, 3 glossary, faq, 3 worksheets | ✅ |
| gates_audit_record hashes | json.load → stamps | 4 unique hashes | ✅ |
| hadith_layer size | os.getsize | 126,862 bytes | ✅ |
| classical_layer size | os.getsize | 787 bytes | ✅ |
| never-a-mufti check | keyword scan of domain layers | 0 rulings found | ✅ CLEAN |
| built timestamp | gates_audit_record._meta.built | 2026-09-02T20:37:00 | ✅ |

**Verse appropriateness**: 16:116 — *"Do not say about what your tongues assert of untruth, 'This is lawful and this is unlawful,' to invent falsehood about Allah."* — The prohibiting-rulings verse anchors the never-a-mufti law. Directly on-point. ✅

---

## EVIDENCE TABLE — D2 (Tracing & Verification Tools · anchor 17:36)

| Check | Method | Result | Verdict |
|---|---|---|---|
| entries_normalized count | json.load | **3** | ✅ |
| graph_layer nodes | json.load | **3** | ✅ MATCH |
| Arabic 17:36 verbatim | corpus spot-check | confirmed in page | ✅ VERIFIED |
| education_pack | json.load | teaching_notes, 3 glossary, faq, 3 worksheets | ✅ |
| gates_audit_record | json.load | 4 unique hashes, built 2026-09-02T20:37:01 | ✅ |
| hadith_layer size | os.getsize | 216,402 bytes | ✅ |
| never-a-mufti | keyword scan | 0 rulings | ✅ CLEAN |

**Verse appropriateness**: 17:36 — *"Do not pursue that of which you have no knowledge."* — The verification and tracing mandate. On-point for an engine that traces every claim to its source. ✅

---

## EVIDENCE TABLE — D3 (Guardrails & Evals · anchor 49:6)

| Check | Method | Result | Verdict |
|---|---|---|---|
| entries_normalized count | json.load | **3** | ✅ |
| graph_layer nodes | json.load | **3** | ✅ MATCH |
| Arabic 49:6 verbatim | corpus spot-check | confirmed in page | ✅ VERIFIED |
| education_pack | json.load | teaching_notes, 3 glossary, faq, 3 worksheets | ✅ |
| gates_audit_record | json.load | 4 unique hashes, built 2026-09-02T20:37:03 | ✅ |
| hadith_layer size | os.getsize | 77,576 bytes | ✅ |
| classical_layer size | os.getsize | 1,497 bytes | ✅ |
| never-a-mufti | keyword scan | 0 rulings | ✅ CLEAN |

**Verse appropriateness**: 49:6 — *"If a fasiq comes to you with information, verify it."* — The verification-before-action mandate. Anchors the guardrails/evals domain whose law is "an eval that cannot fail is not an eval." On-point. ✅

---

## CROSS-LAYER COHERENCE

| Layer | D1 | D2 | D3 |
|---|---|---|---|
| entries_normalized | 3 | 3 | 3 |
| graph nodes | 3 | 3 | 3 |
| edges → ayah | all to 16:116 | all to 17:36 | all to 49:6 |
| hadith_layer bytes | 126,862 | 216,402 | 77,576 |
| built window | 20:37:00 | 20:37:01 | 20:37:03 |

All counts consistent. Built in one uninterrupted window (20:37:00–20:37:03). ✅

---

## FINDINGS

### FINDING P21-1 — ✅ NEVER-A-MUFTI LAW: FULLY UPHELD
Zero ruling words found across all three domain layers. The halal-haram term probe in the hadith layer (D1) is correctly labeled "evidence substrate, not curated thematic selection — weighing left to the qualified." The law is not merely stated — it is operative.

### FINDING P21-2 — ✅ VERSE ANCHORING: ALL THREE CORRECT
16:116 (not-saying-halal/haram), 17:36 (not-pursuing-without-knowledge), 49:6 (verify information) — each verse is a precise anchor for its domain. Arabic verbatim confirmed from quran.json in all three pages.

### FINDING P21-3 — ✅ ADAB: CLEAN
Honor marker ﷻ present in all three page titles. Verbatim law in page method block explicitly exempts corpus translations from the honor obligation.

---

## VERDICT

> ### ✅ PILLAR-COHERENT — P21 GREEN
>
> All three domains pass all nine verification checks. The never-a-mufti law is operative, not merely stated. Verse anchoring is correct and confirmed against quran.json. Adab is clean. The gate battery fires GREEN. No blocking finding.

**Gate for close_pillar.py**: GREEN
**Panel evidence string**: `OP64 QUAD-PANEL PILLAR-COHERENT (reviews/PANEL-P21-PILLAR.md)`
