# THE COUNCIL OF 900 — BENCH 2 · P42 GAP-FILL CLOSING SITTING
## Families C · Aqidah & kalam (38) · D · Fiqh & usul (56) · E · Sirah & history (73)
**167 MACHINE-SCHOLAR seats · sitting 2026-09-05, 13:08 AST**

> **EVERY SEAT ON THIS BENCH IS A MACHINE-SCHOLAR.** Not one is a human scholar, a mufti,
> a muhaddith or a mu'arrikh. This bench documents; it adjudicates nothing, crowns no
> school, issues no ruling. Human review is invited and never waited for.
>
> **THE LAW UNDER TEST** (owner, 2026-09-05): *"these shall not be only placeholders —
> each point complete end to end."*
>
> **METHOD.** Every number below was re-derived by opening the file and counting. Twenty
> independent re-derivations were run; the ones that reproduced are marked ✅ and the ones
> that did not are the findings. No claim here rests on a memory or on a filename.

---

## PART 1 — WHAT REPRODUCED (the build's honest core)

| # | claim | re-derivation | verdict |
|---|---|---|---|
| 1 | 21,600 new nodes each carry an evidence line naming an existing artifact | parsed all 21,600 journal lines; `ARTIFACT:` token present 21,600/21,600; **0 missing files**; 69,300 "program artifact set" pointers resolved, **0 missing** | ✅ VERIFIED |
| 2 | axis stamps on 61,600 | `_FRAMEWORK-61600.json` → 61,600 points, n contiguous 1…61,600, both axis fields present on **61,600/61,600** | ✅ VERIFIED |
| 3 | G09 anchor `ibn_kathir · حراء · 63 hits · offset 373,570` | `00-CORPUS/seerah.json` → count 63, `find` = 373570 | ✅ byte-exact |
| 4 | G09 anchor `tabari · حراء · 43 · 131,881` | seerah.json → 43 / 131881 | ✅ byte-exact |
| 5 | G09 anchor `ibn_sad · دار الأرقم · 29 · 1,178,853` | seerah.json → 29 / 1178853 | ✅ byte-exact |
| 6 | G09 anchor `ibn_kathir · اقرأ · 54 · 739,873` | seerah.json → 54 / 739873 | ✅ byte-exact |
| 7 | G07 ocean = 119,261 rows | re-walked the 4 wave files → **119,261** | ✅ VERIFIED |
| 8 | G07 topic counts 212 / 38 / 32 / 3 / 3 | re-ran the term floors → **212 / 38 / 32 / 3 / 3** | ✅ exact |
| 9 | G07 `grade_verbatim: NONE RECORDED IN SOURCE` | 275 of 288 topic rows genuinely carry no `grades` key | ✅ honest, not a fabrication |
| 10 | G03 totals 10 / 45 / 26 / 20 / 21 / 3 | re-ran over hadith.json + hadith_shia.json (68,921) → identical | ✅ exact |
| 11 | G08 `with_qurtubi_commentary = 413` | recomputed `qurtubi_chars > 50` → **413**; median 5,270 chars; zero empty cells | ✅ exact |
| 12 | G22 Badr anchors located verbatim in Ibn Hisham | `من شهد بدرا` at 685491 / 693938 / 694241 / 699361 — each context is the roster heading itself | ✅ real |

**The engines are not fiction.** G09 and G22 locate real passages at byte offsets that
reproduce exactly. G03 and G07 counts reproduce to the unit. This bench found **no
fabricated number** in its families.

---

## PART 2 — THE FINDINGS (worst first, each evidenced)

