Skip to content

feat(lenses): Numbers 1-9 lens content, batch 4 of Pentateuch-rest pilot (#820, #1782)#1804

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-4-numbers-1-to-9
May 2, 2026
Merged

feat(lenses): Numbers 1-9 lens content, batch 4 of Pentateuch-rest pilot (#820, #1782)#1804
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-4-numbers-1-to-9

Conversation

@CraigBuckmaster
Copy link
Copy Markdown
Owner

Summary

Batch 4 of the Pentateuch-rest pilot tracked under #1782 — first batch of Numbers. Adds 27 hermeneutic-lens entries across Numbers 1–9. Picks up after #1803 (Leviticus 21–27, which closed Leviticus).

Per-chapter distribution (27 total)

Chapter Lenses Why
num1 (first census) 3 grammatical (se'u et-ro'sh idiom), canonical (census thread), typological (Heb 3 wilderness fall)
num2 (camp arrangement) 3 literary (cardinal-direction structure), typological (camp→New Jerusalem), canonical (Ezek 48, Rev 21)
num3 (Levite census, firstborn substitution) 2 typological + canonical
num4 (Levite service, age limits) 2 grammatical (avodah doublet) + typological (Uzzah warning)
num5 (camp purity, restitution, ordeal) 2 literary triple structure + canonical (restitution → Zacchaeus)
num6 (Nazirite + Aaronic Blessing) 6 theology peak — full lens spread on the most-cited OT benediction
num7 (tribal offerings) 2 literary (intentional repetition) + devotional (v 89 voice from cherubim)
num8 (lampstand + Levite consecration) 3 redemptive, typological, devotional
num9 (Second Passover + cloud/fire) 4 canonical, christocentric, devotional, redemptive

Avg 3.0 entries/ch — slightly below the Leviticus average of 3.4. The chapter mix here is denser in procedural material (num3, 4, 5, 7, 8 all have ritual/admin focus), so the curated-sparse strategy lands lower per chapter while still spreading num6 fully.

Theological highlights

  • num6 (6 lenses, peak): vv 24–26's threefold blessing — the most-cited OT benediction in Christian and Jewish liturgy. Grammatical lens on the 3-5-7 Hebrew word rhythm; literary on the vow + blessing chapter doublet; typological on Nazirite as consecrated-one type; christocentric on the trinitarian echo at 2 Cor 13:14; canonical on the Ps 67 / Lk 1:79 / Jude 24–25 thread; devotional on receiving rather than generating blessing.
  • num1 / num2: the census + camp pair shape Israel as ordered congregation. Camp-with-tabernacle-at-center prefigures Rev 21:12–14's New Jerusalem; the cardinal-direction layout echoes into Ezek 48 and Rev 21:13.
  • num3 typological: vv 12–13's Levite-for-firstborn substitution carries the redemption-by-substitute pattern from Passover lamb forward to Christ.
  • num9: the cloud-and-fire (vv 15–23) anchors a major canonical thread (Ex 13 → 1 Kgs 8 → Mt 17:5 → Acts 2:3) and a christocentric anchor (Jn 1:14 logos that "tabernacled among us"; Acts 1:9 cloud at the ascension). The Second Passover provision (vv 6–13) is the chapter's hidden mercy — covenant feast opened twice for the unclean and the distant.

Pipeline gate results

schema_validator.py        146212 passed, 0 failed, 19 warnings (pre-existing ESV downloadable warns)
lens_quality_scorer.py     27/27 entries at 100/100 (per-chapter run, floor=100)
build_sqlite.py            scripture.db green, hermeneutic_lenses chapter rows = 495
                           (= 468 baseline from #1803 + 27 batch 4; matches expected)
validate_sqlite.py         101 passed, 0 failed, 2 warnings (pre-existing embeddings/prompts)

Per-chapter SQLite distribution post-build (chapter_lens_content):

num1: 3   num2: 3   num3: 2   num4: 2   num5: 2   num6: 6   num7: 2   num8: 3   num9: 4

Length discipline

All entries authored to a 250-char target with 30-char headroom against the 280 schema ceiling. Actual range: 211–249 chars. Median ~231. One entry (num9 redemptive) initially landed at 254; trimmed to 229 before commit.

Filler / token guards

  • All six banned filler patterns verified absent at authoring time.
  • Rubric-token trap (carried forward from batches 1–3): every entry uses a token from its own lens's rubric, not a sibling lens's. Specifically verified: typological entries use type / pattern / prefigures / shadow; canonical entries use canon / echoes / thread / throughout Scripture; christocentric entries name Christ / Jesus explicitly; mission tokens nations / outward are not used in this batch.

Scholar set update for Numbers

Numbers introduces ashley (Timothy R. Ashley, NICOT Numbers commentary) as an additional scholar alongside milgrom (Anchor Bible Numbers) / calvin / mac. Ashley's panels are folded into panel_filter for the grammatical and literary lenses (where the philological weight matches), and stay out of the typological / christocentric / devotional mixes (where mac and calvin are the primary anchors). Verified: ashley is in the global scholar registry (load_scholar_keys()); section panels for num1–9 all include an ashley key.

Watch list for tier-2 audit

These are the entries most worth a human spot-check during accuracy auditing:

  1. num3 typological — "The shadow of substitutionary atonement runs from Passover lamb to Levite to Christ." The Levite-as-substitute reasoning (vv 12–13) is verse-grounded; the Christ-end is theological synthesis rather than a direct NT citation. Defensible move (Calvin develops this in his Numbers commentary) but synthesis.
  2. num6 christocentric — the Aaronic blessing → 2 Cor 13:14 link is via family resemblance (threefold benediction) rather than direct quotation. Calvin and many Reformed commentators trace this connection; not all readers will follow.
  3. num8 typological — "The shadow of separation by water runs from Levitical service toward baptismal language." The Lev/baptism connection is broadly NT-warranted (Heb 9:10's "various ceremonial washings") but the specific Numbers→baptism move is interpretive synthesis.
  4. num9 christocentric — "Jesus inhabits and inherits Numbers' cloud." Strong theological compression. Anchor texts (Jn 1:14, Acts 1:9) are solid; the inheritance language is interpretive.

Out of scope

  • No new content generation in content/numbers/{N}.json itself (only the lens chapter files).
  • No app code changes.
  • No CI workflow changes.
  • app/assets/db-manifest.json and app/assets/explore-images.json drift was checked out before staging.

Rollback

git revert <merge-commit> is sufficient. No schema changes, no migration, no R2 mutation in this PR.

Refs

Numbers 10–18 likely up next as batch 5 (rebellion cycles + Korah's rebellion + Aaronic budding rod).

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 2, 2026

Content Pipeline Results

✅ All pipeline checks passed

Step Status Details
Schema Validation 146212 passed, 0 failed
Build DB
DB Integrity 101 passed, 0 failed

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 2, 2026

Test Results

✅ All tests passed

Passed Failed Total
Tests ✅ 4001 ❌ 0 4001
Suites ✅ 532 ❌ 0 532

Coverage

Statements Branches Functions Lines

⏱️ Duration: 93.1s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant