Skip to content

feat(lenses): Leviticus 11-20 lens content, batch 2 of Pentateuch-rest pilot (#820, #1782)#1802

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-3-leviticus-11-to-20
May 2, 2026
Merged

feat(lenses): Leviticus 11-20 lens content, batch 2 of Pentateuch-rest pilot (#820, #1782)#1802
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-3-leviticus-11-to-20

Conversation

@CraigBuckmaster
Copy link
Copy Markdown
Owner

Summary

Batch 2 of the Pentateuch-rest pilot tracked under #1782. Adds 33 hermeneutic-lens entries across Leviticus 11–20, picking up after #1801 (lev1–10).

After this PR, the Lev pilot has 7 chapters left (lev21–lev27) — that's likely batch 3.

Per-chapter distribution (33 total)

Chapter Lenses Why
lev11 (clean/unclean) 3 canonical, redemptive, typological
lev12 (childbirth purity) 2 sparse — christocentric, canonical
lev13 (skin disease pt 1) 2 procedural — grammatical, literary
lev14 (cleansing + house mildew) 3 typological, christocentric, canonical
lev15 (discharges) 2 sparse — christocentric, redemptive
lev16 (Day of Atonement) 6 theology peak — full lens spread
lev17 (life-blood + central altar) 4 christocentric, canonical, literary, redemptive
lev18 (sexual ethics) 3 grammatical, canonical, redemptive
lev19 (Holiness Code opener) 5 theology peak — literary inclusio, mission, devotional, canonical, redemptive
lev20 (capital cases) 3 literary, canonical, redemptive

Pattern: average 3.3 lenses/chapter across the batch, with the two theological peaks (lev16, lev19) maxed and the procedural chapters (lev12, lev13, lev15) pared back. Mirrors PR #1801's curated-sparse strategy.

Theological highlights

  • lev16 (Day of Atonement, 6 lenses): Hebrew kaphar / kapporet wordplay grammatically; the two-goat paired type prefiguring Christ's single act (Heb 9:6–14); once-a-year veil entry (v 2) framing Heb 9:11–12; the canonical lexicon Hebrews adopts wholesale; v 29's annual self-denial as devotional rhythm; vv 29–34's perpetual statute as the redemptive arc compressed.
  • lev17: v 11's "the life of a creature is in the blood" anchors christocentric (Heb 9:22 cites it directly), canonical (thread to Mt 26:28), literary (vv 1–9 / 10–16 doublet), and redemptive (one altar, one sacrifice).
  • lev19 (Holiness Code, 5 lenses): vv 2/37 inclusio for literary; vv 33–34's love-of-foreigner as outward mission posture; vv 9–10 gleaning as devotional release; v 18's love-of-neighbour echoing across six NT citations (Mt/Mk/Lk/Rom/Gal/Jas) for canonical; vv 35–36 honest weights for redemptive marketplace ethics.
  • lev14: vv 4–7 two-bird rite as resurrection-pattern type; the Mk 1:40–45 leper Christ sent to fulfil this very rite.
  • lev18 + lev20 land-vomit motif: twinned redemptive lenses tying penalty to covenant promise.

Pipeline gate results

schema_validator.py        145332 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: 102MB, hermeneutic_lenses chapter rows = 442
                           (= 409 baseline from #1801 + 33 batch 2; matches expected)
validate_sqlite.py         101 passed, 0 failed, 2 warnings (pre-existing embeddings/prompts)

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

lev11: 3   lev12: 2   lev13: 2   lev14: 3   lev15: 2
lev16: 6   lev17: 4   lev18: 3   lev19: 5   lev20: 3

Plagiarism guards applied

The brief flagged three chapters as iconic-saying-heavy. Anchors deliberately steer off the famous verses:

  • lev16 (DoA): entries anchor on kaphar/kapporet Hebrew (grammatical), the paired-goat type (typological), v 2 once-a-year entry (christocentric), the Hebrews vocabulary (canonical), v 29 self-denial (devotional), vv 29–34 perpetual statute (redemptive). The "scapegoat carries sins away" phrasing is avoided throughout.
  • lev19 (Holiness Code): entries anchor on the structural inclusio (vv 2/37 for the literary lens), the foreigner law (vv 33–34, mission), gleaning laws (vv 9–10, devotional), honest weights (vv 35–36, redemptive). v 18's "love your neighbour" appears once, in the canonical lens, used as a cross-reference launcher into six NT citations rather than as a stand-alone restatement.
  • lev20 (capital cases): entries anchor on the structural penalty-list-then-exhortation shape (literary), v 7's consecration call (canonical), and vv 22–23 land-vomit (redemptive). Molech (vv 2–5) and the separation formula (vv 24–26) are deliberately not the anchor verses.

Themes-panel plagiarism: the themes panel for these chapters is structurally thin (label/score array + a one-line title), so the 60% word-overlap check in the scorer poses minimal risk in practice. Verified by 100/100 per-chapter scores including the relevance dimension.

Filler-pattern guards

All six banned phrases (the lens reveals, this lens shows, through this lens, this passage shows that, this text teaches that, in this chapter we see/learn) verified absent across the 33 entries by an authoring-time regex sweep.

Rubric-token trap watch (carried forward from batch 1)

The lens-name-substring trap was the chief failure mode in #1801. Every entry was authored against the rubric's actual token list (lens_rubrics.json) rather than relying on the lens name. Specifically verified:

  • typological entries use type / pattern / prefigures / foreshadow — never just "typological".
  • canonical entries use canon / canonical / echoes / thread / across Scripture — never just "canonical".
  • christocentric entries name Christ / Jesus / Messiah / gospel explicitly.
  • mission entries use mission / nations / outward (lev19 only).

Length discipline

All entries authored to a 250-char target with 30-char headroom against the 280-char schema ceiling. Actual range: 200–228 chars. Median ~215.

Watch list for tier-2 audit

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

  1. lev14 typological — the resurrection-pattern reading of the two-bird rite is a defensible (Calvin and Bonar both develop it) but not universal interpretation. Anchor verse vv 4–7 is solid; the "pattern prefigures resurrection" gloss is the interpretive move.
  2. lev16 typological — "Heb 9:6–14 reads the pair as a single anticipation" is a strong claim. Verify the citation supports a single-act reading rather than a sequential one.
  3. lev17 christocentric — "Heb 9:22 cites this verse directly" — Heb 9:22 echoes the principle rather than quoting Lev 17:11 verbatim. The phrasing "cites this verse" is intentional shorthand for quotation-of-principle but could be tightened to "echoes this verse" if a tier-2 reviewer prefers stricter language.
  4. lev19 canonical — the six-citation roster (Mt 22:39, Mk 12:31, Lk 10:27, Rom 13:9, Gal 5:14, Jas 2:8) is a known set; double-check none has been miscredited.

Out of scope

  • No new content generation in content/leviticus/{N}.json itself (only the lens chapter files).
  • No app code changes.
  • No CI workflow changes.
  • scripture.db rebuild is local-only — production R2 upload happens via _tools/upload_to_r2.py post-merge.
  • app/assets/db-manifest.json and app/assets/explore-images.json drift was checked out before staging, per the brief's git checkout -- step.

Rollback

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

Refs

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 1, 2026

Content Pipeline Results

✅ All pipeline checks passed

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

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 1, 2026

Test Results

✅ All tests passed

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

Coverage

Statements Branches Functions Lines

⏱️ Duration: 75.6s

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