| # | finding | program | severity | the fix |
|---|---|---|---|---|
| 1 | **Gap-ids are mis-assigned across the map and stamped into 15,300 nodes.** 20 of the 36 program↔gap pairs name a gap whose register text is a *different subject*. G10 (occasions) is stamped `GAP-020` = *"the aqidah corpus is REGISTERED but not HELD"*; G07 (creed) is stamped `GAP-021` = *"the fiqh domain resolves to 2 entries"*; G08 (al-Qurtubi) is stamped `GAP-022` = *"the prosopographical spine holds 57 persons"*; G09 (chronology) is stamped `GAP-025` = *"no scope-law for the ayat kawniyyah"*. 17 programs × 900 = **15,300 nodes carry a false provenance claim in their evidence line** (verified at n=48106, n=45406, n=46306, n=47206). | program_map.json + all 24 | **CRITICAL** | Re-key `program_map.json` against `gap_register.json` by subject, not by position; re-stamp the 15,300 evidence lines; add a build-time assert that every program's gap text shares a keyword with its `named_from`. |
| 2 | **81.9% of the 21,600 new nodes point at a nameplate, not at a domain artifact.** Classified all 21,600 primary pointers: **6,700 → `index.html`** (≈780 bytes: a title, one sentence, a 2-row filename table), **6,200 → `education.json`** (≈700 bytes: 4 fixed Q&A), **4,800 → the shared `g35_program_gates.json`**, only **3,900 (18.1%) → a domain artifact**. The anti-placeholder law's letter holds (the file exists); its spirit does not (the file does not carry the domain). | all 24 | **CRITICAL** | Re-point every node to the program artifact whose subject matches its `domain` field; forbid `index.html`/`education.json` as a primary pointer for `block: engine` and `block: census` nodes. |
| 3 | **G08's 415 "legal-content verses" are 62% substring collision.** The term floor uses bare `حد` and bare `نذر` with `in` (substring) matching. **212 of the 216 "penalties" verses matched on `حد` alone**, and ≥160 of those contain only `أحد / واحد / الحديد / حدائق` — 2:163 *(وإلهكم إله واحد)*, 2:285 and 3:84 are tagged **penalties**. **80 of the 96 "oaths & vows" matched on `نذر` alone, 60 of them being the *indhar* (warning) family** — 2:6 *(أأنذرتهم)* is tagged **oaths & vows**. Under a boundary-respecting re-run the census falls **415 → 159**. This is the identical failure class this bench documented at P41 (the `illa`/`istithna` collision). | G08 AL-AHKAM | **HIGH** | Replace `w in t` with word-boundary regexes; re-cut the census; restate `legal_content_verses_located` (159 under strict floors) and re-count `by_family`. |
| 4 | **G03 read 68,921 of the 119,261 held rows — 78% of the contested reports were never seen.** The scan walks only `hadith.json` + `hadith_shia.json`; MusnadAhmad, Darimi, Tahdhib al-Ahkam and al-Istibsar are excluded. Same term floors over the full ocean: kahanah **10→42**, tanjim **45→98**, sihr **26→193**, tiyara **20→93**, ruqya **21→85**, arraf **3→34**. Published 125; available **575**. Worse, **`tamima` (amulets) was scanned, returned 0, and was silently dropped from `totals`** — while the full ocean carries **30** amulet reports. A zero that disappears is the exact defect `GAP-011` was raised about. | G03 HUDUD AL-MA'RIFA | **HIGH** | Point G03 at the same `WAVES` list G07 uses; publish every scanned topic including the zeros; re-cut `contested_verdicts_scan.json` (575 rows). |
| 5 | **G09 never touched the artifact its gap named.** `build/P28-SIRAH-X/X1/chronology_spine.json` still carries **NEEDS-SOURCING on all 20 slots** and contains **0 occurrences of "G09" or "anchor"**. G09 wrote a *parallel* file with its own 21-period list that does not correspond to the spine's 20 (spine: *Abyssinia migrations*, *Isra & Mi'raj*, *Year 8 (Fath, Hunayn)*; G09: *Al-Isra*, *The letters to kings*, *The conquest of Makkah*). Separately, the register's *"21 periods, 21 NEEDS-SOURCING"* is itself a miscount: the string occurs 21 times = **20 period slots + 1 in the meta law line**. | G09 AL-ZAMAN | **HIGH** | Join the anchors back onto the spine by period id and clear each `status` to `ANCHORED (work, term, offset)`; correct the register to 20 periods. |
| 6 | **G10 completed 0 of 54 and its own nodes cannot see its report.** `occasions_completion_report.json` reads `rows_completed: 0, rows_unresolved_declared: 54` — the honest number, but the program is *named* "occasions completion" and the "+ placement" half produced no artifact at all. Both sampled G10 nodes (n=48106 domain *"The 54-row verse-key completion"*, n=48551 domain *"The census & graph joins"*) point at **`education.json` (705 bytes)**, while the actual report sits unpointed in the same folder. | G10 AL-MAWATIN | **HIGH** | Point G10's engine/census nodes at the report; rename the program to what it did (*the 54-row unresolved declaration*) or run a real rasm matcher over the 54 rows' `quote_ar` — note 54/54 have `quote_ar: null`, which is why 0 matched. |
| 7 | **G08's node domain says "al-Qurtubi read at last"; the artifact's own law says he was not read.** Node n=46306 carries `domain: "D1 · The ahkam extraction engine (al-Qurtubi read at last)"`. The artifact states: *"his content is READ by the shelf engine in the deepening pass"* — future tense. G08 measured **character counts** of shard cells. The fiqh domain's 2 entries (the gap's actual subject) are unchanged. Presence-in-characters is not reading. | G08 AL-AHKAM | **HIGH** | Restate the domain to *"al-Qurtubi's presence measured in characters; reading deferred to the deepening pass"* until the shelf engine consumes his text. |
| 8 | **G07 closes no part of the aqidah gap and 900 nodes were minted over an 831-byte declaration.** `creed_corpus_hunt.json` is 12 title strings + `"ALL SLOTS DECLARED"`; **0 of 12** creed works held. The promised tafwid / ta'wil / ithbat positions layer — the substance of this bench's own family C finding — is deferred to *"when the 12 registered texts LAND"*. The delivered floor (288 located topic reports) is real but is hadith-topic location, not kalam positions. | G07 MASADIR AL-AQIDA | **MEDIUM** | Keep the declaration (it is honest) but do not mint engine/census nodes over it; hold G07's node block at `declared` until a sealed text lands. |
| 9 | **Truncated artifacts publish full-scan totals with no truncation note.** G22 states `anchor_hits: 244, works_with_anchors: 10` but carries **40 rows spanning 5 works** (`anchors[:40]`). G07 states `the last day: 212` but carries **50** (`v[:50]`). A reader who counts rows gets a different number from the one on the face. | G22, G07 | **MEDIUM** | Add `"carried": 40, "of": 244, "truncation": "top-N by file order"` to every capped artifact. |
| 10 | **G03's verbatim excerpts are head-of-row, not match-windows.** The builder writes `ar[:220]`, so all 125 excerpts show the *isnad opening*, never the clause that classified the report. Al-Amali-Mufid **280** is the lead exhibit for **both** *kahanah* and *sihr*; Al-Amali-Mufid **295** for both *tanjim* and *tiyara* — and neither excerpt contains any contested term. The layer's law promises *"reports located verbatim"*; what is shown cannot be checked. | G03 HUDUD AL-MA'RIFA | **MEDIUM** | Excerpt a ±110-char window centred on the matched term, and record which term fired. |
| 11 | **G03's engine and census nodes point at the wrong file in their own folder.** n=41806 (`domain: "D1 · The verdict quote-scan (kahanah/tanjim/sihr/tiyara, graded, verbatim)"`) and n=42251 (`D5 · The census & graph joins`) both point at **`abjad_record.json` (630 bytes)** — a three-sentence prose note on letter-numerals that contains no verdict, no scan and no census — while **`contested_verdicts_scan.json` (63 KB)** sits unpointed beside it. | G03 HUDUD AL-MA'RIFA | **MEDIUM** | Point the verdict-scan domain at the verdict scan; reserve `abjad_record.json` for the abjad domain only. |
| 12 | **`_FRAMEWORK-61600.json` `_meta.total` still reads 26,400** against 61,600 points on disk (the points array and the axis stamps both reproduce at 61,600 ✅ — only the header is stale). | framework master | **LOW** | Set `_meta.total = 61600` and add a build assert `len(points) == _meta.total`. |

