Skip to content

feat(lenses): Exodus 31-40 lens content, batch 4 of Exodus pilot — closes Exodus (#820, #1781)#1800

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-exodus-31-to-40
Apr 29, 2026
Merged

feat(lenses): Exodus 31-40 lens content, batch 4 of Exodus pilot — closes Exodus (#820, #1781)#1800
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-exodus-31-to-40

Conversation

@CraigBuckmaster
Copy link
Copy Markdown
Owner

Closes the Exodus pilot for Epic #820 (Hermeneutic Lenses). This is batch 4 of 4 — chapters ex31–ex40, the dense theological closing block of the book.

Companion to merged batches:

Per-chapter distribution (39 entries total)

Chapter Lenses Count Notes
ex31 literary, typological, devotional 3 Bezalel + Sabbath sign + tablets — sparse, balanced
ex32 grammatical, literary, typological, christocentric, redemptive, canonical 6 Golden Calf — theology peak, full coverage
ex33 grammatical, literary, typological, christocentric, devotional, canonical 6 Glory request, "my Presence" — theology peak
ex34 grammatical, literary, typological, christocentric, redemptive, canonical 6 Covenant renewal + divine attributes — theology peak
ex35 literary, redemptive, devotional 3 Sabbath repeated, willing-offering call
ex36 literary, devotional 2 Construction begins, "more than enough"
ex37 typological, christocentric, literary 3 Ark + mercy seat (kapporet → hilasterion)
ex38 typological, literary 2 Bronze altar + courtyard
ex39 literary, typological, canonical 3 Priestly garments, eightfold "as the LORD commanded" refrain
ex40 literary, typological, christocentric, redemptive, canonical 5 Tabernacle erected, glory fills it — capstone

Theological highlights

  • ex32 substitutionary mediation — Moses's "blot me out" (v 32) drafted as the typological/christocentric anchor, with the canonical entry tracing the calf episode's later-canonical echoes (Deut 9, Neh 9, Ps 106, Acts 7, 1 Cor 10) rather than restating the themes panel.
  • ex33 panim chain — grammatical lens anchored on the Hebrew (panim, panai, achor); typological angle uses John 1:18's "no one has seen God except the Son" to read Moses's partial sight as Sinai-shadow → Bethlehem-disclosure.
  • ex34 vv 6-7 formula — themes already cites Ps 86, Jonah 4, Joel 2; the canonical entry deliberately uses the unmentioned echoes (Num 14:18, Neh 9:17, Pss 103:8 / 145:8) to avoid restatement. The typological entry works the veil-on/veil-off pattern (vv 33-35 → 2 Cor 3) on a different lexical handle from the themes' "shining face" framing.
  • ex37 kapporet → hilasterion → Christ — anchors the Hebrew/LXX/Pauline chain through Rom 3:25.
  • ex40 capstone redemptive arc — Eden-cast-out inverted into Yahweh-moves-into-camp; christocentric lens uses John 1:14's eskenosen root to land the tabernacle imagery in incarnation.

Pipeline gates

Gate Result
python3 _tools/schema_validator.py 0 failures, 19 warnings (all pre-existing ESV-translation warnings)
python3 _tools/lens_quality_scorer.py --chapter ex{31..40} --floor 100 39/39 entries scoring 100/100 on first pass
python3 _tools/build_sqlite.py hermeneutic_lenses: 8 lenses, 377 contents (= 338 baseline + 39 new)
python3 _tools/validate_sqlite.py 0 failures, 2 warnings (pre-existing embeddings/prompts non-fatals)

Per the workflow, drift in app/assets/db-manifest.json and app/assets/explore-images.json was reverted before staging — only content/hermeneutic_lenses/chapters/ex{31..40}.json ship in this PR.

Plagiarism guards applied

  • ex32: themes lists "blot me out" — typological entry uses the phrase but reframes around "substitutionary pattern" / "greater Mediator" / "cut off for the people he loves"; christocentric entry pivots to "names blotted from one book are written in the Lamb's", which themes does not touch.
  • ex33: themes lists v 11's "face to face" and v 18's "show me your glory" — grammatical entry shifts to the Hebrew lexical chain (panim / panai / achor), and the christocentric entry anchors v 14's "my Presence will go with you" as the Immanuel seed rather than restating the glory-request narrative.
  • ex34: themes already lists the cross-canonical echoes (Ps 86:15, Jonah 4:2, Joel 2:13) — canonical entry uses Num 14:18 / Neh 9:17 / Pss 103:8 / 145:8 instead. Themes mentions 2 Cor 3 with the shining face — typological entry pivots to the veil-on/veil-off pattern of vv 33-35 instead.
  • ex40: themes calls out "tabernacle erected" / "glory cloud fills" — christocentric entry brings the Greek eskenosen root from John 1:14 into focus, redemptive entry frames the Eden-inversion arc, neither of which themes covers.

Lens-token discipline

Every entry verified against the lens-specific must_have_one_of list in _tools/lens_rubrics.json:

  • typological entries use type / pattern / prefigures / anticipates / shadow (never "thread")
  • canonical entries use echoes / throughout Scripture / thread / canon (never "pattern")
  • christocentric entries name Christ / Jesus explicitly (no oblique "the Messiah" without follow-up)
  • grammatical entries cite the Hebrew lexeme (elohim, chesed v'emet, panim, kapporet)

Tier-2 audit watch list

These entries make explicit cross-canonical or LXX claims that a tier-2 audit may want to spot-check:

  • ex32 / canonical — five-canon citation chain (Deut 9:8-21, Neh 9:18, Ps 106:19-23, Acts 7:39-43, 1 Cor 10:7)
  • ex33 / canonical — Pss 27:8 / 42:2 / 63:2 → Mt 5:8 → 1 Jn 3:2 face-of-God thread
  • ex34 / canonical — Num 14:18, Neh 9:17, Pss 103:8 / 145:8 attribute-formula echoes
  • ex34 / christocentric — chesed v'emet → John 1:14 "grace and truth" Hebrew-pair claim
  • ex37 / christocentric — kapporet → LXX hilasterion → Rom 3:25 chain
  • ex40 / christocentric — John 1:14 eskenosen lexical claim
  • ex40 / canonical — Num 9:15-23 / 1 Kgs 8:10-11 / Ezek 10 + 43 / John 1:14 / Rev 21:3 cloud-fire thread

Pilot summary (after merge)

  • Genesis pilot: 50 chapters, 214 entries (per Epic Epic: Hermeneutic Lenses Content #820 history)
  • Exodus pilot: 40 chapters, 124 entries (90 from prior batches + 39 from this PR — total in DB after merge: 377 with both pilots combined)

After this merges, the Exodus pilot is complete. Issue #1781 can be closed.

Out of scope

  • No content/exodus/* changes
  • No app code changes
  • No db-manifest.json / explore-images.json drift (reverted)
  • No new scholar entries (ex34 / ex40 typological work uses existing Calvin / MacArthur scholars on Exodus)

Rollback plan

Single-commit PR. Revert with git revert b7cd8d6 and rerun _tools/build_sqlite.py to roll the hermeneutic_lenses table back to 338 contents.

@github-actions
Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

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

@github-actions
Copy link
Copy Markdown

Test Results

✅ All tests passed

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

Coverage

Statements Branches Functions Lines

⏱️ Duration: 74.2s

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