content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577) - #1606

Closed
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2
Closed

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577)#1606
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Second of four full_summary backfill batches. Branched off HWGTB-P4-02A (PR #1605) so the diff against that base is exactly 3 entries modified — byte-identical extrabiblical.json for the untouched 9 entries.

Closes

Closes#1577

Entries upgraded

EntryWords
jasher1,122
assumption_of_moses1,267
tobit1,313

Same structure / guardrails as batch 1

Markdown with ## section headers: Overview → Composition history → Contents → Reception history → NT & patristic usage → Scholarly positions → Why different traditions treated it differently → Further reading.

Word counts on the conservative side (1,100–1,300 vs issue's 2,000–4,000 target). Happy to expand on reviewer request.

Editorial notes per entry

  • jasher — the tricky one. Distinguishes three distinct works that circulate under the name: the lost biblical Book of Jasher (real, lost), the medieval Sefer haYashar (legitimate Jewish midrash, 11th–13th c.), and the 1751 English Pseudo-Jasher (documented forgery, Jacob Ilive). Popular conspiracy framings conflate these three; this summary keeps them apart and specifically names the 1751 work as forgery.
  • assumption_of_moses — traces the Jude 9 identification (Origen, Clement patristic testimony), the Ceriani 1861 rediscovery of the sole Latin manuscript, and the Taxo martyrdom theology of chapter 9. No Christian communion treats it as Scripture.
  • tobit — traces the Protestant/Catholic/Orthodox/Ethiopian split through the Jerome–Augustine divergence (4th–5th c.) and the Reformation retrieval of Jerome's hebraica veritas. Qumran Aramaic/Hebrew fragments (4Q196–4Q200) confirm Semitic original but do not change canonical judgments.

Merge order (important)

Base: PR #1605 (batch 1). This PR is chunk 2 of the chained full_summary series. The planned merge order:

master
└─ #1589 (12 brief entries)
└─ #1605 (batch 1: 1_enoch / 2_enoch / jubilees)
└─ this PR (batch 2: jasher / assumption_of_moses / tobit)
└─ #1578 (batch 3 — upcoming)
└─ #1579 (batch 4 — upcoming)

Each batch branches off the previous so extrabiblical.json stays byte-identical for the untouched entries — no 3-way merge conflicts across the 4 batches.

Diff vs base (PR #1605):1 file changed, 3 insertions(+), 3 deletions(-) — only the 3 full_summary fields flip from null to populated prose.

How I verified

  • python _tools/schema_validator.py136482 passed, 77 failed (same 77 pre-existing master baseline; 0 new failures) ✅

Note on scholar_voices[]

Same as batch 1 — inline scholarly citation within the summary prose rather than array expansion. Primary sources named: Fitzmyer's Tobit (de Gruyter 2003), Tromp's Assumption of Moses (Brill 1993), Charlesworth's OTP, Priest's translation, Moore's Anchor Tobit, the Gelasian Decree's list of rejected apocrypha, Origen and Clement's testimony, Mack's ISBE article on Jasher.

Rollback

Revert this PR. The 3 full_summary fields return to null; no schema impact. Batches 1, 3, 4 unaffected (chained branches handle their own deltas).


Generated by Claude Code

…1577)
Second of four full_summary backfill batches. Branched off
HWGTB-P4-02A (PR #1605) so the diff against that base is exactly
three entries.
Entries upgraded in this batch (#1577, HWGTB-P4-02B):
- jasher — 1,122 words
- assumption_of_moses — 1,267 words
- tobit — 1,313 words
Same structure / guardrails as batch 1 (#1553, PR #1605):
Overview → Composition history → Contents → Reception history
→ NT & patristic usage → Scholarly positions → Why different
traditions treated it differently → Further reading.
Word counts on the conservative side (1,100–1,300 vs issue's
2,000–4,000 target). Happy to expand on reviewer request.
Editorial notes per entry
- jasher: distinguishes THREE works under the name — the lost
biblical Book of Jasher (real, lost), the medieval Sefer
haYashar (legitimate Jewish midrash), and the 1751 English
Pseudo-Jasher (documented forgery). Popular conspiracy
framings conflate these three; this summary keeps them
apart.
- assumption_of_moses: identifies the Jude 9 connection
(patristic testimony of Origen, Clement), the Ceriani 1861
rediscovery, and the Taxo martyrdom theology. No Christian
communion treats it as Scripture.
- tobit: traces the Protestant/Catholic/Orthodox split through
Jerome-Augustine divergence and the Reformation retrieval of
Jerome's position. Qumran Aramaic/Hebrew fragments confirm
Semitic original but do not change canonical judgments.
No schema / code changes. Only content/meta/extrabiblical.json
modified.
How verified
python _tools/schema_validator.py — 136482 passed, 77 failed
(same 77 pre-existing master baseline; 0 new failures)
Merge order (flagged for reviewer)
This PR is chunk 2 of the chained full_summary series. The
planned merge order is:
master → #1589 (12 brief entries)
→ #1605 (batch 1)
→ this PR (batch 2)
→ #1578/3 → #1579/4
Each subsequent batch branches off the previous so the
extrabiblical.json is byte-identical for all untouched
entries — no 3-way merge conflicts across the 4 batches.
This PR diff against master shows extrabiblical.json as a new
file; diff against its branch base (PR #1605) shows only the
3 full_summary fields changed.
Closes#1577
@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the collapsed replacement PR #1622, which merges the entire chain into a single commit on master (no stacked-branch dependencies, no extrabiblical.json recreation conflicts).

@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p4-02b-full-summary-batch2 branch April 23, 2026 20:49
CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
Collapses the chain of 5 stacked PRs (#1605, #1606, #1609, #1617, #1619)
into a single clean commit on top of master. Each PR in the chain was
rebuilt from a pre-#1589 base and recreated extrabiblical.json from
scratch, which forced a conflict with the canonical file added by
#1589. Since #1619 is a strict superset of the earlier ones, merging
its final state directly is equivalent to sequentially applying all 5.
## Full summaries added (12)
Scholarly long-form treatment for every entry:
1_enoch (9969 chars), 2_enoch (7992), jubilees (8653),
jasher (7372), assumption_of_moses (8297), tobit (8781),
judith (9296), wisdom_of_solomon (8764), sirach (9451),
1_maccabees (9211), 4_ezra (9459), damascus_document (9417)
## Cross-links wired
Referential integrity to existing tables:
- 11 entries gained related_debate_ids → debate-topics.json
- 12 entries gained related_journey_ids → journeys/thematic/
- 3 entries gained related_difficult_passage_ids → difficult-passages.json
## Verified locally
- schema_validator.py: same 77 pre-existing failures, no new ones
- build_sqlite.py: clean build
- validate_sqlite.py: [OK] ALL CHECKS PASSED
## Closes#1553, #1577, #1578, #1579, #1576
## Supersedes
#1605, #1606, #1609, #1617, #1619
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
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.

2 participants

@CraigBuckmaster@claude
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577) - #1606

Closed
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2
Closed

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577)#1606
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Second of four full_summary backfill batches. Branched off HWGTB-P4-02A (PR #1605) so the diff against that base is exactly 3 entries modified — byte-identical extrabiblical.json for the untouched 9 entries.

Closes

Closes#1577

Entries upgraded

EntryWords
jasher1,122
assumption_of_moses1,267
tobit1,313

Same structure / guardrails as batch 1

Markdown with ## section headers: Overview → Composition history → Contents → Reception history → NT & patristic usage → Scholarly positions → Why different traditions treated it differently → Further reading.

Word counts on the conservative side (1,100–1,300 vs issue's 2,000–4,000 target). Happy to expand on reviewer request.

Editorial notes per entry

  • jasher — the tricky one. Distinguishes three distinct works that circulate under the name: the lost biblical Book of Jasher (real, lost), the medieval Sefer haYashar (legitimate Jewish midrash, 11th–13th c.), and the 1751 English Pseudo-Jasher (documented forgery, Jacob Ilive). Popular conspiracy framings conflate these three; this summary keeps them apart and specifically names the 1751 work as forgery.
  • assumption_of_moses — traces the Jude 9 identification (Origen, Clement patristic testimony), the Ceriani 1861 rediscovery of the sole Latin manuscript, and the Taxo martyrdom theology of chapter 9. No Christian communion treats it as Scripture.
  • tobit — traces the Protestant/Catholic/Orthodox/Ethiopian split through the Jerome–Augustine divergence (4th–5th c.) and the Reformation retrieval of Jerome's hebraica veritas. Qumran Aramaic/Hebrew fragments (4Q196–4Q200) confirm Semitic original but do not change canonical judgments.

Merge order (important)

Base: PR #1605 (batch 1). This PR is chunk 2 of the chained full_summary series. The planned merge order:

master
└─ #1589 (12 brief entries)
└─ #1605 (batch 1: 1_enoch / 2_enoch / jubilees)
└─ this PR (batch 2: jasher / assumption_of_moses / tobit)
└─ #1578 (batch 3 — upcoming)
└─ #1579 (batch 4 — upcoming)

Each batch branches off the previous so extrabiblical.json stays byte-identical for the untouched entries — no 3-way merge conflicts across the 4 batches.

Diff vs base (PR #1605):1 file changed, 3 insertions(+), 3 deletions(-) — only the 3 full_summary fields flip from null to populated prose.

How I verified

  • python _tools/schema_validator.py136482 passed, 77 failed (same 77 pre-existing master baseline; 0 new failures) ✅

Note on scholar_voices[]

Same as batch 1 — inline scholarly citation within the summary prose rather than array expansion. Primary sources named: Fitzmyer's Tobit (de Gruyter 2003), Tromp's Assumption of Moses (Brill 1993), Charlesworth's OTP, Priest's translation, Moore's Anchor Tobit, the Gelasian Decree's list of rejected apocrypha, Origen and Clement's testimony, Mack's ISBE article on Jasher.

Rollback

Revert this PR. The 3 full_summary fields return to null; no schema impact. Batches 1, 3, 4 unaffected (chained branches handle their own deltas).


Generated by Claude Code

…1577)
Second of four full_summary backfill batches. Branched off
HWGTB-P4-02A (PR #1605) so the diff against that base is exactly
three entries.
Entries upgraded in this batch (#1577, HWGTB-P4-02B):
- jasher — 1,122 words
- assumption_of_moses — 1,267 words
- tobit — 1,313 words
Same structure / guardrails as batch 1 (#1553, PR #1605):
Overview → Composition history → Contents → Reception history
→ NT & patristic usage → Scholarly positions → Why different
traditions treated it differently → Further reading.
Word counts on the conservative side (1,100–1,300 vs issue's
2,000–4,000 target). Happy to expand on reviewer request.
Editorial notes per entry
- jasher: distinguishes THREE works under the name — the lost
biblical Book of Jasher (real, lost), the medieval Sefer
haYashar (legitimate Jewish midrash), and the 1751 English
Pseudo-Jasher (documented forgery). Popular conspiracy
framings conflate these three; this summary keeps them
apart.
- assumption_of_moses: identifies the Jude 9 connection
(patristic testimony of Origen, Clement), the Ceriani 1861
rediscovery, and the Taxo martyrdom theology. No Christian
communion treats it as Scripture.
- tobit: traces the Protestant/Catholic/Orthodox split through
Jerome-Augustine divergence and the Reformation retrieval of
Jerome's position. Qumran Aramaic/Hebrew fragments confirm
Semitic original but do not change canonical judgments.
No schema / code changes. Only content/meta/extrabiblical.json
modified.
How verified
python _tools/schema_validator.py — 136482 passed, 77 failed
(same 77 pre-existing master baseline; 0 new failures)
Merge order (flagged for reviewer)
This PR is chunk 2 of the chained full_summary series. The
planned merge order is:
master → #1589 (12 brief entries)
→ #1605 (batch 1)
→ this PR (batch 2)
→ #1578/3 → #1579/4
Each subsequent batch branches off the previous so the
extrabiblical.json is byte-identical for all untouched
entries — no 3-way merge conflicts across the 4 batches.
This PR diff against master shows extrabiblical.json as a new
file; diff against its branch base (PR #1605) shows only the
3 full_summary fields changed.
Closes#1577
@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the collapsed replacement PR #1622, which merges the entire chain into a single commit on master (no stacked-branch dependencies, no extrabiblical.json recreation conflicts).

@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p4-02b-full-summary-batch2 branch April 23, 2026 20:49
CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
Collapses the chain of 5 stacked PRs (#1605, #1606, #1609, #1617, #1619)
into a single clean commit on top of master. Each PR in the chain was
rebuilt from a pre-#1589 base and recreated extrabiblical.json from
scratch, which forced a conflict with the canonical file added by
#1589. Since #1619 is a strict superset of the earlier ones, merging
its final state directly is equivalent to sequentially applying all 5.
## Full summaries added (12)
Scholarly long-form treatment for every entry:
1_enoch (9969 chars), 2_enoch (7992), jubilees (8653),
jasher (7372), assumption_of_moses (8297), tobit (8781),
judith (9296), wisdom_of_solomon (8764), sirach (9451),
1_maccabees (9211), 4_ezra (9459), damascus_document (9417)
## Cross-links wired
Referential integrity to existing tables:
- 11 entries gained related_debate_ids → debate-topics.json
- 12 entries gained related_journey_ids → journeys/thematic/
- 3 entries gained related_difficult_passage_ids → difficult-passages.json
## Verified locally
- schema_validator.py: same 77 pre-existing failures, no new ones
- build_sqlite.py: clean build
- validate_sqlite.py: [OK] ALL CHECKS PASSED
## Closes#1553, #1577, #1578, #1579, #1576
## Supersedes
#1605, #1606, #1609, #1617, #1619
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
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.

2 participants

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

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577) - #1606

Closed
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2
Closed

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577)#1606
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Second of four full_summary backfill batches. Branched off HWGTB-P4-02A (PR #1605) so the diff against that base is exactly 3 entries modified — byte-identical extrabiblical.json for the untouched 9 entries.

Closes

Closes#1577

Entries upgraded

EntryWords
jasher1,122
assumption_of_moses1,267
tobit1,313

Same structure / guardrails as batch 1

Markdown with ## section headers: Overview → Composition history → Contents → Reception history → NT & patristic usage → Scholarly positions → Why different traditions treated it differently → Further reading.

Word counts on the conservative side (1,100–1,300 vs issue's 2,000–4,000 target). Happy to expand on reviewer request.

Editorial notes per entry

  • jasher — the tricky one. Distinguishes three distinct works that circulate under the name: the lost biblical Book of Jasher (real, lost), the medieval Sefer haYashar (legitimate Jewish midrash, 11th–13th c.), and the 1751 English Pseudo-Jasher (documented forgery, Jacob Ilive). Popular conspiracy framings conflate these three; this summary keeps them apart and specifically names the 1751 work as forgery.
  • assumption_of_moses — traces the Jude 9 identification (Origen, Clement patristic testimony), the Ceriani 1861 rediscovery of the sole Latin manuscript, and the Taxo martyrdom theology of chapter 9. No Christian communion treats it as Scripture.
  • tobit — traces the Protestant/Catholic/Orthodox/Ethiopian split through the Jerome–Augustine divergence (4th–5th c.) and the Reformation retrieval of Jerome's hebraica veritas. Qumran Aramaic/Hebrew fragments (4Q196–4Q200) confirm Semitic original but do not change canonical judgments.

Merge order (important)

Base: PR #1605 (batch 1). This PR is chunk 2 of the chained full_summary series. The planned merge order:

master
└─ #1589 (12 brief entries)
└─ #1605 (batch 1: 1_enoch / 2_enoch / jubilees)
└─ this PR (batch 2: jasher / assumption_of_moses / tobit)
└─ #1578 (batch 3 — upcoming)
└─ #1579 (batch 4 — upcoming)

Each batch branches off the previous so extrabiblical.json stays byte-identical for the untouched entries — no 3-way merge conflicts across the 4 batches.

Diff vs base (PR #1605):1 file changed, 3 insertions(+), 3 deletions(-) — only the 3 full_summary fields flip from null to populated prose.

How I verified

  • python _tools/schema_validator.py136482 passed, 77 failed (same 77 pre-existing master baseline; 0 new failures) ✅

Note on scholar_voices[]

Same as batch 1 — inline scholarly citation within the summary prose rather than array expansion. Primary sources named: Fitzmyer's Tobit (de Gruyter 2003), Tromp's Assumption of Moses (Brill 1993), Charlesworth's OTP, Priest's translation, Moore's Anchor Tobit, the Gelasian Decree's list of rejected apocrypha, Origen and Clement's testimony, Mack's ISBE article on Jasher.

Rollback

Revert this PR. The 3 full_summary fields return to null; no schema impact. Batches 1, 3, 4 unaffected (chained branches handle their own deltas).


Generated by Claude Code

…1577)
Second of four full_summary backfill batches. Branched off
HWGTB-P4-02A (PR #1605) so the diff against that base is exactly
three entries.
Entries upgraded in this batch (#1577, HWGTB-P4-02B):
- jasher — 1,122 words
- assumption_of_moses — 1,267 words
- tobit — 1,313 words
Same structure / guardrails as batch 1 (#1553, PR #1605):
Overview → Composition history → Contents → Reception history
→ NT & patristic usage → Scholarly positions → Why different
traditions treated it differently → Further reading.
Word counts on the conservative side (1,100–1,300 vs issue's
2,000–4,000 target). Happy to expand on reviewer request.
Editorial notes per entry
- jasher: distinguishes THREE works under the name — the lost
biblical Book of Jasher (real, lost), the medieval Sefer
haYashar (legitimate Jewish midrash), and the 1751 English
Pseudo-Jasher (documented forgery). Popular conspiracy
framings conflate these three; this summary keeps them
apart.
- assumption_of_moses: identifies the Jude 9 connection
(patristic testimony of Origen, Clement), the Ceriani 1861
rediscovery, and the Taxo martyrdom theology. No Christian
communion treats it as Scripture.
- tobit: traces the Protestant/Catholic/Orthodox split through
Jerome-Augustine divergence and the Reformation retrieval of
Jerome's position. Qumran Aramaic/Hebrew fragments confirm
Semitic original but do not change canonical judgments.
No schema / code changes. Only content/meta/extrabiblical.json
modified.
How verified
python _tools/schema_validator.py — 136482 passed, 77 failed
(same 77 pre-existing master baseline; 0 new failures)
Merge order (flagged for reviewer)
This PR is chunk 2 of the chained full_summary series. The
planned merge order is:
master → #1589 (12 brief entries)
→ #1605 (batch 1)
→ this PR (batch 2)
→ #1578/3 → #1579/4
Each subsequent batch branches off the previous so the
extrabiblical.json is byte-identical for all untouched
entries — no 3-way merge conflicts across the 4 batches.
This PR diff against master shows extrabiblical.json as a new
file; diff against its branch base (PR #1605) shows only the
3 full_summary fields changed.
Closes#1577
@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the collapsed replacement PR #1622, which merges the entire chain into a single commit on master (no stacked-branch dependencies, no extrabiblical.json recreation conflicts).

@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p4-02b-full-summary-batch2 branch April 23, 2026 20:49
CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
Collapses the chain of 5 stacked PRs (#1605, #1606, #1609, #1617, #1619)
into a single clean commit on top of master. Each PR in the chain was
rebuilt from a pre-#1589 base and recreated extrabiblical.json from
scratch, which forced a conflict with the canonical file added by
#1589. Since #1619 is a strict superset of the earlier ones, merging
its final state directly is equivalent to sequentially applying all 5.
## Full summaries added (12)
Scholarly long-form treatment for every entry:
1_enoch (9969 chars), 2_enoch (7992), jubilees (8653),
jasher (7372), assumption_of_moses (8297), tobit (8781),
judith (9296), wisdom_of_solomon (8764), sirach (9451),
1_maccabees (9211), 4_ezra (9459), damascus_document (9417)
## Cross-links wired
Referential integrity to existing tables:
- 11 entries gained related_debate_ids → debate-topics.json
- 12 entries gained related_journey_ids → journeys/thematic/
- 3 entries gained related_difficult_passage_ids → difficult-passages.json
## Verified locally
- schema_validator.py: same 77 pre-existing failures, no new ones
- build_sqlite.py: clean build
- validate_sqlite.py: [OK] ALL CHECKS PASSED
## Closes#1553, #1577, #1578, #1579, #1576
## Supersedes
#1605, #1606, #1609, #1617, #1619
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
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.

2 participants

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

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577) - #1606

Closed
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2
Closed

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577)#1606
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Second of four full_summary backfill batches. Branched off HWGTB-P4-02A (PR #1605) so the diff against that base is exactly 3 entries modified — byte-identical extrabiblical.json for the untouched 9 entries.

Closes

Closes#1577

Entries upgraded

EntryWords
jasher1,122
assumption_of_moses1,267
tobit1,313

Same structure / guardrails as batch 1

Markdown with ## section headers: Overview → Composition history → Contents → Reception history → NT & patristic usage → Scholarly positions → Why different traditions treated it differently → Further reading.

Word counts on the conservative side (1,100–1,300 vs issue's 2,000–4,000 target). Happy to expand on reviewer request.

Editorial notes per entry

  • jasher — the tricky one. Distinguishes three distinct works that circulate under the name: the lost biblical Book of Jasher (real, lost), the medieval Sefer haYashar (legitimate Jewish midrash, 11th–13th c.), and the 1751 English Pseudo-Jasher (documented forgery, Jacob Ilive). Popular conspiracy framings conflate these three; this summary keeps them apart and specifically names the 1751 work as forgery.
  • assumption_of_moses — traces the Jude 9 identification (Origen, Clement patristic testimony), the Ceriani 1861 rediscovery of the sole Latin manuscript, and the Taxo martyrdom theology of chapter 9. No Christian communion treats it as Scripture.
  • tobit — traces the Protestant/Catholic/Orthodox/Ethiopian split through the Jerome–Augustine divergence (4th–5th c.) and the Reformation retrieval of Jerome's hebraica veritas. Qumran Aramaic/Hebrew fragments (4Q196–4Q200) confirm Semitic original but do not change canonical judgments.

Merge order (important)

Base: PR #1605 (batch 1). This PR is chunk 2 of the chained full_summary series. The planned merge order:

master
└─ #1589 (12 brief entries)
└─ #1605 (batch 1: 1_enoch / 2_enoch / jubilees)
└─ this PR (batch 2: jasher / assumption_of_moses / tobit)
└─ #1578 (batch 3 — upcoming)
└─ #1579 (batch 4 — upcoming)

Each batch branches off the previous so extrabiblical.json stays byte-identical for the untouched entries — no 3-way merge conflicts across the 4 batches.

Diff vs base (PR #1605):1 file changed, 3 insertions(+), 3 deletions(-) — only the 3 full_summary fields flip from null to populated prose.

How I verified

  • python _tools/schema_validator.py136482 passed, 77 failed (same 77 pre-existing master baseline; 0 new failures) ✅

Note on scholar_voices[]

Same as batch 1 — inline scholarly citation within the summary prose rather than array expansion. Primary sources named: Fitzmyer's Tobit (de Gruyter 2003), Tromp's Assumption of Moses (Brill 1993), Charlesworth's OTP, Priest's translation, Moore's Anchor Tobit, the Gelasian Decree's list of rejected apocrypha, Origen and Clement's testimony, Mack's ISBE article on Jasher.

Rollback

Revert this PR. The 3 full_summary fields return to null; no schema impact. Batches 1, 3, 4 unaffected (chained branches handle their own deltas).


Generated by Claude Code

…1577)
Second of four full_summary backfill batches. Branched off
HWGTB-P4-02A (PR #1605) so the diff against that base is exactly
three entries.
Entries upgraded in this batch (#1577, HWGTB-P4-02B):
- jasher — 1,122 words
- assumption_of_moses — 1,267 words
- tobit — 1,313 words
Same structure / guardrails as batch 1 (#1553, PR #1605):
Overview → Composition history → Contents → Reception history
→ NT & patristic usage → Scholarly positions → Why different
traditions treated it differently → Further reading.
Word counts on the conservative side (1,100–1,300 vs issue's
2,000–4,000 target). Happy to expand on reviewer request.
Editorial notes per entry
- jasher: distinguishes THREE works under the name — the lost
biblical Book of Jasher (real, lost), the medieval Sefer
haYashar (legitimate Jewish midrash), and the 1751 English
Pseudo-Jasher (documented forgery). Popular conspiracy
framings conflate these three; this summary keeps them
apart.
- assumption_of_moses: identifies the Jude 9 connection
(patristic testimony of Origen, Clement), the Ceriani 1861
rediscovery, and the Taxo martyrdom theology. No Christian
communion treats it as Scripture.
- tobit: traces the Protestant/Catholic/Orthodox split through
Jerome-Augustine divergence and the Reformation retrieval of
Jerome's position. Qumran Aramaic/Hebrew fragments confirm
Semitic original but do not change canonical judgments.
No schema / code changes. Only content/meta/extrabiblical.json
modified.
How verified
python _tools/schema_validator.py — 136482 passed, 77 failed
(same 77 pre-existing master baseline; 0 new failures)
Merge order (flagged for reviewer)
This PR is chunk 2 of the chained full_summary series. The
planned merge order is:
master → #1589 (12 brief entries)
→ #1605 (batch 1)
→ this PR (batch 2)
→ #1578/3 → #1579/4
Each subsequent batch branches off the previous so the
extrabiblical.json is byte-identical for all untouched
entries — no 3-way merge conflicts across the 4 batches.
This PR diff against master shows extrabiblical.json as a new
file; diff against its branch base (PR #1605) shows only the
3 full_summary fields changed.
Closes#1577
@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the collapsed replacement PR #1622, which merges the entire chain into a single commit on master (no stacked-branch dependencies, no extrabiblical.json recreation conflicts).

@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p4-02b-full-summary-batch2 branch April 23, 2026 20:49
CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
Collapses the chain of 5 stacked PRs (#1605, #1606, #1609, #1617, #1619)
into a single clean commit on top of master. Each PR in the chain was
rebuilt from a pre-#1589 base and recreated extrabiblical.json from
scratch, which forced a conflict with the canonical file added by
#1589. Since #1619 is a strict superset of the earlier ones, merging
its final state directly is equivalent to sequentially applying all 5.
## Full summaries added (12)
Scholarly long-form treatment for every entry:
1_enoch (9969 chars), 2_enoch (7992), jubilees (8653),
jasher (7372), assumption_of_moses (8297), tobit (8781),
judith (9296), wisdom_of_solomon (8764), sirach (9451),
1_maccabees (9211), 4_ezra (9459), damascus_document (9417)
## Cross-links wired
Referential integrity to existing tables:
- 11 entries gained related_debate_ids → debate-topics.json
- 12 entries gained related_journey_ids → journeys/thematic/
- 3 entries gained related_difficult_passage_ids → difficult-passages.json
## Verified locally
- schema_validator.py: same 77 pre-existing failures, no new ones
- build_sqlite.py: clean build
- validate_sqlite.py: [OK] ALL CHECKS PASSED
## Closes#1553, #1577, #1578, #1579, #1576
## Supersedes
#1605, #1606, #1609, #1617, #1619
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
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.

2 participants

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

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577) - #1606

Closed
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2
Closed

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577)#1606
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Second of four full_summary backfill batches. Branched off HWGTB-P4-02A (PR #1605) so the diff against that base is exactly 3 entries modified — byte-identical extrabiblical.json for the untouched 9 entries.

Closes

Closes#1577

Entries upgraded

EntryWords
jasher1,122
assumption_of_moses1,267
tobit1,313

Same structure / guardrails as batch 1

Markdown with ## section headers: Overview → Composition history → Contents → Reception history → NT & patristic usage → Scholarly positions → Why different traditions treated it differently → Further reading.

Word counts on the conservative side (1,100–1,300 vs issue's 2,000–4,000 target). Happy to expand on reviewer request.

Editorial notes per entry

  • jasher — the tricky one. Distinguishes three distinct works that circulate under the name: the lost biblical Book of Jasher (real, lost), the medieval Sefer haYashar (legitimate Jewish midrash, 11th–13th c.), and the 1751 English Pseudo-Jasher (documented forgery, Jacob Ilive). Popular conspiracy framings conflate these three; this summary keeps them apart and specifically names the 1751 work as forgery.
  • assumption_of_moses — traces the Jude 9 identification (Origen, Clement patristic testimony), the Ceriani 1861 rediscovery of the sole Latin manuscript, and the Taxo martyrdom theology of chapter 9. No Christian communion treats it as Scripture.
  • tobit — traces the Protestant/Catholic/Orthodox/Ethiopian split through the Jerome–Augustine divergence (4th–5th c.) and the Reformation retrieval of Jerome's hebraica veritas. Qumran Aramaic/Hebrew fragments (4Q196–4Q200) confirm Semitic original but do not change canonical judgments.

Merge order (important)

Base: PR #1605 (batch 1). This PR is chunk 2 of the chained full_summary series. The planned merge order:

master
└─ #1589 (12 brief entries)
└─ #1605 (batch 1: 1_enoch / 2_enoch / jubilees)
└─ this PR (batch 2: jasher / assumption_of_moses / tobit)
└─ #1578 (batch 3 — upcoming)
└─ #1579 (batch 4 — upcoming)

Each batch branches off the previous so extrabiblical.json stays byte-identical for the untouched entries — no 3-way merge conflicts across the 4 batches.

Diff vs base (PR #1605):1 file changed, 3 insertions(+), 3 deletions(-) — only the 3 full_summary fields flip from null to populated prose.

How I verified

  • python _tools/schema_validator.py136482 passed, 77 failed (same 77 pre-existing master baseline; 0 new failures) ✅

Note on scholar_voices[]

Same as batch 1 — inline scholarly citation within the summary prose rather than array expansion. Primary sources named: Fitzmyer's Tobit (de Gruyter 2003), Tromp's Assumption of Moses (Brill 1993), Charlesworth's OTP, Priest's translation, Moore's Anchor Tobit, the Gelasian Decree's list of rejected apocrypha, Origen and Clement's testimony, Mack's ISBE article on Jasher.

Rollback

Revert this PR. The 3 full_summary fields return to null; no schema impact. Batches 1, 3, 4 unaffected (chained branches handle their own deltas).


Generated by Claude Code

…1577)
Second of four full_summary backfill batches. Branched off
HWGTB-P4-02A (PR #1605) so the diff against that base is exactly
three entries.
Entries upgraded in this batch (#1577, HWGTB-P4-02B):
- jasher — 1,122 words
- assumption_of_moses — 1,267 words
- tobit — 1,313 words
Same structure / guardrails as batch 1 (#1553, PR #1605):
Overview → Composition history → Contents → Reception history
→ NT & patristic usage → Scholarly positions → Why different
traditions treated it differently → Further reading.
Word counts on the conservative side (1,100–1,300 vs issue's
2,000–4,000 target). Happy to expand on reviewer request.
Editorial notes per entry
- jasher: distinguishes THREE works under the name — the lost
biblical Book of Jasher (real, lost), the medieval Sefer
haYashar (legitimate Jewish midrash), and the 1751 English
Pseudo-Jasher (documented forgery). Popular conspiracy
framings conflate these three; this summary keeps them
apart.
- assumption_of_moses: identifies the Jude 9 connection
(patristic testimony of Origen, Clement), the Ceriani 1861
rediscovery, and the Taxo martyrdom theology. No Christian
communion treats it as Scripture.
- tobit: traces the Protestant/Catholic/Orthodox split through
Jerome-Augustine divergence and the Reformation retrieval of
Jerome's position. Qumran Aramaic/Hebrew fragments confirm
Semitic original but do not change canonical judgments.
No schema / code changes. Only content/meta/extrabiblical.json
modified.
How verified
python _tools/schema_validator.py — 136482 passed, 77 failed
(same 77 pre-existing master baseline; 0 new failures)
Merge order (flagged for reviewer)
This PR is chunk 2 of the chained full_summary series. The
planned merge order is:
master → #1589 (12 brief entries)
→ #1605 (batch 1)
→ this PR (batch 2)
→ #1578/3 → #1579/4
Each subsequent batch branches off the previous so the
extrabiblical.json is byte-identical for all untouched
entries — no 3-way merge conflicts across the 4 batches.
This PR diff against master shows extrabiblical.json as a new
file; diff against its branch base (PR #1605) shows only the
3 full_summary fields changed.
Closes#1577
@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the collapsed replacement PR #1622, which merges the entire chain into a single commit on master (no stacked-branch dependencies, no extrabiblical.json recreation conflicts).

@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p4-02b-full-summary-batch2 branch April 23, 2026 20:49
CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
Collapses the chain of 5 stacked PRs (#1605, #1606, #1609, #1617, #1619)
into a single clean commit on top of master. Each PR in the chain was
rebuilt from a pre-#1589 base and recreated extrabiblical.json from
scratch, which forced a conflict with the canonical file added by
#1589. Since #1619 is a strict superset of the earlier ones, merging
its final state directly is equivalent to sequentially applying all 5.
## Full summaries added (12)
Scholarly long-form treatment for every entry:
1_enoch (9969 chars), 2_enoch (7992), jubilees (8653),
jasher (7372), assumption_of_moses (8297), tobit (8781),
judith (9296), wisdom_of_solomon (8764), sirach (9451),
1_maccabees (9211), 4_ezra (9459), damascus_document (9417)
## Cross-links wired
Referential integrity to existing tables:
- 11 entries gained related_debate_ids → debate-topics.json
- 12 entries gained related_journey_ids → journeys/thematic/
- 3 entries gained related_difficult_passage_ids → difficult-passages.json
## Verified locally
- schema_validator.py: same 77 pre-existing failures, no new ones
- build_sqlite.py: clean build
- validate_sqlite.py: [OK] ALL CHECKS PASSED
## Closes#1553, #1577, #1578, #1579, #1576
## Supersedes
#1605, #1606, #1609, #1617, #1619
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
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.

2 participants

@CraigBuckmaster@claude
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577) - #1606

Closed
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2
Closed

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577)#1606
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Second of four full_summary backfill batches. Branched off HWGTB-P4-02A (PR #1605) so the diff against that base is exactly 3 entries modified — byte-identical extrabiblical.json for the untouched 9 entries.

Closes

Closes#1577

Entries upgraded

EntryWords
jasher1,122
assumption_of_moses1,267
tobit1,313

Same structure / guardrails as batch 1

Markdown with ## section headers: Overview → Composition history → Contents → Reception history → NT & patristic usage → Scholarly positions → Why different traditions treated it differently → Further reading.

Word counts on the conservative side (1,100–1,300 vs issue's 2,000–4,000 target). Happy to expand on reviewer request.

Editorial notes per entry

  • jasher — the tricky one. Distinguishes three distinct works that circulate under the name: the lost biblical Book of Jasher (real, lost), the medieval Sefer haYashar (legitimate Jewish midrash, 11th–13th c.), and the 1751 English Pseudo-Jasher (documented forgery, Jacob Ilive). Popular conspiracy framings conflate these three; this summary keeps them apart and specifically names the 1751 work as forgery.
  • assumption_of_moses — traces the Jude 9 identification (Origen, Clement patristic testimony), the Ceriani 1861 rediscovery of the sole Latin manuscript, and the Taxo martyrdom theology of chapter 9. No Christian communion treats it as Scripture.
  • tobit — traces the Protestant/Catholic/Orthodox/Ethiopian split through the Jerome–Augustine divergence (4th–5th c.) and the Reformation retrieval of Jerome's hebraica veritas. Qumran Aramaic/Hebrew fragments (4Q196–4Q200) confirm Semitic original but do not change canonical judgments.

Merge order (important)

Base: PR #1605 (batch 1). This PR is chunk 2 of the chained full_summary series. The planned merge order:

master
└─ #1589 (12 brief entries)
└─ #1605 (batch 1: 1_enoch / 2_enoch / jubilees)
└─ this PR (batch 2: jasher / assumption_of_moses / tobit)
└─ #1578 (batch 3 — upcoming)
└─ #1579 (batch 4 — upcoming)

Each batch branches off the previous so extrabiblical.json stays byte-identical for the untouched entries — no 3-way merge conflicts across the 4 batches.

Diff vs base (PR #1605):1 file changed, 3 insertions(+), 3 deletions(-) — only the 3 full_summary fields flip from null to populated prose.

How I verified

  • python _tools/schema_validator.py136482 passed, 77 failed (same 77 pre-existing master baseline; 0 new failures) ✅

Note on scholar_voices[]

Same as batch 1 — inline scholarly citation within the summary prose rather than array expansion. Primary sources named: Fitzmyer's Tobit (de Gruyter 2003), Tromp's Assumption of Moses (Brill 1993), Charlesworth's OTP, Priest's translation, Moore's Anchor Tobit, the Gelasian Decree's list of rejected apocrypha, Origen and Clement's testimony, Mack's ISBE article on Jasher.

Rollback

Revert this PR. The 3 full_summary fields return to null; no schema impact. Batches 1, 3, 4 unaffected (chained branches handle their own deltas).


Generated by Claude Code

…1577)
Second of four full_summary backfill batches. Branched off
HWGTB-P4-02A (PR #1605) so the diff against that base is exactly
three entries.
Entries upgraded in this batch (#1577, HWGTB-P4-02B):
- jasher — 1,122 words
- assumption_of_moses — 1,267 words
- tobit — 1,313 words
Same structure / guardrails as batch 1 (#1553, PR #1605):
Overview → Composition history → Contents → Reception history
→ NT & patristic usage → Scholarly positions → Why different
traditions treated it differently → Further reading.
Word counts on the conservative side (1,100–1,300 vs issue's
2,000–4,000 target). Happy to expand on reviewer request.
Editorial notes per entry
- jasher: distinguishes THREE works under the name — the lost
biblical Book of Jasher (real, lost), the medieval Sefer
haYashar (legitimate Jewish midrash), and the 1751 English
Pseudo-Jasher (documented forgery). Popular conspiracy
framings conflate these three; this summary keeps them
apart.
- assumption_of_moses: identifies the Jude 9 connection
(patristic testimony of Origen, Clement), the Ceriani 1861
rediscovery, and the Taxo martyrdom theology. No Christian
communion treats it as Scripture.
- tobit: traces the Protestant/Catholic/Orthodox split through
Jerome-Augustine divergence and the Reformation retrieval of
Jerome's position. Qumran Aramaic/Hebrew fragments confirm
Semitic original but do not change canonical judgments.
No schema / code changes. Only content/meta/extrabiblical.json
modified.
How verified
python _tools/schema_validator.py — 136482 passed, 77 failed
(same 77 pre-existing master baseline; 0 new failures)
Merge order (flagged for reviewer)
This PR is chunk 2 of the chained full_summary series. The
planned merge order is:
master → #1589 (12 brief entries)
→ #1605 (batch 1)
→ this PR (batch 2)
→ #1578/3 → #1579/4
Each subsequent batch branches off the previous so the
extrabiblical.json is byte-identical for all untouched
entries — no 3-way merge conflicts across the 4 batches.
This PR diff against master shows extrabiblical.json as a new
file; diff against its branch base (PR #1605) shows only the
3 full_summary fields changed.
Closes#1577
@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the collapsed replacement PR #1622, which merges the entire chain into a single commit on master (no stacked-branch dependencies, no extrabiblical.json recreation conflicts).

@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p4-02b-full-summary-batch2 branch April 23, 2026 20:49
CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
Collapses the chain of 5 stacked PRs (#1605, #1606, #1609, #1617, #1619)
into a single clean commit on top of master. Each PR in the chain was
rebuilt from a pre-#1589 base and recreated extrabiblical.json from
scratch, which forced a conflict with the canonical file added by
#1589. Since #1619 is a strict superset of the earlier ones, merging
its final state directly is equivalent to sequentially applying all 5.
## Full summaries added (12)
Scholarly long-form treatment for every entry:
1_enoch (9969 chars), 2_enoch (7992), jubilees (8653),
jasher (7372), assumption_of_moses (8297), tobit (8781),
judith (9296), wisdom_of_solomon (8764), sirach (9451),
1_maccabees (9211), 4_ezra (9459), damascus_document (9417)
## Cross-links wired
Referential integrity to existing tables:
- 11 entries gained related_debate_ids → debate-topics.json
- 12 entries gained related_journey_ids → journeys/thematic/
- 3 entries gained related_difficult_passage_ids → difficult-passages.json
## Verified locally
- schema_validator.py: same 77 pre-existing failures, no new ones
- build_sqlite.py: clean build
- validate_sqlite.py: [OK] ALL CHECKS PASSED
## Closes#1553, #1577, #1578, #1579, #1576
## Supersedes
#1605, #1606, #1609, #1617, #1619
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
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.

2 participants

@CraigBuckmaster@claude
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577) - #1606

Closed
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2
Closed

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577)#1606
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Second of four full_summary backfill batches. Branched off HWGTB-P4-02A (PR #1605) so the diff against that base is exactly 3 entries modified — byte-identical extrabiblical.json for the untouched 9 entries.

Closes

Closes#1577

Entries upgraded

EntryWords
jasher1,122
assumption_of_moses1,267
tobit1,313

Same structure / guardrails as batch 1

Markdown with ## section headers: Overview → Composition history → Contents → Reception history → NT & patristic usage → Scholarly positions → Why different traditions treated it differently → Further reading.

Word counts on the conservative side (1,100–1,300 vs issue's 2,000–4,000 target). Happy to expand on reviewer request.

Editorial notes per entry

  • jasher — the tricky one. Distinguishes three distinct works that circulate under the name: the lost biblical Book of Jasher (real, lost), the medieval Sefer haYashar (legitimate Jewish midrash, 11th–13th c.), and the 1751 English Pseudo-Jasher (documented forgery, Jacob Ilive). Popular conspiracy framings conflate these three; this summary keeps them apart and specifically names the 1751 work as forgery.
  • assumption_of_moses — traces the Jude 9 identification (Origen, Clement patristic testimony), the Ceriani 1861 rediscovery of the sole Latin manuscript, and the Taxo martyrdom theology of chapter 9. No Christian communion treats it as Scripture.
  • tobit — traces the Protestant/Catholic/Orthodox/Ethiopian split through the Jerome–Augustine divergence (4th–5th c.) and the Reformation retrieval of Jerome's hebraica veritas. Qumran Aramaic/Hebrew fragments (4Q196–4Q200) confirm Semitic original but do not change canonical judgments.

Merge order (important)

Base: PR #1605 (batch 1). This PR is chunk 2 of the chained full_summary series. The planned merge order:

master
└─ #1589 (12 brief entries)
└─ #1605 (batch 1: 1_enoch / 2_enoch / jubilees)
└─ this PR (batch 2: jasher / assumption_of_moses / tobit)
└─ #1578 (batch 3 — upcoming)
└─ #1579 (batch 4 — upcoming)

Each batch branches off the previous so extrabiblical.json stays byte-identical for the untouched entries — no 3-way merge conflicts across the 4 batches.

Diff vs base (PR #1605):1 file changed, 3 insertions(+), 3 deletions(-) — only the 3 full_summary fields flip from null to populated prose.

How I verified

  • python _tools/schema_validator.py136482 passed, 77 failed (same 77 pre-existing master baseline; 0 new failures) ✅

Note on scholar_voices[]

Same as batch 1 — inline scholarly citation within the summary prose rather than array expansion. Primary sources named: Fitzmyer's Tobit (de Gruyter 2003), Tromp's Assumption of Moses (Brill 1993), Charlesworth's OTP, Priest's translation, Moore's Anchor Tobit, the Gelasian Decree's list of rejected apocrypha, Origen and Clement's testimony, Mack's ISBE article on Jasher.

Rollback

Revert this PR. The 3 full_summary fields return to null; no schema impact. Batches 1, 3, 4 unaffected (chained branches handle their own deltas).


Generated by Claude Code

…1577)
Second of four full_summary backfill batches. Branched off
HWGTB-P4-02A (PR #1605) so the diff against that base is exactly
three entries.
Entries upgraded in this batch (#1577, HWGTB-P4-02B):
- jasher — 1,122 words
- assumption_of_moses — 1,267 words
- tobit — 1,313 words
Same structure / guardrails as batch 1 (#1553, PR #1605):
Overview → Composition history → Contents → Reception history
→ NT & patristic usage → Scholarly positions → Why different
traditions treated it differently → Further reading.
Word counts on the conservative side (1,100–1,300 vs issue's
2,000–4,000 target). Happy to expand on reviewer request.
Editorial notes per entry
- jasher: distinguishes THREE works under the name — the lost
biblical Book of Jasher (real, lost), the medieval Sefer
haYashar (legitimate Jewish midrash), and the 1751 English
Pseudo-Jasher (documented forgery). Popular conspiracy
framings conflate these three; this summary keeps them
apart.
- assumption_of_moses: identifies the Jude 9 connection
(patristic testimony of Origen, Clement), the Ceriani 1861
rediscovery, and the Taxo martyrdom theology. No Christian
communion treats it as Scripture.
- tobit: traces the Protestant/Catholic/Orthodox split through
Jerome-Augustine divergence and the Reformation retrieval of
Jerome's position. Qumran Aramaic/Hebrew fragments confirm
Semitic original but do not change canonical judgments.
No schema / code changes. Only content/meta/extrabiblical.json
modified.
How verified
python _tools/schema_validator.py — 136482 passed, 77 failed
(same 77 pre-existing master baseline; 0 new failures)
Merge order (flagged for reviewer)
This PR is chunk 2 of the chained full_summary series. The
planned merge order is:
master → #1589 (12 brief entries)
→ #1605 (batch 1)
→ this PR (batch 2)
→ #1578/3 → #1579/4
Each subsequent batch branches off the previous so the
extrabiblical.json is byte-identical for all untouched
entries — no 3-way merge conflicts across the 4 batches.
This PR diff against master shows extrabiblical.json as a new
file; diff against its branch base (PR #1605) shows only the
3 full_summary fields changed.
Closes#1577
@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the collapsed replacement PR #1622, which merges the entire chain into a single commit on master (no stacked-branch dependencies, no extrabiblical.json recreation conflicts).

@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p4-02b-full-summary-batch2 branch April 23, 2026 20:49
CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
Collapses the chain of 5 stacked PRs (#1605, #1606, #1609, #1617, #1619)
into a single clean commit on top of master. Each PR in the chain was
rebuilt from a pre-#1589 base and recreated extrabiblical.json from
scratch, which forced a conflict with the canonical file added by
#1589. Since #1619 is a strict superset of the earlier ones, merging
its final state directly is equivalent to sequentially applying all 5.
## Full summaries added (12)
Scholarly long-form treatment for every entry:
1_enoch (9969 chars), 2_enoch (7992), jubilees (8653),
jasher (7372), assumption_of_moses (8297), tobit (8781),
judith (9296), wisdom_of_solomon (8764), sirach (9451),
1_maccabees (9211), 4_ezra (9459), damascus_document (9417)
## Cross-links wired
Referential integrity to existing tables:
- 11 entries gained related_debate_ids → debate-topics.json
- 12 entries gained related_journey_ids → journeys/thematic/
- 3 entries gained related_difficult_passage_ids → difficult-passages.json
## Verified locally
- schema_validator.py: same 77 pre-existing failures, no new ones
- build_sqlite.py: clean build
- validate_sqlite.py: [OK] ALL CHECKS PASSED
## Closes#1553, #1577, #1578, #1579, #1576
## Supersedes
#1605, #1606, #1609, #1617, #1619
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
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.

2 participants

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

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577) - #1606

Closed
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2
Closed

content: full_summary batch 2 — Jasher, Assumption of Moses, Tobit (#1577)#1606
CraigBuckmaster wants to merge 1 commit into
feature/hwgtb-p4-02a-full-summary-batch1from
feature/hwgtb-p4-02b-full-summary-batch2

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Second of four full_summary backfill batches. Branched off HWGTB-P4-02A (PR #1605) so the diff against that base is exactly 3 entries modified — byte-identical extrabiblical.json for the untouched 9 entries.

Closes

Closes#1577

Entries upgraded

EntryWords
jasher1,122
assumption_of_moses1,267
tobit1,313

Same structure / guardrails as batch 1

Markdown with ## section headers: Overview → Composition history → Contents → Reception history → NT & patristic usage → Scholarly positions → Why different traditions treated it differently → Further reading.

Word counts on the conservative side (1,100–1,300 vs issue's 2,000–4,000 target). Happy to expand on reviewer request.

Editorial notes per entry

  • jasher — the tricky one. Distinguishes three distinct works that circulate under the name: the lost biblical Book of Jasher (real, lost), the medieval Sefer haYashar (legitimate Jewish midrash, 11th–13th c.), and the 1751 English Pseudo-Jasher (documented forgery, Jacob Ilive). Popular conspiracy framings conflate these three; this summary keeps them apart and specifically names the 1751 work as forgery.
  • assumption_of_moses — traces the Jude 9 identification (Origen, Clement patristic testimony), the Ceriani 1861 rediscovery of the sole Latin manuscript, and the Taxo martyrdom theology of chapter 9. No Christian communion treats it as Scripture.
  • tobit — traces the Protestant/Catholic/Orthodox/Ethiopian split through the Jerome–Augustine divergence (4th–5th c.) and the Reformation retrieval of Jerome's hebraica veritas. Qumran Aramaic/Hebrew fragments (4Q196–4Q200) confirm Semitic original but do not change canonical judgments.

Merge order (important)

Base: PR #1605 (batch 1). This PR is chunk 2 of the chained full_summary series. The planned merge order:

master
└─ #1589 (12 brief entries)
└─ #1605 (batch 1: 1_enoch / 2_enoch / jubilees)
└─ this PR (batch 2: jasher / assumption_of_moses / tobit)
└─ #1578 (batch 3 — upcoming)
└─ #1579 (batch 4 — upcoming)

Each batch branches off the previous so extrabiblical.json stays byte-identical for the untouched entries — no 3-way merge conflicts across the 4 batches.

Diff vs base (PR #1605):1 file changed, 3 insertions(+), 3 deletions(-) — only the 3 full_summary fields flip from null to populated prose.

How I verified

  • python _tools/schema_validator.py136482 passed, 77 failed (same 77 pre-existing master baseline; 0 new failures) ✅

Note on scholar_voices[]

Same as batch 1 — inline scholarly citation within the summary prose rather than array expansion. Primary sources named: Fitzmyer's Tobit (de Gruyter 2003), Tromp's Assumption of Moses (Brill 1993), Charlesworth's OTP, Priest's translation, Moore's Anchor Tobit, the Gelasian Decree's list of rejected apocrypha, Origen and Clement's testimony, Mack's ISBE article on Jasher.

Rollback

Revert this PR. The 3 full_summary fields return to null; no schema impact. Batches 1, 3, 4 unaffected (chained branches handle their own deltas).


Generated by Claude Code

…1577)
Second of four full_summary backfill batches. Branched off
HWGTB-P4-02A (PR #1605) so the diff against that base is exactly
three entries.
Entries upgraded in this batch (#1577, HWGTB-P4-02B):
- jasher — 1,122 words
- assumption_of_moses — 1,267 words
- tobit — 1,313 words
Same structure / guardrails as batch 1 (#1553, PR #1605):
Overview → Composition history → Contents → Reception history
→ NT & patristic usage → Scholarly positions → Why different
traditions treated it differently → Further reading.
Word counts on the conservative side (1,100–1,300 vs issue's
2,000–4,000 target). Happy to expand on reviewer request.
Editorial notes per entry
- jasher: distinguishes THREE works under the name — the lost
biblical Book of Jasher (real, lost), the medieval Sefer
haYashar (legitimate Jewish midrash), and the 1751 English
Pseudo-Jasher (documented forgery). Popular conspiracy
framings conflate these three; this summary keeps them
apart.
- assumption_of_moses: identifies the Jude 9 connection
(patristic testimony of Origen, Clement), the Ceriani 1861
rediscovery, and the Taxo martyrdom theology. No Christian
communion treats it as Scripture.
- tobit: traces the Protestant/Catholic/Orthodox split through
Jerome-Augustine divergence and the Reformation retrieval of
Jerome's position. Qumran Aramaic/Hebrew fragments confirm
Semitic original but do not change canonical judgments.
No schema / code changes. Only content/meta/extrabiblical.json
modified.
How verified
python _tools/schema_validator.py — 136482 passed, 77 failed
(same 77 pre-existing master baseline; 0 new failures)
Merge order (flagged for reviewer)
This PR is chunk 2 of the chained full_summary series. The
planned merge order is:
master → #1589 (12 brief entries)
→ #1605 (batch 1)
→ this PR (batch 2)
→ #1578/3 → #1579/4
Each subsequent batch branches off the previous so the
extrabiblical.json is byte-identical for all untouched
entries — no 3-way merge conflicts across the 4 batches.
This PR diff against master shows extrabiblical.json as a new
file; diff against its branch base (PR #1605) shows only the
3 full_summary fields changed.
Closes#1577
@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the collapsed replacement PR #1622, which merges the entire chain into a single commit on master (no stacked-branch dependencies, no extrabiblical.json recreation conflicts).

@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p4-02b-full-summary-batch2 branch April 23, 2026 20:49
CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
Collapses the chain of 5 stacked PRs (#1605, #1606, #1609, #1617, #1619)
into a single clean commit on top of master. Each PR in the chain was
rebuilt from a pre-#1589 base and recreated extrabiblical.json from
scratch, which forced a conflict with the canonical file added by
#1589. Since #1619 is a strict superset of the earlier ones, merging
its final state directly is equivalent to sequentially applying all 5.
## Full summaries added (12)
Scholarly long-form treatment for every entry:
1_enoch (9969 chars), 2_enoch (7992), jubilees (8653),
jasher (7372), assumption_of_moses (8297), tobit (8781),
judith (9296), wisdom_of_solomon (8764), sirach (9451),
1_maccabees (9211), 4_ezra (9459), damascus_document (9417)
## Cross-links wired
Referential integrity to existing tables:
- 11 entries gained related_debate_ids → debate-topics.json
- 12 entries gained related_journey_ids → journeys/thematic/
- 3 entries gained related_difficult_passage_ids → difficult-passages.json
## Verified locally
- schema_validator.py: same 77 pre-existing failures, no new ones
- build_sqlite.py: clean build
- validate_sqlite.py: [OK] ALL CHECKS PASSED
## Closes#1553, #1577, #1578, #1579, #1576
## Supersedes
#1605, #1606, #1609, #1617, #1619
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
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.

2 participants

@CraigBuckmaster@claude