---

## PART 3 — THE ANTI-PLACEHOLDER LAW, TESTED ON 10 NODES IN THIS BENCH'S FAMILIES

Law as written: *"a new node is marked only with evidence naming an existing artifact file —
the marker itself asserts the file exists."* Tested in two halves: **does the file exist**,
and **does it carry the domain the node claims**.

| n | program | domain claimed | artifact named | exists? | carries the domain? |
|---|---|---|---|---|---|
| 41806 | G03 | D1 · The verdict quote-scan (kahanah/tanjim/sihr/tiyara) | `G03/abjad_record.json` (630 B) | ✅ | ❌ no verdict, no scan |
| 42251 | G03 | D5 · The census & graph joins | `G03/abjad_record.json` (630 B) | ✅ | ❌ no census |
| 45406 | G07 | D1 · The creed-text acquisition wave (12 works) | `G07/creed_corpus_hunt.json` (831 B) | ✅ | ✅ carries the 12 slots (all empty) |
| 45851 | G07 | D5 · The census & graph joins | `G07/creed_corpus_hunt.json` (831 B) | ✅ | ❌ no census |
| 46306 | G08 | D1 · The ahkam extraction engine (al-Qurtubi read at last) | `G08/ahkam_census.json` (41.8 KB) | ✅ | ⚠️ census real; *"read at last"* false |
| 46751 | G08 | D5 · The census & graph joins | `G08/ahkam_census.json` (41.8 KB) | ✅ | ✅ it is a census |
| 47206 | G09 | D1 · The period-sourcing pass (21 → anchors) | `G09/chronology_anchors_v1.json` (21.2 KB) | ✅ | ✅ exactly this |
| 47651 | G09 | D5 · The census & graph joins | `G09/chronology_anchors_v1.json` (21.2 KB) | ✅ | ✅ hit-count census |
| 48106 | G10 | D1 · The 54-row verse-key completion | `G10/education.json` (705 B) | ✅ | ❌ nameplate |
| 48551 | G10 | D5 · The census & graph joins | `G10/education.json` (705 B) | ✅ | ❌ nameplate |
| 58906 | G22 | D1 · The Badr source anchors (Ibn Hisham, located) | `G22/badr_source_anchors.json` (16.5 KB) | ✅ | ✅ exactly this |
| 59351 | G22 | D5 · The census & graph joins | `G22/badr_source_anchors.json` (16.5 KB) | ✅ | ✅ anchor census |

**Existence: 12 of 12 ✅. Domain carriage: 6 of 12 ✅, 1 ⚠️, 5 ❌.** Extended to the whole
band, domain carriage is **3,900 of 21,600 = 18.1%**.

**This bench's reading of the owner's law.** *"Not only placeholders"* is a claim about
what a node's evidence **carries**, not about whether a filename resolves. The law as
implemented tests the weaker half. It passes that half perfectly — and that is worth
saying plainly, because the engines underneath are genuinely measured and reproduce to the
byte. But at 18.1% domain carriage, and with a false gap-id in 15,300 evidence lines, the
band 40,001–61,600 cannot be sealed as *complete end to end*.

**Nothing in this report adjudicates.** No school was weighed, no report regraded, no
ruling issued. Where a count is called wrong, the corrected count is a machine
re-derivation and is offered for human scholars to check.
