Skip to content

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) - #1793

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20
Apr 28, 2026
Merged

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781)#1793
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

Genesis 11–20 — batch 2 of the pilot (#1781)

Ten chapters covering Genesis's transition from primeval narrative (Babel) into the Abraham cycle. Builds on PRs #1791 (gen1) and #1792 (gen2-10).

Why these chapters matter theologically

Several of these are top-tier theological hinge chapters; the lens density reflects that:

ChapterLensesWhy this density
gen115Babel — mission lens carries the arc Babel→Pentecost
gen126The Abrahamic call — OT's missional turning point
gen134Faith vs sight (Lot/Abram)
gen144Melchizedek — the OT type that drives Hebrews 5–7
gen155Covenant ratification + v 6 (Paul's justification verse)
gen164Hagar — God who sees, Galatians 4 allegory
gen175Circumcision → baptism (Col 2:11-12)
gen185Three visitors + Abraham's intercession
gen194Sodom — judgment+rescue paradigm
gen203Sister deception (sparse, narrative-only)

Coverage milestones in this batch

  • gen12 mission: 12:3 ('all peoples on earth will be blessed through you') — the missional charter of the OT, paired with gen10's Table of Nations. Acts 17:26 + Gal 3:8 anchor the reading.
  • gen14 christocentric/typological: Melchizedek + bread and wine (v 18). Heb 7's eternal-priesthood case rests entirely on this chapter.
  • gen15 christocentric: v 6 ('Abram believed and it was credited') is the Pauline justification anchor; only God passes through the divided animals (v 17), pre-figuring the cross.
  • gen17 typological: circumcision as the type Col 2:11-12 reads as fulfilled in baptism.
  • gen18 christocentric: Abraham's bold intercession as type for Christ's perfect intercession (Heb 7:25).

Pipeline gate (local)

$ python3 _tools/schema_validator.py
RESULTS: 139536 passed, 0 failed, 19 warnings
$ python3 _tools/build_sqlite.py
[OK] hermeneutic_lenses: 8 lenses, 91 contents
$ python3 _tools/validate_sqlite.py
RESULTS: 101 passed, 0 failed, 2 warnings
$ python3 _tools/lens_quality_scorer.py
LENS QUALITY REPORT — 91 entries
Passing (>= 90): 91
Failing (< 90): 0
Average: 99.9/100
By lens:
redemptive 20 entries, avg 100.0
canonical 20 entries, avg 100.0
christocentric 14 entries, avg 100.0
grammatical 12 entries, avg 100.0
typological 12 entries, avg 100.0
devotional 6 entries, avg 98.8
literary 4 entries, avg 100.0
mission 3 entries, avg 100.0

One entry (gen18 devotional) scored 93/100 — well above the 90 floor, just a minor relevance ding from a near-filler turn. Acceptable.

Tier-2 accuracy audit (CI)

extract_hermeneutic_lenses() produces 91 claims total, 45 of them new in this batch. CI will run the tier-2 verifier on all of them. Entries to watch most closely if I were the audit reviewer:

  • gen14 typological — Melchizedek-as-priest-king-type is the firmest typological reading in the OT, supported by Ps 110 + the entire book of Hebrews. Hard to flag.
  • gen18 typological — Trinitarian reading of the three visitors is patristic and not universally embraced; if pushback comes, this is where it lands.
  • gen15 christocentric — covenant-by-divine-self-binding as cross-prefiguration is mainstream evangelical/reformed (Currid, Robertson) but a critical reader could push back.

If any audit pushback comes, I'll trim the offending claim and re-push.

Process honesty: this batch was harder than batch 1

First-pass draft had 18 over-length entries (vs 8 in batch 1) and 5 rubric-token misses. The denser theological chapters (gen12, gen15, gen18) wanted to spill past 280 chars repeatedly because Pauline citations and the covenant-formula-with-name-changes structure are genuinely word-heavy.

Two iterations were needed to clean both fronts. Lesson for batch 3: budget words more strictly on the first draft for theology-dense chapters; treat the 280 ceiling as a hard 250 in early drafts to leave room for rubric tokens.

Rollback plan

Pure additive content. git revert is clean — nothing references these new rows except the app's lens-toggle UI, which gracefully shows nothing for chapters without content.

Pilot progress on #1781

Status
gen1 (PoC)✅ merged (#1791)
gen2-10 (batch 1)✅ merged (#1792)
gen11-20 (batch 2)this PR
gen21-30 (batch 3)next session
gen31-40 (batch 4)future
gen41-50 (batch 5)future

20 of 50 chapters done. Mission lens debuts properly here (gen10 + gen11 + gen12 form the arc).

Refs #820, #1781.

Ten chapters of curated-sparse hermeneutic lens content covering
Genesis's transition from primeval narrative (Babel) into the
Abraham cycle. Major theological pivots in this batch:
- gen11: Babel reversed at Pentecost; mission lens carries the arc
- gen12: THE Abrahamic call — OT's missional turning point (6 lenses)
- gen14: Melchizedek (Heb 5-7's central typological figure)
- gen15: covenant ratification + the verse Paul cites for justification
- gen17: circumcision → baptism (Col 2:11-12)
- gen18: Abraham's intercession as type for Christ's
Per-chapter distribution (curated sparse working as designed):
gen11 5, gen12 6, gen13 4, gen14 4, gen15 5,
gen16 4, gen17 5, gen18 5, gen19 4, gen20 3
Adds 45 entries. Combined with batch 1 (gen1-10, 46 entries), the
DB now holds **91 lens entries on 20 chapters**. All 8 lens types
represented; mission gains 2 entries (gen11 + gen12), bringing it
to 3 total.
Pipeline verified locally:
schema_validator: 139536 passed, 0 failed
build_sqlite: hermeneutic_lenses: 8 lenses, 91 contents
validate_sqlite: 101 passed, 0 failed
lens_quality_scorer: 91/91 passing, avg 99.9/100
(one entry at 93/100 — gen18 devotional; well above the 90 floor)
Process notes:
- First-pass draft had 18 over-length entries (a higher rate than
batch 1) and 5 rubric-token misses. Iterated to clean.
- Retrospective lesson: I should have written tighter on the first
draft for chapters with rich theological hooks — gen12, gen15,
gen18 wanted to spill over 280 every time. Future batches will
budget words more strictly during drafting.
Out of scope (still tracked under #1781):
- Genesis 21-50 (next batches)
- Tier-2 accuracy audit results (CI gate)
Refs #820, #1781.
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation139536 passed, 0 failed
Build DB
DB Integrity101 passed, 0 failed

@github-actions

Copy link
Copy Markdown

Test Results

✅ All tests passed

PassedFailedTotal
Tests✅ 4001❌ 04001
Suites✅ 532❌ 0532

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 91.7s

@CraigBuckmaster
CraigBuckmaster merged commit 6eb5d2a into masterApr 28, 2026
7 checks passed
@CraigBuckmaster
CraigBuckmaster deleted the feat/820-2-genesis-11-to-20 branch April 29, 2026 11:23
Sign up for freeto 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

@CraigBuckmaster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) by CraigBuckmaster · Pull Request #1793 · CraigBuckmaster/ScriptureDeepDive · GitHub
Skip to content

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) - #1793

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20
Apr 28, 2026
Merged

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781)#1793
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

Genesis 11–20 — batch 2 of the pilot (#1781)

Ten chapters covering Genesis's transition from primeval narrative (Babel) into the Abraham cycle. Builds on PRs #1791 (gen1) and #1792 (gen2-10).

Why these chapters matter theologically

Several of these are top-tier theological hinge chapters; the lens density reflects that:

ChapterLensesWhy this density
gen115Babel — mission lens carries the arc Babel→Pentecost
gen126The Abrahamic call — OT's missional turning point
gen134Faith vs sight (Lot/Abram)
gen144Melchizedek — the OT type that drives Hebrews 5–7
gen155Covenant ratification + v 6 (Paul's justification verse)
gen164Hagar — God who sees, Galatians 4 allegory
gen175Circumcision → baptism (Col 2:11-12)
gen185Three visitors + Abraham's intercession
gen194Sodom — judgment+rescue paradigm
gen203Sister deception (sparse, narrative-only)

Coverage milestones in this batch

  • gen12 mission: 12:3 ('all peoples on earth will be blessed through you') — the missional charter of the OT, paired with gen10's Table of Nations. Acts 17:26 + Gal 3:8 anchor the reading.
  • gen14 christocentric/typological: Melchizedek + bread and wine (v 18). Heb 7's eternal-priesthood case rests entirely on this chapter.
  • gen15 christocentric: v 6 ('Abram believed and it was credited') is the Pauline justification anchor; only God passes through the divided animals (v 17), pre-figuring the cross.
  • gen17 typological: circumcision as the type Col 2:11-12 reads as fulfilled in baptism.
  • gen18 christocentric: Abraham's bold intercession as type for Christ's perfect intercession (Heb 7:25).

Pipeline gate (local)

$ python3 _tools/schema_validator.py
RESULTS: 139536 passed, 0 failed, 19 warnings
$ python3 _tools/build_sqlite.py
[OK] hermeneutic_lenses: 8 lenses, 91 contents
$ python3 _tools/validate_sqlite.py
RESULTS: 101 passed, 0 failed, 2 warnings
$ python3 _tools/lens_quality_scorer.py
LENS QUALITY REPORT — 91 entries
Passing (>= 90): 91
Failing (< 90): 0
Average: 99.9/100
By lens:
redemptive 20 entries, avg 100.0
canonical 20 entries, avg 100.0
christocentric 14 entries, avg 100.0
grammatical 12 entries, avg 100.0
typological 12 entries, avg 100.0
devotional 6 entries, avg 98.8
literary 4 entries, avg 100.0
mission 3 entries, avg 100.0

One entry (gen18 devotional) scored 93/100 — well above the 90 floor, just a minor relevance ding from a near-filler turn. Acceptable.

Tier-2 accuracy audit (CI)

extract_hermeneutic_lenses() produces 91 claims total, 45 of them new in this batch. CI will run the tier-2 verifier on all of them. Entries to watch most closely if I were the audit reviewer:

  • gen14 typological — Melchizedek-as-priest-king-type is the firmest typological reading in the OT, supported by Ps 110 + the entire book of Hebrews. Hard to flag.
  • gen18 typological — Trinitarian reading of the three visitors is patristic and not universally embraced; if pushback comes, this is where it lands.
  • gen15 christocentric — covenant-by-divine-self-binding as cross-prefiguration is mainstream evangelical/reformed (Currid, Robertson) but a critical reader could push back.

If any audit pushback comes, I'll trim the offending claim and re-push.

Process honesty: this batch was harder than batch 1

First-pass draft had 18 over-length entries (vs 8 in batch 1) and 5 rubric-token misses. The denser theological chapters (gen12, gen15, gen18) wanted to spill past 280 chars repeatedly because Pauline citations and the covenant-formula-with-name-changes structure are genuinely word-heavy.

Two iterations were needed to clean both fronts. Lesson for batch 3: budget words more strictly on the first draft for theology-dense chapters; treat the 280 ceiling as a hard 250 in early drafts to leave room for rubric tokens.

Rollback plan

Pure additive content. git revert is clean — nothing references these new rows except the app's lens-toggle UI, which gracefully shows nothing for chapters without content.

Pilot progress on #1781

Status
gen1 (PoC)✅ merged (#1791)
gen2-10 (batch 1)✅ merged (#1792)
gen11-20 (batch 2)this PR
gen21-30 (batch 3)next session
gen31-40 (batch 4)future
gen41-50 (batch 5)future

20 of 50 chapters done. Mission lens debuts properly here (gen10 + gen11 + gen12 form the arc).

Refs #820, #1781.

Ten chapters of curated-sparse hermeneutic lens content covering
Genesis's transition from primeval narrative (Babel) into the
Abraham cycle. Major theological pivots in this batch:
- gen11: Babel reversed at Pentecost; mission lens carries the arc
- gen12: THE Abrahamic call — OT's missional turning point (6 lenses)
- gen14: Melchizedek (Heb 5-7's central typological figure)
- gen15: covenant ratification + the verse Paul cites for justification
- gen17: circumcision → baptism (Col 2:11-12)
- gen18: Abraham's intercession as type for Christ's
Per-chapter distribution (curated sparse working as designed):
gen11 5, gen12 6, gen13 4, gen14 4, gen15 5,
gen16 4, gen17 5, gen18 5, gen19 4, gen20 3
Adds 45 entries. Combined with batch 1 (gen1-10, 46 entries), the
DB now holds **91 lens entries on 20 chapters**. All 8 lens types
represented; mission gains 2 entries (gen11 + gen12), bringing it
to 3 total.
Pipeline verified locally:
schema_validator: 139536 passed, 0 failed
build_sqlite: hermeneutic_lenses: 8 lenses, 91 contents
validate_sqlite: 101 passed, 0 failed
lens_quality_scorer: 91/91 passing, avg 99.9/100
(one entry at 93/100 — gen18 devotional; well above the 90 floor)
Process notes:
- First-pass draft had 18 over-length entries (a higher rate than
batch 1) and 5 rubric-token misses. Iterated to clean.
- Retrospective lesson: I should have written tighter on the first
draft for chapters with rich theological hooks — gen12, gen15,
gen18 wanted to spill over 280 every time. Future batches will
budget words more strictly during drafting.
Out of scope (still tracked under #1781):
- Genesis 21-50 (next batches)
- Tier-2 accuracy audit results (CI gate)
Refs #820, #1781.
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation139536 passed, 0 failed
Build DB
DB Integrity101 passed, 0 failed

@github-actions

Copy link
Copy Markdown

Test Results

✅ All tests passed

PassedFailedTotal
Tests✅ 4001❌ 04001
Suites✅ 532❌ 0532

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 91.7s

@CraigBuckmaster
CraigBuckmaster merged commit 6eb5d2a into masterApr 28, 2026
7 checks passed
@CraigBuckmaster
CraigBuckmaster deleted the feat/820-2-genesis-11-to-20 branch April 29, 2026 11:23
Sign up for freeto 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

@CraigBuckmaster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) by CraigBuckmaster · Pull Request #1793 · CraigBuckmaster/ScriptureDeepDive · GitHub
Skip to content

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) - #1793

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20
Apr 28, 2026
Merged

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781)#1793
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

Genesis 11–20 — batch 2 of the pilot (#1781)

Ten chapters covering Genesis's transition from primeval narrative (Babel) into the Abraham cycle. Builds on PRs #1791 (gen1) and #1792 (gen2-10).

Why these chapters matter theologically

Several of these are top-tier theological hinge chapters; the lens density reflects that:

ChapterLensesWhy this density
gen115Babel — mission lens carries the arc Babel→Pentecost
gen126The Abrahamic call — OT's missional turning point
gen134Faith vs sight (Lot/Abram)
gen144Melchizedek — the OT type that drives Hebrews 5–7
gen155Covenant ratification + v 6 (Paul's justification verse)
gen164Hagar — God who sees, Galatians 4 allegory
gen175Circumcision → baptism (Col 2:11-12)
gen185Three visitors + Abraham's intercession
gen194Sodom — judgment+rescue paradigm
gen203Sister deception (sparse, narrative-only)

Coverage milestones in this batch

  • gen12 mission: 12:3 ('all peoples on earth will be blessed through you') — the missional charter of the OT, paired with gen10's Table of Nations. Acts 17:26 + Gal 3:8 anchor the reading.
  • gen14 christocentric/typological: Melchizedek + bread and wine (v 18). Heb 7's eternal-priesthood case rests entirely on this chapter.
  • gen15 christocentric: v 6 ('Abram believed and it was credited') is the Pauline justification anchor; only God passes through the divided animals (v 17), pre-figuring the cross.
  • gen17 typological: circumcision as the type Col 2:11-12 reads as fulfilled in baptism.
  • gen18 christocentric: Abraham's bold intercession as type for Christ's perfect intercession (Heb 7:25).

Pipeline gate (local)

$ python3 _tools/schema_validator.py
RESULTS: 139536 passed, 0 failed, 19 warnings
$ python3 _tools/build_sqlite.py
[OK] hermeneutic_lenses: 8 lenses, 91 contents
$ python3 _tools/validate_sqlite.py
RESULTS: 101 passed, 0 failed, 2 warnings
$ python3 _tools/lens_quality_scorer.py
LENS QUALITY REPORT — 91 entries
Passing (>= 90): 91
Failing (< 90): 0
Average: 99.9/100
By lens:
redemptive 20 entries, avg 100.0
canonical 20 entries, avg 100.0
christocentric 14 entries, avg 100.0
grammatical 12 entries, avg 100.0
typological 12 entries, avg 100.0
devotional 6 entries, avg 98.8
literary 4 entries, avg 100.0
mission 3 entries, avg 100.0

One entry (gen18 devotional) scored 93/100 — well above the 90 floor, just a minor relevance ding from a near-filler turn. Acceptable.

Tier-2 accuracy audit (CI)

extract_hermeneutic_lenses() produces 91 claims total, 45 of them new in this batch. CI will run the tier-2 verifier on all of them. Entries to watch most closely if I were the audit reviewer:

  • gen14 typological — Melchizedek-as-priest-king-type is the firmest typological reading in the OT, supported by Ps 110 + the entire book of Hebrews. Hard to flag.
  • gen18 typological — Trinitarian reading of the three visitors is patristic and not universally embraced; if pushback comes, this is where it lands.
  • gen15 christocentric — covenant-by-divine-self-binding as cross-prefiguration is mainstream evangelical/reformed (Currid, Robertson) but a critical reader could push back.

If any audit pushback comes, I'll trim the offending claim and re-push.

Process honesty: this batch was harder than batch 1

First-pass draft had 18 over-length entries (vs 8 in batch 1) and 5 rubric-token misses. The denser theological chapters (gen12, gen15, gen18) wanted to spill past 280 chars repeatedly because Pauline citations and the covenant-formula-with-name-changes structure are genuinely word-heavy.

Two iterations were needed to clean both fronts. Lesson for batch 3: budget words more strictly on the first draft for theology-dense chapters; treat the 280 ceiling as a hard 250 in early drafts to leave room for rubric tokens.

Rollback plan

Pure additive content. git revert is clean — nothing references these new rows except the app's lens-toggle UI, which gracefully shows nothing for chapters without content.

Pilot progress on #1781

Status
gen1 (PoC)✅ merged (#1791)
gen2-10 (batch 1)✅ merged (#1792)
gen11-20 (batch 2)this PR
gen21-30 (batch 3)next session
gen31-40 (batch 4)future
gen41-50 (batch 5)future

20 of 50 chapters done. Mission lens debuts properly here (gen10 + gen11 + gen12 form the arc).

Refs #820, #1781.

Ten chapters of curated-sparse hermeneutic lens content covering
Genesis's transition from primeval narrative (Babel) into the
Abraham cycle. Major theological pivots in this batch:
- gen11: Babel reversed at Pentecost; mission lens carries the arc
- gen12: THE Abrahamic call — OT's missional turning point (6 lenses)
- gen14: Melchizedek (Heb 5-7's central typological figure)
- gen15: covenant ratification + the verse Paul cites for justification
- gen17: circumcision → baptism (Col 2:11-12)
- gen18: Abraham's intercession as type for Christ's
Per-chapter distribution (curated sparse working as designed):
gen11 5, gen12 6, gen13 4, gen14 4, gen15 5,
gen16 4, gen17 5, gen18 5, gen19 4, gen20 3
Adds 45 entries. Combined with batch 1 (gen1-10, 46 entries), the
DB now holds **91 lens entries on 20 chapters**. All 8 lens types
represented; mission gains 2 entries (gen11 + gen12), bringing it
to 3 total.
Pipeline verified locally:
schema_validator: 139536 passed, 0 failed
build_sqlite: hermeneutic_lenses: 8 lenses, 91 contents
validate_sqlite: 101 passed, 0 failed
lens_quality_scorer: 91/91 passing, avg 99.9/100
(one entry at 93/100 — gen18 devotional; well above the 90 floor)
Process notes:
- First-pass draft had 18 over-length entries (a higher rate than
batch 1) and 5 rubric-token misses. Iterated to clean.
- Retrospective lesson: I should have written tighter on the first
draft for chapters with rich theological hooks — gen12, gen15,
gen18 wanted to spill over 280 every time. Future batches will
budget words more strictly during drafting.
Out of scope (still tracked under #1781):
- Genesis 21-50 (next batches)
- Tier-2 accuracy audit results (CI gate)
Refs #820, #1781.
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation139536 passed, 0 failed
Build DB
DB Integrity101 passed, 0 failed

@github-actions

Copy link
Copy Markdown

Test Results

✅ All tests passed

PassedFailedTotal
Tests✅ 4001❌ 04001
Suites✅ 532❌ 0532

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 91.7s

@CraigBuckmaster
CraigBuckmaster merged commit 6eb5d2a into masterApr 28, 2026
7 checks passed
@CraigBuckmaster
CraigBuckmaster deleted the feat/820-2-genesis-11-to-20 branch April 29, 2026 11:23
Sign up for freeto 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

@CraigBuckmaster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) by CraigBuckmaster · Pull Request #1793 · CraigBuckmaster/ScriptureDeepDive · GitHub
Skip to content

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) - #1793

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20
Apr 28, 2026
Merged

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781)#1793
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

Genesis 11–20 — batch 2 of the pilot (#1781)

Ten chapters covering Genesis's transition from primeval narrative (Babel) into the Abraham cycle. Builds on PRs #1791 (gen1) and #1792 (gen2-10).

Why these chapters matter theologically

Several of these are top-tier theological hinge chapters; the lens density reflects that:

ChapterLensesWhy this density
gen115Babel — mission lens carries the arc Babel→Pentecost
gen126The Abrahamic call — OT's missional turning point
gen134Faith vs sight (Lot/Abram)
gen144Melchizedek — the OT type that drives Hebrews 5–7
gen155Covenant ratification + v 6 (Paul's justification verse)
gen164Hagar — God who sees, Galatians 4 allegory
gen175Circumcision → baptism (Col 2:11-12)
gen185Three visitors + Abraham's intercession
gen194Sodom — judgment+rescue paradigm
gen203Sister deception (sparse, narrative-only)

Coverage milestones in this batch

  • gen12 mission: 12:3 ('all peoples on earth will be blessed through you') — the missional charter of the OT, paired with gen10's Table of Nations. Acts 17:26 + Gal 3:8 anchor the reading.
  • gen14 christocentric/typological: Melchizedek + bread and wine (v 18). Heb 7's eternal-priesthood case rests entirely on this chapter.
  • gen15 christocentric: v 6 ('Abram believed and it was credited') is the Pauline justification anchor; only God passes through the divided animals (v 17), pre-figuring the cross.
  • gen17 typological: circumcision as the type Col 2:11-12 reads as fulfilled in baptism.
  • gen18 christocentric: Abraham's bold intercession as type for Christ's perfect intercession (Heb 7:25).

Pipeline gate (local)

$ python3 _tools/schema_validator.py
RESULTS: 139536 passed, 0 failed, 19 warnings
$ python3 _tools/build_sqlite.py
[OK] hermeneutic_lenses: 8 lenses, 91 contents
$ python3 _tools/validate_sqlite.py
RESULTS: 101 passed, 0 failed, 2 warnings
$ python3 _tools/lens_quality_scorer.py
LENS QUALITY REPORT — 91 entries
Passing (>= 90): 91
Failing (< 90): 0
Average: 99.9/100
By lens:
redemptive 20 entries, avg 100.0
canonical 20 entries, avg 100.0
christocentric 14 entries, avg 100.0
grammatical 12 entries, avg 100.0
typological 12 entries, avg 100.0
devotional 6 entries, avg 98.8
literary 4 entries, avg 100.0
mission 3 entries, avg 100.0

One entry (gen18 devotional) scored 93/100 — well above the 90 floor, just a minor relevance ding from a near-filler turn. Acceptable.

Tier-2 accuracy audit (CI)

extract_hermeneutic_lenses() produces 91 claims total, 45 of them new in this batch. CI will run the tier-2 verifier on all of them. Entries to watch most closely if I were the audit reviewer:

  • gen14 typological — Melchizedek-as-priest-king-type is the firmest typological reading in the OT, supported by Ps 110 + the entire book of Hebrews. Hard to flag.
  • gen18 typological — Trinitarian reading of the three visitors is patristic and not universally embraced; if pushback comes, this is where it lands.
  • gen15 christocentric — covenant-by-divine-self-binding as cross-prefiguration is mainstream evangelical/reformed (Currid, Robertson) but a critical reader could push back.

If any audit pushback comes, I'll trim the offending claim and re-push.

Process honesty: this batch was harder than batch 1

First-pass draft had 18 over-length entries (vs 8 in batch 1) and 5 rubric-token misses. The denser theological chapters (gen12, gen15, gen18) wanted to spill past 280 chars repeatedly because Pauline citations and the covenant-formula-with-name-changes structure are genuinely word-heavy.

Two iterations were needed to clean both fronts. Lesson for batch 3: budget words more strictly on the first draft for theology-dense chapters; treat the 280 ceiling as a hard 250 in early drafts to leave room for rubric tokens.

Rollback plan

Pure additive content. git revert is clean — nothing references these new rows except the app's lens-toggle UI, which gracefully shows nothing for chapters without content.

Pilot progress on #1781

Status
gen1 (PoC)✅ merged (#1791)
gen2-10 (batch 1)✅ merged (#1792)
gen11-20 (batch 2)this PR
gen21-30 (batch 3)next session
gen31-40 (batch 4)future
gen41-50 (batch 5)future

20 of 50 chapters done. Mission lens debuts properly here (gen10 + gen11 + gen12 form the arc).

Refs #820, #1781.

Ten chapters of curated-sparse hermeneutic lens content covering
Genesis's transition from primeval narrative (Babel) into the
Abraham cycle. Major theological pivots in this batch:
- gen11: Babel reversed at Pentecost; mission lens carries the arc
- gen12: THE Abrahamic call — OT's missional turning point (6 lenses)
- gen14: Melchizedek (Heb 5-7's central typological figure)
- gen15: covenant ratification + the verse Paul cites for justification
- gen17: circumcision → baptism (Col 2:11-12)
- gen18: Abraham's intercession as type for Christ's
Per-chapter distribution (curated sparse working as designed):
gen11 5, gen12 6, gen13 4, gen14 4, gen15 5,
gen16 4, gen17 5, gen18 5, gen19 4, gen20 3
Adds 45 entries. Combined with batch 1 (gen1-10, 46 entries), the
DB now holds **91 lens entries on 20 chapters**. All 8 lens types
represented; mission gains 2 entries (gen11 + gen12), bringing it
to 3 total.
Pipeline verified locally:
schema_validator: 139536 passed, 0 failed
build_sqlite: hermeneutic_lenses: 8 lenses, 91 contents
validate_sqlite: 101 passed, 0 failed
lens_quality_scorer: 91/91 passing, avg 99.9/100
(one entry at 93/100 — gen18 devotional; well above the 90 floor)
Process notes:
- First-pass draft had 18 over-length entries (a higher rate than
batch 1) and 5 rubric-token misses. Iterated to clean.
- Retrospective lesson: I should have written tighter on the first
draft for chapters with rich theological hooks — gen12, gen15,
gen18 wanted to spill over 280 every time. Future batches will
budget words more strictly during drafting.
Out of scope (still tracked under #1781):
- Genesis 21-50 (next batches)
- Tier-2 accuracy audit results (CI gate)
Refs #820, #1781.
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation139536 passed, 0 failed
Build DB
DB Integrity101 passed, 0 failed

@github-actions

Copy link
Copy Markdown

Test Results

✅ All tests passed

PassedFailedTotal
Tests✅ 4001❌ 04001
Suites✅ 532❌ 0532

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 91.7s

@CraigBuckmaster
CraigBuckmaster merged commit 6eb5d2a into masterApr 28, 2026
7 checks passed
@CraigBuckmaster
CraigBuckmaster deleted the feat/820-2-genesis-11-to-20 branch April 29, 2026 11:23
Sign up for freeto 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

@CraigBuckmaster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) by CraigBuckmaster · Pull Request #1793 · CraigBuckmaster/ScriptureDeepDive · GitHub
Skip to content

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) - #1793

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20
Apr 28, 2026
Merged

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781)#1793
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

Genesis 11–20 — batch 2 of the pilot (#1781)

Ten chapters covering Genesis's transition from primeval narrative (Babel) into the Abraham cycle. Builds on PRs #1791 (gen1) and #1792 (gen2-10).

Why these chapters matter theologically

Several of these are top-tier theological hinge chapters; the lens density reflects that:

ChapterLensesWhy this density
gen115Babel — mission lens carries the arc Babel→Pentecost
gen126The Abrahamic call — OT's missional turning point
gen134Faith vs sight (Lot/Abram)
gen144Melchizedek — the OT type that drives Hebrews 5–7
gen155Covenant ratification + v 6 (Paul's justification verse)
gen164Hagar — God who sees, Galatians 4 allegory
gen175Circumcision → baptism (Col 2:11-12)
gen185Three visitors + Abraham's intercession
gen194Sodom — judgment+rescue paradigm
gen203Sister deception (sparse, narrative-only)

Coverage milestones in this batch

  • gen12 mission: 12:3 ('all peoples on earth will be blessed through you') — the missional charter of the OT, paired with gen10's Table of Nations. Acts 17:26 + Gal 3:8 anchor the reading.
  • gen14 christocentric/typological: Melchizedek + bread and wine (v 18). Heb 7's eternal-priesthood case rests entirely on this chapter.
  • gen15 christocentric: v 6 ('Abram believed and it was credited') is the Pauline justification anchor; only God passes through the divided animals (v 17), pre-figuring the cross.
  • gen17 typological: circumcision as the type Col 2:11-12 reads as fulfilled in baptism.
  • gen18 christocentric: Abraham's bold intercession as type for Christ's perfect intercession (Heb 7:25).

Pipeline gate (local)

$ python3 _tools/schema_validator.py
RESULTS: 139536 passed, 0 failed, 19 warnings
$ python3 _tools/build_sqlite.py
[OK] hermeneutic_lenses: 8 lenses, 91 contents
$ python3 _tools/validate_sqlite.py
RESULTS: 101 passed, 0 failed, 2 warnings
$ python3 _tools/lens_quality_scorer.py
LENS QUALITY REPORT — 91 entries
Passing (>= 90): 91
Failing (< 90): 0
Average: 99.9/100
By lens:
redemptive 20 entries, avg 100.0
canonical 20 entries, avg 100.0
christocentric 14 entries, avg 100.0
grammatical 12 entries, avg 100.0
typological 12 entries, avg 100.0
devotional 6 entries, avg 98.8
literary 4 entries, avg 100.0
mission 3 entries, avg 100.0

One entry (gen18 devotional) scored 93/100 — well above the 90 floor, just a minor relevance ding from a near-filler turn. Acceptable.

Tier-2 accuracy audit (CI)

extract_hermeneutic_lenses() produces 91 claims total, 45 of them new in this batch. CI will run the tier-2 verifier on all of them. Entries to watch most closely if I were the audit reviewer:

  • gen14 typological — Melchizedek-as-priest-king-type is the firmest typological reading in the OT, supported by Ps 110 + the entire book of Hebrews. Hard to flag.
  • gen18 typological — Trinitarian reading of the three visitors is patristic and not universally embraced; if pushback comes, this is where it lands.
  • gen15 christocentric — covenant-by-divine-self-binding as cross-prefiguration is mainstream evangelical/reformed (Currid, Robertson) but a critical reader could push back.

If any audit pushback comes, I'll trim the offending claim and re-push.

Process honesty: this batch was harder than batch 1

First-pass draft had 18 over-length entries (vs 8 in batch 1) and 5 rubric-token misses. The denser theological chapters (gen12, gen15, gen18) wanted to spill past 280 chars repeatedly because Pauline citations and the covenant-formula-with-name-changes structure are genuinely word-heavy.

Two iterations were needed to clean both fronts. Lesson for batch 3: budget words more strictly on the first draft for theology-dense chapters; treat the 280 ceiling as a hard 250 in early drafts to leave room for rubric tokens.

Rollback plan

Pure additive content. git revert is clean — nothing references these new rows except the app's lens-toggle UI, which gracefully shows nothing for chapters without content.

Pilot progress on #1781

Status
gen1 (PoC)✅ merged (#1791)
gen2-10 (batch 1)✅ merged (#1792)
gen11-20 (batch 2)this PR
gen21-30 (batch 3)next session
gen31-40 (batch 4)future
gen41-50 (batch 5)future

20 of 50 chapters done. Mission lens debuts properly here (gen10 + gen11 + gen12 form the arc).

Refs #820, #1781.

Ten chapters of curated-sparse hermeneutic lens content covering
Genesis's transition from primeval narrative (Babel) into the
Abraham cycle. Major theological pivots in this batch:
- gen11: Babel reversed at Pentecost; mission lens carries the arc
- gen12: THE Abrahamic call — OT's missional turning point (6 lenses)
- gen14: Melchizedek (Heb 5-7's central typological figure)
- gen15: covenant ratification + the verse Paul cites for justification
- gen17: circumcision → baptism (Col 2:11-12)
- gen18: Abraham's intercession as type for Christ's
Per-chapter distribution (curated sparse working as designed):
gen11 5, gen12 6, gen13 4, gen14 4, gen15 5,
gen16 4, gen17 5, gen18 5, gen19 4, gen20 3
Adds 45 entries. Combined with batch 1 (gen1-10, 46 entries), the
DB now holds **91 lens entries on 20 chapters**. All 8 lens types
represented; mission gains 2 entries (gen11 + gen12), bringing it
to 3 total.
Pipeline verified locally:
schema_validator: 139536 passed, 0 failed
build_sqlite: hermeneutic_lenses: 8 lenses, 91 contents
validate_sqlite: 101 passed, 0 failed
lens_quality_scorer: 91/91 passing, avg 99.9/100
(one entry at 93/100 — gen18 devotional; well above the 90 floor)
Process notes:
- First-pass draft had 18 over-length entries (a higher rate than
batch 1) and 5 rubric-token misses. Iterated to clean.
- Retrospective lesson: I should have written tighter on the first
draft for chapters with rich theological hooks — gen12, gen15,
gen18 wanted to spill over 280 every time. Future batches will
budget words more strictly during drafting.
Out of scope (still tracked under #1781):
- Genesis 21-50 (next batches)
- Tier-2 accuracy audit results (CI gate)
Refs #820, #1781.
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation139536 passed, 0 failed
Build DB
DB Integrity101 passed, 0 failed

@github-actions

Copy link
Copy Markdown

Test Results

✅ All tests passed

PassedFailedTotal
Tests✅ 4001❌ 04001
Suites✅ 532❌ 0532

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 91.7s

@CraigBuckmaster
CraigBuckmaster merged commit 6eb5d2a into masterApr 28, 2026
7 checks passed
@CraigBuckmaster
CraigBuckmaster deleted the feat/820-2-genesis-11-to-20 branch April 29, 2026 11:23
Sign up for freeto 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

@CraigBuckmaster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) by CraigBuckmaster · Pull Request #1793 · CraigBuckmaster/ScriptureDeepDive · GitHub
Skip to content

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) - #1793

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20
Apr 28, 2026
Merged

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781)#1793
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

Genesis 11–20 — batch 2 of the pilot (#1781)

Ten chapters covering Genesis's transition from primeval narrative (Babel) into the Abraham cycle. Builds on PRs #1791 (gen1) and #1792 (gen2-10).

Why these chapters matter theologically

Several of these are top-tier theological hinge chapters; the lens density reflects that:

ChapterLensesWhy this density
gen115Babel — mission lens carries the arc Babel→Pentecost
gen126The Abrahamic call — OT's missional turning point
gen134Faith vs sight (Lot/Abram)
gen144Melchizedek — the OT type that drives Hebrews 5–7
gen155Covenant ratification + v 6 (Paul's justification verse)
gen164Hagar — God who sees, Galatians 4 allegory
gen175Circumcision → baptism (Col 2:11-12)
gen185Three visitors + Abraham's intercession
gen194Sodom — judgment+rescue paradigm
gen203Sister deception (sparse, narrative-only)

Coverage milestones in this batch

  • gen12 mission: 12:3 ('all peoples on earth will be blessed through you') — the missional charter of the OT, paired with gen10's Table of Nations. Acts 17:26 + Gal 3:8 anchor the reading.
  • gen14 christocentric/typological: Melchizedek + bread and wine (v 18). Heb 7's eternal-priesthood case rests entirely on this chapter.
  • gen15 christocentric: v 6 ('Abram believed and it was credited') is the Pauline justification anchor; only God passes through the divided animals (v 17), pre-figuring the cross.
  • gen17 typological: circumcision as the type Col 2:11-12 reads as fulfilled in baptism.
  • gen18 christocentric: Abraham's bold intercession as type for Christ's perfect intercession (Heb 7:25).

Pipeline gate (local)

$ python3 _tools/schema_validator.py
RESULTS: 139536 passed, 0 failed, 19 warnings
$ python3 _tools/build_sqlite.py
[OK] hermeneutic_lenses: 8 lenses, 91 contents
$ python3 _tools/validate_sqlite.py
RESULTS: 101 passed, 0 failed, 2 warnings
$ python3 _tools/lens_quality_scorer.py
LENS QUALITY REPORT — 91 entries
Passing (>= 90): 91
Failing (< 90): 0
Average: 99.9/100
By lens:
redemptive 20 entries, avg 100.0
canonical 20 entries, avg 100.0
christocentric 14 entries, avg 100.0
grammatical 12 entries, avg 100.0
typological 12 entries, avg 100.0
devotional 6 entries, avg 98.8
literary 4 entries, avg 100.0
mission 3 entries, avg 100.0

One entry (gen18 devotional) scored 93/100 — well above the 90 floor, just a minor relevance ding from a near-filler turn. Acceptable.

Tier-2 accuracy audit (CI)

extract_hermeneutic_lenses() produces 91 claims total, 45 of them new in this batch. CI will run the tier-2 verifier on all of them. Entries to watch most closely if I were the audit reviewer:

  • gen14 typological — Melchizedek-as-priest-king-type is the firmest typological reading in the OT, supported by Ps 110 + the entire book of Hebrews. Hard to flag.
  • gen18 typological — Trinitarian reading of the three visitors is patristic and not universally embraced; if pushback comes, this is where it lands.
  • gen15 christocentric — covenant-by-divine-self-binding as cross-prefiguration is mainstream evangelical/reformed (Currid, Robertson) but a critical reader could push back.

If any audit pushback comes, I'll trim the offending claim and re-push.

Process honesty: this batch was harder than batch 1

First-pass draft had 18 over-length entries (vs 8 in batch 1) and 5 rubric-token misses. The denser theological chapters (gen12, gen15, gen18) wanted to spill past 280 chars repeatedly because Pauline citations and the covenant-formula-with-name-changes structure are genuinely word-heavy.

Two iterations were needed to clean both fronts. Lesson for batch 3: budget words more strictly on the first draft for theology-dense chapters; treat the 280 ceiling as a hard 250 in early drafts to leave room for rubric tokens.

Rollback plan

Pure additive content. git revert is clean — nothing references these new rows except the app's lens-toggle UI, which gracefully shows nothing for chapters without content.

Pilot progress on #1781

Status
gen1 (PoC)✅ merged (#1791)
gen2-10 (batch 1)✅ merged (#1792)
gen11-20 (batch 2)this PR
gen21-30 (batch 3)next session
gen31-40 (batch 4)future
gen41-50 (batch 5)future

20 of 50 chapters done. Mission lens debuts properly here (gen10 + gen11 + gen12 form the arc).

Refs #820, #1781.

Ten chapters of curated-sparse hermeneutic lens content covering
Genesis's transition from primeval narrative (Babel) into the
Abraham cycle. Major theological pivots in this batch:
- gen11: Babel reversed at Pentecost; mission lens carries the arc
- gen12: THE Abrahamic call — OT's missional turning point (6 lenses)
- gen14: Melchizedek (Heb 5-7's central typological figure)
- gen15: covenant ratification + the verse Paul cites for justification
- gen17: circumcision → baptism (Col 2:11-12)
- gen18: Abraham's intercession as type for Christ's
Per-chapter distribution (curated sparse working as designed):
gen11 5, gen12 6, gen13 4, gen14 4, gen15 5,
gen16 4, gen17 5, gen18 5, gen19 4, gen20 3
Adds 45 entries. Combined with batch 1 (gen1-10, 46 entries), the
DB now holds **91 lens entries on 20 chapters**. All 8 lens types
represented; mission gains 2 entries (gen11 + gen12), bringing it
to 3 total.
Pipeline verified locally:
schema_validator: 139536 passed, 0 failed
build_sqlite: hermeneutic_lenses: 8 lenses, 91 contents
validate_sqlite: 101 passed, 0 failed
lens_quality_scorer: 91/91 passing, avg 99.9/100
(one entry at 93/100 — gen18 devotional; well above the 90 floor)
Process notes:
- First-pass draft had 18 over-length entries (a higher rate than
batch 1) and 5 rubric-token misses. Iterated to clean.
- Retrospective lesson: I should have written tighter on the first
draft for chapters with rich theological hooks — gen12, gen15,
gen18 wanted to spill over 280 every time. Future batches will
budget words more strictly during drafting.
Out of scope (still tracked under #1781):
- Genesis 21-50 (next batches)
- Tier-2 accuracy audit results (CI gate)
Refs #820, #1781.
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation139536 passed, 0 failed
Build DB
DB Integrity101 passed, 0 failed

@github-actions

Copy link
Copy Markdown

Test Results

✅ All tests passed

PassedFailedTotal
Tests✅ 4001❌ 04001
Suites✅ 532❌ 0532

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 91.7s

@CraigBuckmaster
CraigBuckmaster merged commit 6eb5d2a into masterApr 28, 2026
7 checks passed
@CraigBuckmaster
CraigBuckmaster deleted the feat/820-2-genesis-11-to-20 branch April 29, 2026 11:23
Sign up for freeto 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

@CraigBuckmaster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) by CraigBuckmaster · Pull Request #1793 · CraigBuckmaster/ScriptureDeepDive · GitHub
Skip to content

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) - #1793

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20
Apr 28, 2026
Merged

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781)#1793
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

Genesis 11–20 — batch 2 of the pilot (#1781)

Ten chapters covering Genesis's transition from primeval narrative (Babel) into the Abraham cycle. Builds on PRs #1791 (gen1) and #1792 (gen2-10).

Why these chapters matter theologically

Several of these are top-tier theological hinge chapters; the lens density reflects that:

ChapterLensesWhy this density
gen115Babel — mission lens carries the arc Babel→Pentecost
gen126The Abrahamic call — OT's missional turning point
gen134Faith vs sight (Lot/Abram)
gen144Melchizedek — the OT type that drives Hebrews 5–7
gen155Covenant ratification + v 6 (Paul's justification verse)
gen164Hagar — God who sees, Galatians 4 allegory
gen175Circumcision → baptism (Col 2:11-12)
gen185Three visitors + Abraham's intercession
gen194Sodom — judgment+rescue paradigm
gen203Sister deception (sparse, narrative-only)

Coverage milestones in this batch

  • gen12 mission: 12:3 ('all peoples on earth will be blessed through you') — the missional charter of the OT, paired with gen10's Table of Nations. Acts 17:26 + Gal 3:8 anchor the reading.
  • gen14 christocentric/typological: Melchizedek + bread and wine (v 18). Heb 7's eternal-priesthood case rests entirely on this chapter.
  • gen15 christocentric: v 6 ('Abram believed and it was credited') is the Pauline justification anchor; only God passes through the divided animals (v 17), pre-figuring the cross.
  • gen17 typological: circumcision as the type Col 2:11-12 reads as fulfilled in baptism.
  • gen18 christocentric: Abraham's bold intercession as type for Christ's perfect intercession (Heb 7:25).

Pipeline gate (local)

$ python3 _tools/schema_validator.py
RESULTS: 139536 passed, 0 failed, 19 warnings
$ python3 _tools/build_sqlite.py
[OK] hermeneutic_lenses: 8 lenses, 91 contents
$ python3 _tools/validate_sqlite.py
RESULTS: 101 passed, 0 failed, 2 warnings
$ python3 _tools/lens_quality_scorer.py
LENS QUALITY REPORT — 91 entries
Passing (>= 90): 91
Failing (< 90): 0
Average: 99.9/100
By lens:
redemptive 20 entries, avg 100.0
canonical 20 entries, avg 100.0
christocentric 14 entries, avg 100.0
grammatical 12 entries, avg 100.0
typological 12 entries, avg 100.0
devotional 6 entries, avg 98.8
literary 4 entries, avg 100.0
mission 3 entries, avg 100.0

One entry (gen18 devotional) scored 93/100 — well above the 90 floor, just a minor relevance ding from a near-filler turn. Acceptable.

Tier-2 accuracy audit (CI)

extract_hermeneutic_lenses() produces 91 claims total, 45 of them new in this batch. CI will run the tier-2 verifier on all of them. Entries to watch most closely if I were the audit reviewer:

  • gen14 typological — Melchizedek-as-priest-king-type is the firmest typological reading in the OT, supported by Ps 110 + the entire book of Hebrews. Hard to flag.
  • gen18 typological — Trinitarian reading of the three visitors is patristic and not universally embraced; if pushback comes, this is where it lands.
  • gen15 christocentric — covenant-by-divine-self-binding as cross-prefiguration is mainstream evangelical/reformed (Currid, Robertson) but a critical reader could push back.

If any audit pushback comes, I'll trim the offending claim and re-push.

Process honesty: this batch was harder than batch 1

First-pass draft had 18 over-length entries (vs 8 in batch 1) and 5 rubric-token misses. The denser theological chapters (gen12, gen15, gen18) wanted to spill past 280 chars repeatedly because Pauline citations and the covenant-formula-with-name-changes structure are genuinely word-heavy.

Two iterations were needed to clean both fronts. Lesson for batch 3: budget words more strictly on the first draft for theology-dense chapters; treat the 280 ceiling as a hard 250 in early drafts to leave room for rubric tokens.

Rollback plan

Pure additive content. git revert is clean — nothing references these new rows except the app's lens-toggle UI, which gracefully shows nothing for chapters without content.

Pilot progress on #1781

Status
gen1 (PoC)✅ merged (#1791)
gen2-10 (batch 1)✅ merged (#1792)
gen11-20 (batch 2)this PR
gen21-30 (batch 3)next session
gen31-40 (batch 4)future
gen41-50 (batch 5)future

20 of 50 chapters done. Mission lens debuts properly here (gen10 + gen11 + gen12 form the arc).

Refs #820, #1781.

Ten chapters of curated-sparse hermeneutic lens content covering
Genesis's transition from primeval narrative (Babel) into the
Abraham cycle. Major theological pivots in this batch:
- gen11: Babel reversed at Pentecost; mission lens carries the arc
- gen12: THE Abrahamic call — OT's missional turning point (6 lenses)
- gen14: Melchizedek (Heb 5-7's central typological figure)
- gen15: covenant ratification + the verse Paul cites for justification
- gen17: circumcision → baptism (Col 2:11-12)
- gen18: Abraham's intercession as type for Christ's
Per-chapter distribution (curated sparse working as designed):
gen11 5, gen12 6, gen13 4, gen14 4, gen15 5,
gen16 4, gen17 5, gen18 5, gen19 4, gen20 3
Adds 45 entries. Combined with batch 1 (gen1-10, 46 entries), the
DB now holds **91 lens entries on 20 chapters**. All 8 lens types
represented; mission gains 2 entries (gen11 + gen12), bringing it
to 3 total.
Pipeline verified locally:
schema_validator: 139536 passed, 0 failed
build_sqlite: hermeneutic_lenses: 8 lenses, 91 contents
validate_sqlite: 101 passed, 0 failed
lens_quality_scorer: 91/91 passing, avg 99.9/100
(one entry at 93/100 — gen18 devotional; well above the 90 floor)
Process notes:
- First-pass draft had 18 over-length entries (a higher rate than
batch 1) and 5 rubric-token misses. Iterated to clean.
- Retrospective lesson: I should have written tighter on the first
draft for chapters with rich theological hooks — gen12, gen15,
gen18 wanted to spill over 280 every time. Future batches will
budget words more strictly during drafting.
Out of scope (still tracked under #1781):
- Genesis 21-50 (next batches)
- Tier-2 accuracy audit results (CI gate)
Refs #820, #1781.
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation139536 passed, 0 failed
Build DB
DB Integrity101 passed, 0 failed

@github-actions

Copy link
Copy Markdown

Test Results

✅ All tests passed

PassedFailedTotal
Tests✅ 4001❌ 04001
Suites✅ 532❌ 0532

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 91.7s

@CraigBuckmaster
CraigBuckmaster merged commit 6eb5d2a into masterApr 28, 2026
7 checks passed
@CraigBuckmaster
CraigBuckmaster deleted the feat/820-2-genesis-11-to-20 branch April 29, 2026 11:23
Sign up for freeto 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

@CraigBuckmaster
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) by CraigBuckmaster · Pull Request #1793 · CraigBuckmaster/ScriptureDeepDive · GitHub
Skip to content

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781) - #1793

Merged
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20
Apr 28, 2026
Merged

feat(lenses): Genesis 11-20 lens content, batch 2 of pilot (#820, #1781)#1793
CraigBuckmaster merged 1 commit into
masterfrom
feat/820-2-genesis-11-to-20

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

Genesis 11–20 — batch 2 of the pilot (#1781)

Ten chapters covering Genesis's transition from primeval narrative (Babel) into the Abraham cycle. Builds on PRs #1791 (gen1) and #1792 (gen2-10).

Why these chapters matter theologically

Several of these are top-tier theological hinge chapters; the lens density reflects that:

ChapterLensesWhy this density
gen115Babel — mission lens carries the arc Babel→Pentecost
gen126The Abrahamic call — OT's missional turning point
gen134Faith vs sight (Lot/Abram)
gen144Melchizedek — the OT type that drives Hebrews 5–7
gen155Covenant ratification + v 6 (Paul's justification verse)
gen164Hagar — God who sees, Galatians 4 allegory
gen175Circumcision → baptism (Col 2:11-12)
gen185Three visitors + Abraham's intercession
gen194Sodom — judgment+rescue paradigm
gen203Sister deception (sparse, narrative-only)

Coverage milestones in this batch

  • gen12 mission: 12:3 ('all peoples on earth will be blessed through you') — the missional charter of the OT, paired with gen10's Table of Nations. Acts 17:26 + Gal 3:8 anchor the reading.
  • gen14 christocentric/typological: Melchizedek + bread and wine (v 18). Heb 7's eternal-priesthood case rests entirely on this chapter.
  • gen15 christocentric: v 6 ('Abram believed and it was credited') is the Pauline justification anchor; only God passes through the divided animals (v 17), pre-figuring the cross.
  • gen17 typological: circumcision as the type Col 2:11-12 reads as fulfilled in baptism.
  • gen18 christocentric: Abraham's bold intercession as type for Christ's perfect intercession (Heb 7:25).

Pipeline gate (local)

$ python3 _tools/schema_validator.py
RESULTS: 139536 passed, 0 failed, 19 warnings
$ python3 _tools/build_sqlite.py
[OK] hermeneutic_lenses: 8 lenses, 91 contents
$ python3 _tools/validate_sqlite.py
RESULTS: 101 passed, 0 failed, 2 warnings
$ python3 _tools/lens_quality_scorer.py
LENS QUALITY REPORT — 91 entries
Passing (>= 90): 91
Failing (< 90): 0
Average: 99.9/100
By lens:
redemptive 20 entries, avg 100.0
canonical 20 entries, avg 100.0
christocentric 14 entries, avg 100.0
grammatical 12 entries, avg 100.0
typological 12 entries, avg 100.0
devotional 6 entries, avg 98.8
literary 4 entries, avg 100.0
mission 3 entries, avg 100.0

One entry (gen18 devotional) scored 93/100 — well above the 90 floor, just a minor relevance ding from a near-filler turn. Acceptable.

Tier-2 accuracy audit (CI)

extract_hermeneutic_lenses() produces 91 claims total, 45 of them new in this batch. CI will run the tier-2 verifier on all of them. Entries to watch most closely if I were the audit reviewer:

  • gen14 typological — Melchizedek-as-priest-king-type is the firmest typological reading in the OT, supported by Ps 110 + the entire book of Hebrews. Hard to flag.
  • gen18 typological — Trinitarian reading of the three visitors is patristic and not universally embraced; if pushback comes, this is where it lands.
  • gen15 christocentric — covenant-by-divine-self-binding as cross-prefiguration is mainstream evangelical/reformed (Currid, Robertson) but a critical reader could push back.

If any audit pushback comes, I'll trim the offending claim and re-push.

Process honesty: this batch was harder than batch 1

First-pass draft had 18 over-length entries (vs 8 in batch 1) and 5 rubric-token misses. The denser theological chapters (gen12, gen15, gen18) wanted to spill past 280 chars repeatedly because Pauline citations and the covenant-formula-with-name-changes structure are genuinely word-heavy.

Two iterations were needed to clean both fronts. Lesson for batch 3: budget words more strictly on the first draft for theology-dense chapters; treat the 280 ceiling as a hard 250 in early drafts to leave room for rubric tokens.

Rollback plan

Pure additive content. git revert is clean — nothing references these new rows except the app's lens-toggle UI, which gracefully shows nothing for chapters without content.

Pilot progress on #1781

Status
gen1 (PoC)✅ merged (#1791)
gen2-10 (batch 1)✅ merged (#1792)
gen11-20 (batch 2)this PR
gen21-30 (batch 3)next session
gen31-40 (batch 4)future
gen41-50 (batch 5)future

20 of 50 chapters done. Mission lens debuts properly here (gen10 + gen11 + gen12 form the arc).

Refs #820, #1781.

Ten chapters of curated-sparse hermeneutic lens content covering
Genesis's transition from primeval narrative (Babel) into the
Abraham cycle. Major theological pivots in this batch:
- gen11: Babel reversed at Pentecost; mission lens carries the arc
- gen12: THE Abrahamic call — OT's missional turning point (6 lenses)
- gen14: Melchizedek (Heb 5-7's central typological figure)
- gen15: covenant ratification + the verse Paul cites for justification
- gen17: circumcision → baptism (Col 2:11-12)
- gen18: Abraham's intercession as type for Christ's
Per-chapter distribution (curated sparse working as designed):
gen11 5, gen12 6, gen13 4, gen14 4, gen15 5,
gen16 4, gen17 5, gen18 5, gen19 4, gen20 3
Adds 45 entries. Combined with batch 1 (gen1-10, 46 entries), the
DB now holds **91 lens entries on 20 chapters**. All 8 lens types
represented; mission gains 2 entries (gen11 + gen12), bringing it
to 3 total.
Pipeline verified locally:
schema_validator: 139536 passed, 0 failed
build_sqlite: hermeneutic_lenses: 8 lenses, 91 contents
validate_sqlite: 101 passed, 0 failed
lens_quality_scorer: 91/91 passing, avg 99.9/100
(one entry at 93/100 — gen18 devotional; well above the 90 floor)
Process notes:
- First-pass draft had 18 over-length entries (a higher rate than
batch 1) and 5 rubric-token misses. Iterated to clean.
- Retrospective lesson: I should have written tighter on the first
draft for chapters with rich theological hooks — gen12, gen15,
gen18 wanted to spill over 280 every time. Future batches will
budget words more strictly during drafting.
Out of scope (still tracked under #1781):
- Genesis 21-50 (next batches)
- Tier-2 accuracy audit results (CI gate)
Refs #820, #1781.
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation139536 passed, 0 failed
Build DB
DB Integrity101 passed, 0 failed

@github-actions

Copy link
Copy Markdown

Test Results

✅ All tests passed

PassedFailedTotal
Tests✅ 4001❌ 04001
Suites✅ 532❌ 0532

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 91.7s

@CraigBuckmaster
CraigBuckmaster merged commit 6eb5d2a into masterApr 28, 2026
7 checks passed
@CraigBuckmaster
CraigBuckmaster deleted the feat/820-2-genesis-11-to-20 branch April 29, 2026 11:23
Sign up for freeto 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

@CraigBuckmaster