feat(lenses): Exodus 1-10 lens content, batch 1 of Exodus pilot (#820, #1781)#1797
Merged
Conversation
…#1781) Opens the Exodus pilot using the same curated-sparse cadence proven on Genesis. 41 entries across 10 chapters, all 100/100 on lens_quality_scorer. Per-chapter distribution: - ex1 (Israel multiplies; midwives) 4 lenses - ex2 (Moses' birth and rescue) 5 lenses - ex3 (burning bush; I AM) 6 lenses (theology peak) - ex4 (objections; signs; circumcision) 4 lenses - ex5 (first confrontation; bricks) 3 lenses (sparse, frustration) - ex6 (renewed commission; YHWH name) 5 lenses - ex7 (Aaron's staff; first plague) 4 lenses - ex8 (plagues 2-4) 3 lenses (sparse, repetitive) - ex9 (plagues 5-7; v 16 missional) 4 lenses - ex10 (plagues 8-9) 3 lenses Theological highlights: - ex3 christocentric: Jn 8:58's 'I AM' explicitly cites v 14; the bush as patristic type of the incarnation (presence that does not consume). - ex2 typological: Moses saved from genocide and called out of Egypt is the pattern Mt 2:13-15 cites of Christ. - ex9 mission: v 16 ('that my name may be proclaimed in all the earth') is the OT's most explicit missional charter, anchored to Rom 9:17. - ex10 canonical: three days of darkness (vv 22-23) anticipate Amos 8:9, Joel 2:31, and the cross's three-hour darkness (Mt 27:45). - ex7 typological: Aaron's staff 'swallows' the magicians' (Hebrew bala') threading to 1 Cor 15:54's 'death swallowed in victory'. Pipeline gates (all green): - schema_validator.py: 0 failed - lens_quality_scorer.py: 41/41 entries 100/100 - build_sqlite.py: 8 lenses, 209 contents - validate_sqlite.py: 0 failed Drafting note: two minor restatements needed on ex2 redemptive (76% themes-panel word overlap) and ex6 grammatical (61% overlap). Both passed the 90 floor as drafted but were lifted to 100 with token-light restatements. The themes panels for chapters with iconic single verses (v 24 in ex2, v 3 in ex6) are dense paraphrases of those verses, so plagiarism risk is highest there — flag for batch 2. Branched off master pre-#1796 merge; once #1796 lands, the live lens_contents row count will be 214 (Genesis complete) + 41 (this batch) = 255.
7 tasks
Content Pipeline Results✅ All pipeline checks passed
|
Test Results✅ All tests passed
Coverage
⏱️ Duration: 93.0s |
This was referenced Apr 29, 2026
feat(lenses): Exodus 31-40 lens content, batch 4 of Exodus pilot — closes Exodus (#820, #1781)
#1800
Merged
Merged
Merged
Merged
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Opens the Exodus pilot. Same curated-sparse cadence proven across the Genesis pilot, now applied to Exodus 1–10. 41 entries across 10 chapters, all scoring 100/100 on
lens_quality_scorerafter two minor restatements.Per-chapter lens distribution
Total: 41 entries. Average 4.1 lenses/chapter — within the curated-sparse band. ex3 maxed at 6 because it's the theological centre of the book; ex5/ex8/ex10 sparse because they are narrative repetition or frustration chapters where forcing a sixth lens would dilute.
First missional lens of the pilot: ex9. Verse 16 ("that my name may be proclaimed in all the earth") is the OT's most explicit missional charter and is cited at Rom 9:17 — earning the lens a place where Genesis only had it once (gen10/gen12).
Theological highlights
Pipeline gates (all green)
schema_validator.pylens_quality_scorer.pybuild_sqlite.pyvalidate_sqlite.pyDrafting discipline — lessons applied and surfaced
The 250-char ceiling held — no entry exceeded 245 chars on first draft.
Two restatements needed, both for
relevance(themes-panel word overlap above the 60% threshold):Both were 93/100 on the scorer (passing the 90 floor as drafted) but lifted to 100 by switching to less-paraphrased phrasing — ex2's restatement now anchors on Hebrew zakar and parallels at Gen 8:1 / 1 Sam 1:19; ex6's now leans on yada' and the relational/informational distinction.
Pattern to flag for future Exodus batches: chapters with iconic single verses where the themes panel itself is a dense paraphrase of that verse will hit the plagiarism threshold easily. Worth building this into the drafting checklist:
No banned filler patterns; no
should_avoidmatches; noshould_avoidlens-specific avoid-phrases. The lens quality cadence is healthy.Watch list for tier-2 audit
Six entries flagged for editor scrutiny on a deeper read.
Branch / merge notes
masteratb183f7b(pre-feat(lenses): Genesis 41-50 lens content, batch 5 of pilot — closes Genesis (#820, #1781) #1796).lens_contentsrow count of 209 assumes feat(lenses): Genesis 41-50 lens content, batch 5 of pilot — closes Genesis (#820, #1781) #1796 has not landed. After both PRs land, total will be 255 (Genesis 214 + Exodus 41).Rollback plan
Revert the merge commit. The 10 new chapter files are additive and isolated under
content/hermeneutic_lenses/chapters/; no existing content, schema, or app code is touched. SQLite rebuilds deterministically.Roadmap
After this lands, batches 2–4 of Exodus complete the Exodus pilot:
Refs #820. Closes part of #1781.