From 5851c668785f99b29d7dd904954f99fee4e9ded5 Mon Sep 17 00:00:00 2001 From: Craig Buckmaster Date: Wed, 29 Apr 2026 02:25:00 +0000 Subject: [PATCH] feat(lenses): Exodus 21-30 lens content, batch 3 of Exodus pilot (#820, #1781) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Book of the Covenant + tabernacle instructions. Lower per-chapter density (legal/architectural genre): 35 entries across 10 chapters, average 3.5 lenses/chapter. All 100/100 on lens_quality_scorer. Per-chapter distribution: - ex21 (servants; injury laws) 3 lenses - ex22 (property; vulnerable-protection) 3 lenses - ex23 (justice; festivals; angel) 4 lenses - ex24 (covenant ratification) 5 lenses (peak) - ex25 (ark; mercy seat; lampstand) 4 lenses - ex26 (coverings; veils) 3 lenses - ex27 (bronze altar; courtyard) 3 lenses - ex28 (priestly garments) 3 lenses - ex29 (priestly consecration) 4 lenses - ex30 (incense; basin; oil) 3 lenses Theological highlights: - ex24 christocentric: v 8's 'blood of the covenant' is the formula Christ redeploys verbatim at Mt 26:28 — Sinai becomes upper room. - ex25 grammatical: kapporet = mercy seat, root kafar (atone). Cherubim guarding the mercy seat (v 18) recall Eden's cherubim (Gen 3:24); Christ reopens what they closed. - ex26 typological: the inner veil (vv 31-33) is built to be torn (Mark 15:38, Heb 10:19-20) — woven cherubim match the ark's cherubim. - ex28 typological: Aaron carries Israel's names on shoulders + heart; Christ as great high priest (Heb 4:14) carries his people the same way. - ex29 christocentric: blood on ear/thumb/toe (v 20) consecrates hearing/doing/walking; Heb 7:27 abolishes the cycle while fulfilling it. - ex30 typological: half-shekel atonement-money the same for rich and poor (v 15) — one ransom, no scaling, prefiguring Christ's. - ex23 typological: 'my angel... with my name in him' (vv 20-21) read by patristics as pre-incarnate appearance. Pipeline gates (all green): - schema_validator.py: 0 failed (142820 passed) - lens_quality_scorer.py: 35/35 entries 100/100 (one fix iteration — three rubric-token misses fixed in seconds) - build_sqlite.py: 8 lenses, 290 contents (255 baseline + 35 new) - validate_sqlite.py: 0 failed Drafting note: three rubric-token swaps needed (ex25 typological, ex25 canonical, ex28 typological). I had used 'thread' (canonical token) in a typological entry and 'pattern' (typological token) in a canonical entry — same lesson as the genesis batch 5 'structural'/ 'narrator' issue. The lens_rubrics.json must_have_one_of lists are strict substring matches, so token-token swaps don't carry over between lenses. Worth a small rubric improvement: typological's tokens overlap heavily with canonical's, and the scorer treats them as disjoint. Future drafts should check both lists when in doubt. Branched off latest master pre-#1798 merge; once #1798 lands, the live lens_contents row count will be 303 + 35 = 338. --- content/hermeneutic_lenses/chapters/ex21.json | 50 +++++++++++ content/hermeneutic_lenses/chapters/ex22.json | 50 +++++++++++ content/hermeneutic_lenses/chapters/ex23.json | 66 +++++++++++++++ content/hermeneutic_lenses/chapters/ex24.json | 82 +++++++++++++++++++ content/hermeneutic_lenses/chapters/ex25.json | 68 +++++++++++++++ content/hermeneutic_lenses/chapters/ex26.json | 52 ++++++++++++ content/hermeneutic_lenses/chapters/ex27.json | 52 ++++++++++++ content/hermeneutic_lenses/chapters/ex28.json | 54 ++++++++++++ content/hermeneutic_lenses/chapters/ex29.json | 66 +++++++++++++++ content/hermeneutic_lenses/chapters/ex30.json | 50 +++++++++++ 10 files changed, 590 insertions(+) create mode 100644 content/hermeneutic_lenses/chapters/ex21.json create mode 100644 content/hermeneutic_lenses/chapters/ex22.json create mode 100644 content/hermeneutic_lenses/chapters/ex23.json create mode 100644 content/hermeneutic_lenses/chapters/ex24.json create mode 100644 content/hermeneutic_lenses/chapters/ex25.json create mode 100644 content/hermeneutic_lenses/chapters/ex26.json create mode 100644 content/hermeneutic_lenses/chapters/ex27.json create mode 100644 content/hermeneutic_lenses/chapters/ex28.json create mode 100644 content/hermeneutic_lenses/chapters/ex29.json create mode 100644 content/hermeneutic_lenses/chapters/ex30.json diff --git a/content/hermeneutic_lenses/chapters/ex21.json b/content/hermeneutic_lenses/chapters/ex21.json new file mode 100644 index 00000000..300d1d4e --- /dev/null +++ b/content/hermeneutic_lenses/chapters/ex21.json @@ -0,0 +1,50 @@ +{ + "lenses": [ + { + "lens_id": "literary", + "guidance": "The Book of the Covenant opens (v 1) with case law — 'when... if... then'. The structure shifts from Decalogue absolutes (ch 20) to applied jurisprudence; the narrative trains the reader: principles must become procedure.", + "panel_filter": [ + "lit", + "alter", + "sarna", + "themes" + ], + "panel_order": [ + "lit", + "alter", + "sarna", + "themes" + ] + }, + { + "lens_id": "redemptive", + "guidance": "The seven-year servant-release (vv 2-6) embeds redemption into Israel's economy. Bondage is bounded; the redemptive arc keeps no one perpetually owned. Compare Lev 25's Jubilee — covenant law is liberation calendar.", + "panel_filter": [ + "themes", + "thread", + "calvin", + "cross" + ], + "panel_order": [ + "themes", + "thread", + "calvin", + "cross" + ] + }, + { + "lens_id": "canonical", + "guidance": "v 24's lex talionis ('eye for eye') is corrected, not abolished, by Jesus at Mt 5:38-42 — the principle limits revenge; Christ moves to renunciation. A canonical thread: law restrains, gospel transforms.", + "panel_filter": [ + "cross", + "thread", + "themes" + ], + "panel_order": [ + "thread", + "cross", + "themes" + ] + } + ] +} diff --git a/content/hermeneutic_lenses/chapters/ex22.json b/content/hermeneutic_lenses/chapters/ex22.json new file mode 100644 index 00000000..ca86f8a8 --- /dev/null +++ b/content/hermeneutic_lenses/chapters/ex22.json @@ -0,0 +1,50 @@ +{ + "lenses": [ + { + "lens_id": "literary", + "guidance": "The chapter's pivot is at v 21 — from property cases to the alien, widow, and orphan. The narrative structure binds covenant ethics to memory: 'you were aliens in Egypt' (v 21) grounds the law in Israel's own rescue.", + "panel_filter": [ + "lit", + "alter", + "sarna", + "themes" + ], + "panel_order": [ + "lit", + "alter", + "sarna", + "themes" + ] + }, + { + "lens_id": "redemptive", + "guidance": "'If you lend money to my people, to the poor among you, you shall not exact interest' (v 25). Covenant economics limit exploitation; the redemptive arc shapes how Israel trades, not just how Israel worships.", + "panel_filter": [ + "themes", + "thread", + "calvin", + "cross" + ], + "panel_order": [ + "themes", + "thread", + "calvin", + "cross" + ] + }, + { + "lens_id": "canonical", + "guidance": "Care for widow, orphan, and alien (vv 21-22) opens a thread running through Deut 10:18, the prophets (Isa 1:17, Jer 22:3), to James 1:27 — true religion as covenant ethics enacted across Scripture.", + "panel_filter": [ + "cross", + "thread", + "themes" + ], + "panel_order": [ + "thread", + "cross", + "themes" + ] + } + ] +} diff --git a/content/hermeneutic_lenses/chapters/ex23.json b/content/hermeneutic_lenses/chapters/ex23.json new file mode 100644 index 00000000..b39725af --- /dev/null +++ b/content/hermeneutic_lenses/chapters/ex23.json @@ -0,0 +1,66 @@ +{ + "lenses": [ + { + "lens_id": "literary", + "guidance": "The chapter binds three threads — courtroom justice (vv 1-9), Sabbath rhythm (vv 10-13), festival calendar (vv 14-17). Narrative structure makes worship and justice inseparable: covenant life integrates both.", + "panel_filter": [ + "lit", + "alter", + "sarna", + "themes" + ], + "panel_order": [ + "lit", + "alter", + "sarna", + "themes" + ] + }, + { + "lens_id": "redemptive", + "guidance": "The Sabbath-year (vv 10-11) lets the land rest 'so that the poor of your people may eat'. The redemptive arc rests creation itself; covenant rhythm restores both soil and the dispossessed simultaneously.", + "panel_filter": [ + "themes", + "thread", + "calvin", + "cross" + ], + "panel_order": [ + "themes", + "thread", + "calvin", + "cross" + ] + }, + { + "lens_id": "typological", + "guidance": "'My angel will go before you' with 'my name in him' (vv 20-21) prefigures Christ — the divine presence in agent form, who must be obeyed. Patristic readers saw the angel of Yahweh as pre-incarnate appearance.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "canonical", + "guidance": "The three festivals (vv 14-17) — Unleavened Bread, Harvest, Ingathering — fix the calendar that Lev 23 expands and Deut 16 reaffirms. The thread runs to John's Gospel where each feast frames a sign.", + "panel_filter": [ + "cross", + "thread", + "themes" + ], + "panel_order": [ + "thread", + "cross", + "themes" + ] + } + ] +} diff --git a/content/hermeneutic_lenses/chapters/ex24.json b/content/hermeneutic_lenses/chapters/ex24.json new file mode 100644 index 00000000..1a62c1e3 --- /dev/null +++ b/content/hermeneutic_lenses/chapters/ex24.json @@ -0,0 +1,82 @@ +{ + "lenses": [ + { + "lens_id": "literary", + "guidance": "The chapter has two ascents — elders to mid-mountain (v 9), Moses to the cloud (v 18). The narrative structure of graded-access maps the tabernacle's coming spatial holiness; geography teaches theology.", + "panel_filter": [ + "lit", + "alter", + "sarna", + "themes" + ], + "panel_order": [ + "lit", + "alter", + "sarna", + "themes" + ] + }, + { + "lens_id": "typological", + "guidance": "Moses sprinkles half the blood on the altar, half on the people (vv 6-8) — the ratifying ritual binds the two parties. The pattern foreshadows Christ's blood binding God and humanity in one new covenant.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "christocentric", + "guidance": "v 8's 'the blood of the covenant' is the formula Christ redeploys at Mt 26:28: 'this is my blood of the covenant'. The Last Supper deliberately rewrites this mountain into the upper room — same blood-grammar.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "redemptive", + "guidance": "'They beheld God, and ate and drank' (v 11) — the covenant meal where mercy could have meant death. The redemptive arc establishes table-fellowship with God as covenant's destination, not just commandment-keeping.", + "panel_filter": [ + "themes", + "thread", + "calvin", + "cross" + ], + "panel_order": [ + "themes", + "thread", + "calvin", + "cross" + ] + }, + { + "lens_id": "canonical", + "guidance": "v 11's elders eating and drinking before God threads to Isaiah 25:6's eschatological banquet, Christ's table (Lk 22:30), and Rev 19:9's marriage supper of the Lamb — covenant meal across Scripture.", + "panel_filter": [ + "cross", + "thread", + "themes" + ], + "panel_order": [ + "thread", + "cross", + "themes" + ] + } + ] +} diff --git a/content/hermeneutic_lenses/chapters/ex25.json b/content/hermeneutic_lenses/chapters/ex25.json new file mode 100644 index 00000000..fc018b04 --- /dev/null +++ b/content/hermeneutic_lenses/chapters/ex25.json @@ -0,0 +1,68 @@ +{ + "lenses": [ + { + "lens_id": "grammatical", + "guidance": "The 'mercy seat' (vv 17-22) is Hebrew kapporet — root kafar ('to cover, atone'). The original audience hears atonement-cover, not throne-cushion; the lid is where sin is covered, not where God reposes.", + "panel_filter": [ + "heb", + "hist", + "sarna", + "alter", + "hebtext" + ], + "panel_order": [ + "heb", + "hebtext", + "sarna", + "alter", + "hist" + ] + }, + { + "lens_id": "typological", + "guidance": "v 8's 'let them make me a sanctuary, that I may dwell among them' begins a pattern that anticipates the incarnation (Jn 1:14's eskēnōsen, 'tabernacled') and Rev 21:3's final dwelling — tent prefigures temple prefigures God-with-us.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "christocentric", + "guidance": "Two cherubim guard the ark (v 18) — recalling Gen 3:24's cherubim guarding Eden's tree. The mercy seat between them is where access is restored. Christ as both throne and atonement reopens what Eden's cherubim closed.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "canonical", + "guidance": "What Moses sees on the mountain (v 40) echoes throughout Scripture — Hebrews 8:5 names it 'a copy and shadow of the heavenly things', and Heb 9:24 places Christ entering the heavenly archetype the tabernacle merely copied.", + "panel_filter": [ + "cross", + "thread", + "themes" + ], + "panel_order": [ + "thread", + "cross", + "themes" + ] + } + ] +} diff --git a/content/hermeneutic_lenses/chapters/ex26.json b/content/hermeneutic_lenses/chapters/ex26.json new file mode 100644 index 00000000..6bc88c90 --- /dev/null +++ b/content/hermeneutic_lenses/chapters/ex26.json @@ -0,0 +1,52 @@ +{ + "lenses": [ + { + "lens_id": "literary", + "guidance": "The four coverings (vv 1-14) layer outward from holiness toward weather; the two veils (vv 31-37) gate inward toward holiness. Architectural narrative: the structure is a graded approach to presence.", + "panel_filter": [ + "lit", + "alter", + "sarna", + "themes" + ], + "panel_order": [ + "lit", + "alter", + "sarna", + "themes" + ] + }, + { + "lens_id": "typological", + "guidance": "The inner veil (vv 31-33) separates Holy Place from Most Holy. The pattern tears at Mark 15:38 from top to bottom; Heb 10:19-20 names Christ's flesh the new way through. The chapter's veil is built to be torn.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "christocentric", + "guidance": "The cherubim woven into the inner veil (v 31) match the ark's cherubim (25:18) — guards on both sides of the boundary. Christ's body torn (Heb 10:20) removes the guard; access is opened by his flesh, not by ours.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + } + ] +} diff --git a/content/hermeneutic_lenses/chapters/ex27.json b/content/hermeneutic_lenses/chapters/ex27.json new file mode 100644 index 00000000..3920fd22 --- /dev/null +++ b/content/hermeneutic_lenses/chapters/ex27.json @@ -0,0 +1,52 @@ +{ + "lenses": [ + { + "lens_id": "literary", + "guidance": "The chapter moves outward — altar (vv 1-8), courtyard (vv 9-19), lamp (vv 20-21). The narrative structure inverts ch 25-26's inward-from-ark sequence; entry comes by altar, presence comes by ark, light through both.", + "panel_filter": [ + "lit", + "alter", + "sarna", + "themes" + ], + "panel_order": [ + "lit", + "alter", + "sarna", + "themes" + ] + }, + { + "lens_id": "typological", + "guidance": "The bronze altar (vv 1-8) sits at the courtyard entrance — sacrifice precedes approach. The pattern matches the cross at Christianity's entrance: no path to presence that does not pass through atonement.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "redemptive", + "guidance": "The lamp burns 'from evening until morning' continually (v 21) — covenant presence persists through every dark watch. The redemptive arc keeps a flame Israel cannot extinguish, prefiguring the unquenchable light of Christ.", + "panel_filter": [ + "themes", + "thread", + "calvin", + "cross" + ], + "panel_order": [ + "themes", + "thread", + "calvin", + "cross" + ] + } + ] +} diff --git a/content/hermeneutic_lenses/chapters/ex28.json b/content/hermeneutic_lenses/chapters/ex28.json new file mode 100644 index 00000000..83814b83 --- /dev/null +++ b/content/hermeneutic_lenses/chapters/ex28.json @@ -0,0 +1,54 @@ +{ + "lenses": [ + { + "lens_id": "grammatical", + "guidance": "v 2's 'glory and beauty' — Hebrew kavod ve-tiph'eret. Kavod is presence-weight; tiph'eret is splendour. The original audience hears that priestly clothing carries divine weight, not merely human pageantry.", + "panel_filter": [ + "heb", + "hist", + "sarna", + "alter", + "hebtext" + ], + "panel_order": [ + "heb", + "hebtext", + "sarna", + "alter", + "hist" + ] + }, + { + "lens_id": "typological", + "guidance": "Aaron carries the twelve tribes' names on his shoulders and over his heart (vv 9-12, 29) — the high priest physically bears Israel into God's presence. The pattern prefigures Christ as great high priest (Heb 4:14) bearing his people the same way.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "christocentric", + "guidance": "The gold plate inscribed 'holy to the LORD' (vv 36-38) lets Aaron 'bear the iniquity of the holy things' — the priest absorbs imperfection in worship. Christ bears not flawed worship but the worshippers themselves.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + } + ] +} diff --git a/content/hermeneutic_lenses/chapters/ex29.json b/content/hermeneutic_lenses/chapters/ex29.json new file mode 100644 index 00000000..4141cd17 --- /dev/null +++ b/content/hermeneutic_lenses/chapters/ex29.json @@ -0,0 +1,66 @@ +{ + "lenses": [ + { + "lens_id": "literary", + "guidance": "The seven-day ordination (v 35) and twice-daily offering (vv 38-42) frame priesthood with calendar. The narrative structure binds time itself to atonement; Israel measures days by sacrifice, not just sundial.", + "panel_filter": [ + "lit", + "alter", + "sarna", + "themes" + ], + "panel_order": [ + "lit", + "alter", + "sarna", + "themes" + ] + }, + { + "lens_id": "typological", + "guidance": "Blood is applied to ear, thumb, and toe (v 20) — hearing, doing, walking all consecrated. The pattern of priestly purification covers the whole life. Christ's blood (Heb 10:14) does what these repeated rites only enacted.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "christocentric", + "guidance": "v 36's 'sin offering for atonement' begins seven days of purification before priesthood begins. Christ's once-for-all sacrifice (Heb 7:27) abolishes the cycle while fulfilling its meaning — purified priesthood is now his.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "devotional", + "guidance": "The lamb morning and evening (vv 38-42) trains daily rhythm — every dawn and dusk shaped by sacrifice. Today, anchor prayer to the same rhythm; let morning and evening name themselves with the cross.", + "panel_filter": [ + "themes", + "calvin", + "cross" + ], + "panel_order": [ + "themes", + "calvin", + "cross" + ] + } + ] +} diff --git a/content/hermeneutic_lenses/chapters/ex30.json b/content/hermeneutic_lenses/chapters/ex30.json new file mode 100644 index 00000000..8dd89d48 --- /dev/null +++ b/content/hermeneutic_lenses/chapters/ex30.json @@ -0,0 +1,50 @@ +{ + "lenses": [ + { + "lens_id": "literary", + "guidance": "Five elements — incense altar, census tax, bronze basin, anointing oil, incense recipe — each gets its own short section. The narrative structure of repeated 'the LORD said to Moses' (vv 11, 17, 22, 34) marks five distinct words.", + "panel_filter": [ + "lit", + "alter", + "sarna", + "themes" + ], + "panel_order": [ + "lit", + "alter", + "sarna", + "themes" + ] + }, + { + "lens_id": "typological", + "guidance": "The half-shekel atonement-money (vv 11-16) is 'the same for rich and poor' (v 15) — covenant atonement levels the human field. The pattern points to Christ's ransom: one price, every soul, no scaling.", + "panel_filter": [ + "cross", + "thread", + "calvin", + "themes" + ], + "panel_order": [ + "cross", + "thread", + "calvin", + "themes" + ] + }, + { + "lens_id": "canonical", + "guidance": "The incense altar (vv 1-10) carries prayer-imagery across Scripture — Ps 141:2 ('let my prayer be incense'), Lk 1:10's prayer at the hour of incense, Rev 5:8's prayers as incense before the throne.", + "panel_filter": [ + "cross", + "thread", + "themes" + ], + "panel_order": [ + "thread", + "cross", + "themes" + ] + } + ] +}