Skip to content

feat(lenses): Numbers 10-18 lens content, batch 5 of Pentateuch-rest pilot (#820, #1782)#1805

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

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

Conversation

@CraigBuckmaster
Copy link
Copy Markdown
Owner

Summary

Batch 5 of the Pentateuch-rest pilot tracked under #1782 — second batch of Numbers. Adds 33 hermeneutic-lens entries across Numbers 10–18: silver trumpets and the departure from Sinai, the rebellion cycles, the spies and the wilderness verdict, Korah, Aaron's budding rod, and the priestly portions.

Per-chapter distribution (33 total)

Chapter Lenses Why
num10 (silver trumpets, departure) 4 literary hinge + ark/Christ + canonical trumpet thread + petitionary devotional
num11 (manna, quail, seventy elders) 5 rebellion peak — five-movement structure
num12 (Miriam, Aaron, Moses) 4 grammatical (anav) + prophet-type + face-to-face christocentric + judgment thread
num13 (the twelve spies) 4 majority/minority literary + cluster-of-grapes typology + Heb 3 thread + grasshopper devotional
num14 (rebellion at Kadesh, the verdict) 5 theology peak — Heb 3:7-19 / Ps 95 anchor across five lenses
num15 (offerings, tassels) 2 tzitzit thread to Mt 9:20 + visible-reminder devotional
num16 (Korah's rebellion) 4 three-act literary + censer-typology + Jude/2 Tim canonical + sober devotional
num17 (Aaron's budding rod) 3 resurrection-pattern type + Christ-vindicated christocentric + Heb 9:4 canonical
num18 (priestly and Levitical portions) 2 tithe canonical (Heb 7) + priestly-portion redemptive

Avg 3.7 entries/ch — higher than batch 4's 3.0, which fits: this stretch is dense with peak narrative material (rebellion cycles, the verdict, Korah's confrontation, the budding rod). Five of nine chapters are theology peaks; only num15 and num18 sit at the procedural minimum of 2.

Theological highlights

  • num14 (peak): the wilderness generation's defining chapter. Five movements (rebellion → intercession → verdict → forty-year sentence → Hormah defeat). Heb 3:7-19 is the explicit fulfillment text via Ps 95:8-11. Christocentric anchor: Christ as the greater intercessor (Heb 7:25) who secures full deliverance, not delay. Redemptive arc: forty years is also covenant mercy — the next generation enters.
  • num16: vv 47-48's Aaron "stood between the living and the dead, and the plague stopped" reads as a priestly type — the censer that judges (vv 35-40) becomes the censer that saves. Christ at the same threshold. v 5's "the LORD will show who is his" cited at 2 Tim 2:19; Jude 11 names "the rebellion of Korah" as the canonical warning.
  • num17: Aaron's rod that buds, blossoms, and yields almonds overnight as a type of resurrection. Heb 9:4 names the rod inside the ark alongside the manna jar and the stone tablets.
  • num11: the Spirit on the seventy elders is the chapter's seed for Joel 2:28-29 and Acts 2:17-18. Moses's "would that all the LORD's people were prophets" reads as proto-Pentecost.
  • num13 typological: the cluster of grapes carried on a pole between two men (vv 23-24) — read by Theodoret and Origen as foreshadowing Christ on the cross between two criminals. Patristic move; flagged for tier-2 audit.

Pipeline gate results

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

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

num10: 4   num11: 5   num12: 4   num13: 4   num14: 5   num15: 2   num16: 4   num17: 3   num18: 2

Length discipline

All entries authored to a 250-char target with 30-char headroom against the 280 ceiling. Actual range: 217–249 chars. Median ~234. One entry (num13 literary) initially landed at 251; trimmed to 242 before commit.

Filler / token guards

  • All six banned filler patterns verified absent at authoring time.
  • Rubric-token trap: every entry uses a token from its own lens's rubric. Specifically verified: typological entries use type / pattern / prefigures / shadow / foreshadow; canonical entries use canon / canonical / thread / across Scripture; christocentric entries name Christ / Jesus / Son of God explicitly.

Plagiarism guards on iconic chapters

The brief flagged that themes panels for the major chapters might cover the iconic verses; in practice the themes panels are still structurally thin (label + score + one-line note). Spot guards applied anyway:

  • num11 (manna): anchored typological lens on Jn 6:48-51 (manna-specific) rather than the more generic Jn 6:35; this also distinguishes from lev24 typological (bread of the Presence → Jn 6:35) authored in batch 3.
  • num13-14 (spies + verdict): anchored on different verses across lenses — vv 23-24 (typological cluster), vv 26-33 (literary contrast), vv 17-29 (canonical mission), v 33 (devotional grasshoppers); for num14 the five lenses anchor on five different verse ranges.
  • num16 (Korah): typological lens deliberately anchored on vv 47-48 (Aaron's intercession) rather than the more famous earth-opens verses (vv 31-33), which carry the devotional lens.
  • num17 (budding rod): the resurrection-typology and Heb 9:4 thread are spread across separate lenses to avoid restating "Aaron's rod budded" three times.

Watch list for tier-2 audit

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

  1. num13 typological — the cluster-of-grapes-as-Christ-on-the-cross typology is a patristic move (Theodoret, Origen). Calvin and most modern Reformed commentators do not develop it. The entry names the patristic source explicitly to keep this transparent. Some readers will find it too speculative; defensible as ancient typology with explicit attribution.
  2. num16 typological — "Christ stands at the same threshold, the pattern fulfilled in his cross." The Aaron-between-the-living-and-the-dead → Christ-on-the-cross move is a classic Reformed typological reading (Owen, Edwards). Defensible synthesis but worth confirming the move feels measured rather than overreaching.
  3. num17 christocentric — "Aaron's almond-flowering anticipates" Christ's resurrection (Rom 1:4). Patristic and modern Reformed both develop this; Calvin notes it briefly. Solid but is interpretive synthesis rather than direct citation.
  4. num14 christocentric — Christ-as-greater-intercessor (Heb 7:25) is sound; the implicit "Moses's prayer fails to overturn judgment" framing is intentional contrast but could read as understated about Moses if a reviewer prefers warmer language.

Out of scope

  • No new content generation in content/numbers/{N}.json itself.
  • 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.

Refs

Numbers 19–27 likely up next as batch 6 (red heifer, Moses's rod-strike at Meribah, Edom refusal, bronze serpent, Balaam, Phinehas, second census, daughters of Zelophehad).

@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 146758 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: 94.5s

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