# Machine-Scholar Panel Review · C1 D1 Names Seed Layer
*labelled: machine-scholar review*
*Date: 2026-09-01 · Reviewer: OP1 (Opus, quality seat)*
*Scope: five files — SOURCES.md, _schema.py, build_names_layer.py, names_layer.json, THE_CONSTITUTION.md*

**Layer facts (tool-printed):**
- 17 seed rows, all `quran-direct` attestation class ✅ VERIFIED (`op1_check.py` printed `ROW COUNT: 17`)
- 2,699 Allah ﷻ positions anchored and gate-passed ✅ VERIFIED (journal 2026-09-01T18:40:07 + CHECK C gate)
- `occurrence_refs` length mismatches: NONE ✅ VERIFIED (`op1_check.py` printed `NONE`)
- All 17 rows carry `UNSOURCED` for `gloss_en` ✅ VERIFIED (tool count = 17) — correct for seed; glosses arrive in Block 3

---

## The Nine Seats

| # | Seat | Verdict | Severity | One-line reason |
|---|---|---|---|---|
| 1 | Usuli | PASS with NOTE | note | al-husna (row 16) is correctly extracted mechanically but is the superlative epithet of the Names collectively, not itself one of the 99; Block 3 must annotate the distinction |
| 2 | Muhaddith | PASS | — | No hadith claim is made; all gloss fields are UNSOURCED; hadith corpora are declared in SOURCES.md sec 1 and deferred correctly to Block 4 |
| 3 | Mufassir | PASS with NOTE | note | The 13 Names from 59:22–24 match classical consensus without exception; al-husna (row 16) needs explicit Block 3 annotation as epithet, not a Name; translit already labels it correctly |
| 4 | Qari | PASS | — | Basmala handling (QAC-vs-text word offset) and imlāʾī/Uthmānī split issues are documented and routed around; CHECK A reassembly passed; anchor 2699 holds |
| 5 | Lughawi | PASS with NOTE | note | Exclusions are philologically sound; rows 8, 11, 12 (al-Muʾmin 202 occ, al-Jabbār 10, al-Mutakabbir 7) have counts dominated by human/negative uses; the notes field discloses this correctly, relying on Block 3 referential tagging |
| 6 | Hafiz | PASS | — | Allah ﷻ 2699 matches QAC (corpus.quran.com); ar-Rahmān 57 matches classical concordances; ar-Rahim 116 is correctly the lemma-level count, with 9:128 (the Messenger ﷺ) included and documented; the classical named-referent count 115 is stated as the Block 3 target at build_names_layer.py:190–191 |
| 7 | Historian | PASS | — | Source seal `_C1-SOURCES-SEAL.sha256` records hash at build time; documented findings from the first run (2026-09-01) are preserved at SOURCES.md sec 8 and in builder comments; v1 claims layer cross-reference at `09-MATH/batch-factory/allah-2698-card.json` is correctly cited |
| 8 | Pedagogue | PASS with NOTE | note | Scope boundary (seed vs. full) and lemma-level disclosure are present; for rows with very high occurrence counts mostly in human contexts (row 8: al-Muʾmin 202 occ, row 10: al-ʿAzīz 101 occ), the disclosure is in the notes field and could be missed; Block 3 should surface the Name-frequency separately from the lemma frequency |
| 9 | Adab Auditor | DEFECT | defect | `build_names_layer.py` lines 5, 117, 184, 203 use the ASCII shorthand `(JJ)` for Allah ﷻ; the same file correctly uses ﷻ (U+FDFB) at line 232 and ﷺ (U+FDFA) at lines 190 and 232; _schema.py, names_layer.json, SOURCES.md and THE_CONSTITUTION.md are all compliant; fix is four string replacements in one file |

---

## Seat 9 Detail — Adab Defect

File: `10-WAQF/build/C1-ALLAH/build_names_layer.py`

| Line | Context | Current | Required |
|---|---|---|---|
| 5 | module docstring | `Allah (JJ)` | `Allah ﷻ` |
| 117 | code comment | `Allah (JJ)` | `Allah ﷻ` |
| 184 | print() string | `Allah (JJ) text count` | `Allah ﷻ text count` |
| 203 | print() string | `Allah (JJ) text count` | `Allah ﷻ text count` |

Basis: THE_CONSTITUTION.md Adab Law (2026-09-01) — "The Majestic Name is never written bare" — applies to all written text including docstrings, comments, and terminal messages. The inconsistency within the same file (correct ﷻ at line 232, ASCII `(JJ)` at lines 5, 117, 184, 203) is itself evidence of a mid-file correction that was not carried back to the earlier lines.

This defect does **not** affect the data layer. `names_layer.json` is fully compliant with the correct Unicode symbols throughout. The fix is mechanical.

---

## Notes for Block 3

1. **Row 16 (al-husna, 17 occurrences):** Classical tafsir — Ibn Kathīr رحمه الله, al-Tabarī رحمه الله, al-Baghawī رحمه الله — uniformly reads "lahu al-asmāʾ al-husnā" as "His are the Most Beautiful Names" — i.e., al-husnā is the superlative adjective of the Names collectively, not itself a Name. Block 3 should carry a flag `is_epithet: true` and explain that the 17 occurrence count is for the superlative word, not for a distinct Name.

2. **ar-Rahim (row 3, 116 occurrences):** The named-referent count (uses addressed to Allah ﷻ) is 115; the single additional use is 9:128, where the word describes the Messenger ﷺ ("raʾūfun rahīm"). This is disclosed in the builder comment at lines 189–191 and in the row notes. Block 3 referential tagging will establish the 115 count cleanly.

3. **High-count rows with predominantly human uses:** Rows 8 (al-Muʾmin, 202), 10 (al-ʿAzīz, 101), 7 (as-Salām, 42) — the ratio of Name-uses to total lemma-uses is very low for these rows. Block 3 referential tagging is the essential gate before any of these counts are cited in a published context as Name frequencies.

---

## VERDICT

**FIX-FIRST**

Fix required before publication:
1. `build_names_layer.py` lines 5, 117, 184, 203 — replace ASCII `(JJ)` with `ﷻ` (Adab defect, Seat 9)

The data layer is methodologically sound. Three cross-checks (reassembly, independent text count, external anchors) all pass. Schema gating is correct. Sources are declared before use. Exclusions are reasoned and documented. Scope boundaries are honest. The selftest is proven to fail on a seeded defect. This layer may be sealed immediately upon the single-file Adab fix.

---

*Independent human review invited on every finding above. Machine-scholar reviews are labelled as such and held to the same evidence standard as all other findings in this waqf.*


---
## INTEGRATOR ADJUDICATION (appended 2026-09-02 14:45, per OP40 defect 3)
The FIX-FIRST on build_names_layer.py lines 5/117/184/203 and _selftest.py lines 26/28 is NOW APPLIED: all six 'Allah (JJ)' strings replaced with the mark. The journal's earlier 'resolved' claim predated the builder-script fix and was wrong about scope (published artifacts were clean; the builders were not). Verified by grep = 0 remaining.
