content: 10 debate topics on canon & extra-biblical questions (#1544) - #1592

Closed
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics
Closed

content: 10 debate topics on canon & extra-biblical questions (#1544)#1592
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Authors 10 new entries in content/meta/debate-topics.json covering canon formation and extra-biblical literature debates. Total debate_topics rows: 307 → 317.

#idbook_idchapters
1did-jude-affirm-enoch-as-scripturejude1
2who-are-the-nephilimgenesis6
3why-did-western-church-exclude-apocryphajude1
4what-criteria-at-hippo-carthagejude1
5why-does-ethiopia-have-a-different-canonjude1
6athanasius-festal-letter-39-significancejude1
7jerome-vs-augustine-on-apocryphajude1
8trent-response-or-innovationjude1
9second-temple-literature-and-nt-theologyjude1
10dead-sea-scrolls-and-canon-questionsdaniel12

The DB schema requires a non-null book_id; canon-formation topics that span all of Scripture are anchored to jude as a natural touchstone (Jude's citation of 1 Enoch is the NT's clearest engagement with canon-adjacent extra-biblical literature). The DSS topic is anchored to Daniel 12 (Qumran's major apocalyptic touchstone).

Closes

Closes#1544

Per-topic shape

Each topic has the full existing debate-topics.json schema:

  • id, title, category, book_id, chapters, passage, question, context
  • positions[]3 positions per topic, each with tradition_family, scholar_ids[], proponents, argument, strengths, weaknesses, key_verses[]
  • synthesis — evangelical Protestant perspective, fair to other positions
  • related_passages, tags (hwgtb tag on all 10)

Scholar coverage

Draws on the existing 72 scholars plus the 8 added in HWGTB-P0-01 (#1537):

  • Patristic: athanasius, jerome, augustine, tertullian
  • Modern canon / Second Temple: kruger, metzger, nickelsburg, vanderkam
  • Evangelical (existing): bruce, schreiner, davids, moo, beale, longman, waltke, hess, collins, anderson

Tradition families used: evangelical (primary), critical, patristic, catholic, orthodox, second-temple.

Editorial commitments per epic guardrails

  • Descriptive, not prescriptive. "The Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated as fact; no tradition endorsed or rejected.
  • Scholar diversity on every contested question. Nephilim (angelic / Sethite / royal-dynastic), Jude–Enoch status (three distinct readings), Second Temple influence on NT (three distinct readings), canon formation (multiple legitimate traditions) — all three positions argued on their own terms.
  • Explicit rejection of conspiracy framings. Trent is treated as both formal definition of received Western tradition and reactive hardening against Reformation pressure (the historically accurate reading) — not "Rome added books to control people." Ethiopian canon is treated as legitimate ecclesial judgment — not "suppressed ancient Scripture."
  • NT citation ≠ canonicity stated explicitly in the Jude-Enoch topic; governs the Second Temple topic as well.
  • Named primary sources throughout: Jerome's Prologus Galeatus, Athanasius's 39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12, Trent Session IV, Cardinal Cajetan (1518), Article VI of the Thirty-Nine Articles (1563), Westminster Confession 1.3, Confession of Dositheos (1672), Josephus Against Apion 1.37–43, 4 Ezra 14.

Note on extrabiblical cross-link acceptance criterion

The issue's fourth acceptance criterion reads:

Extrabiblical entries from HWGTB-P1-04 updated with related_debate_ids pointing to these

Per the epic's explicit architectural decision — "Cross-link wire-up deferred to single pass. Entries in HWGTB-P1-04 ship with empty related_*_ids arrays. HWGTB-P1-09 wires them all in one coordinated pass once siblings have landed." — and PR #1589's commitment to wire all cross-links in HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids is handled in #1576 alongside the other cross-link fields. This PR ships the 10 topics with stable snake-hyphen IDs that #1576 can reference.

How I verified

Full pipeline with prerequisites applied locally (#1537 scholars, via feature/hwgtb-p0-01-scholars):

  • python _tools/build_sqlite.pydebate_topics: 317 rows
  • python _tools/schema_validator.py136776 passed, 77 failed (same 77 pre-existing master-baseline failures, 0 new failures from canon topics) ✅
  • python _tools/validate_sqlite.py93 passed, 0 failed, 2 warnings (pre-existing embeddings/prompts) ✅

Smoke on master (this commit's branch without prereqs):

Merge order

Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine, tertullian, kruger, metzger, nickelsburg, vanderkam to scholars.json). Safe to merge after #1537 is on master; the 40 scholar-id failures above become 0.

Pairs with HWGTB-P1-09 (#1576) which wires extrabiblical cross-links after this and sibling content lands.

Rollback

Revert this PR. debate-topics.json returns to 307 entries; debate_topics table row count returns to 307 on next build. No schema changes, no user.db impact.


Generated by Claude Code

Authors 10 new entries in content/meta/debate-topics.json covering
canon formation and extra-biblical literature questions. Total
debate_topics rows: 307 -> 317.
did-jude-affirm-enoch-as-scripture book_id=jude
who-are-the-nephilim book_id=genesis
why-did-western-church-exclude-apocrypha book_id=jude
what-criteria-at-hippo-carthage book_id=jude
why-does-ethiopia-have-a-different-canon book_id=jude
athanasius-festal-letter-39-significance book_id=jude
jerome-vs-augustine-on-apocrypha book_id=jude
trent-response-or-innovation book_id=jude
second-temple-literature-and-nt-theology book_id=jude
dead-sea-scrolls-and-canon-questions book_id=daniel
Each topic has the full existing debate-topics schema:
- id (snake-hyphen), title, category, book_id, chapters, passage,
question, context, positions[], synthesis, related_passages,
tags
- 3 positions per topic, every position with tradition_family,
scholar_ids[], proponents, argument, strengths, weaknesses,
key_verses[]
- synthesis written from an evangelical Protestant perspective
while presenting other positions fairly
Scholar coverage spans the existing 72 scholars plus the 8
added in HWGTB-P0-01 (athanasius, jerome, augustine, tertullian,
kruger, metzger, nickelsburg, vanderkam). Tradition families used:
evangelical (primary), critical, patristic, catholic, orthodox,
second-temple.
Editorial commitments per epic guardrails:
- Descriptive, not prescriptive on tradition status. "The
Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated
as fact; no tradition endorsed or rejected.
- Scholar diversity on every contested question. Where evangelical
and critical scholars genuinely disagree (Nephilim, Jude-Enoch
status, Second Temple influence on NT), both positions argued on
their own terms.
- Explicit rejection of conspiracy framings. Trent is treated as
both formal definition of received tradition AND reactive
hardening (most honest reading) — not "Rome added books to
control people." Ethiopian canon is treated as legitimate
ecclesial judgment — not "suppressed ancient Scripture."
- NT citation != canonicity stated explicitly (Jude / 1 Enoch).
- Named primary sources: Jerome's Prologus Galeatus, Athanasius's
39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12,
Trent Session IV, Cardinal Cajetan 1518, Article VI (1563),
Westminster Confession 1.3, Confession of Dositheos (1672),
Josephus's Against Apion, 4 Ezra 14.
Note on extrabiblical cross-link acceptance criterion
The issue lists "extrabiblical entries ... updated with
related_debate_ids pointing to these." Per the epic's explicit
architectural decision ("cross-link wire-up deferred to single
pass") and PR #1589's commitment to wire all cross-links in
HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids
is handled in #1576 alongside the other cross-link fields. This
PR ships the 10 topics; #1576 wires them to the extrabiblical
entries once the topic IDs and entries are both on master.
How verified
Full pipeline with prerequisites applied locally (#1537 scholars):
- python _tools/build_sqlite.py — debate_topics: 317 rows (OK)
- python _tools/schema_validator.py — 136776 passed, 77 failed
(same 77 pre-existing master baseline, 0 new failures from
canon topics)
- python _tools/validate_sqlite.py — 93 passed, 0 failed,
2 warnings (pre-existing embeddings/prompts)
Smoke on master (this commit's branch without prereqs):
- build succeeds: debate_topics: 317 rows
- schema_validator: 136736 passed, 117 failed (77 pre-existing +
40 expected scholar-id failures that resolve when #1537 merges)
- validate_sqlite: 93 passed, 0 failed
Merge order
Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine,
tertullian, kruger, metzger, nickelsburg, vanderkam to
scholars.json). Safe to merge after #1537 is on master; the 40
scholar-id failures above become 0.
Closes#1544
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation136736 passed, 117 failed
Build DB
DB Integrity93 passed, 0 failed

Content Pipeline — Quality & Accuracy Report

All content checks passed

Scope: 0 chapter(s) across 0 book(s)

Content Accuracy

2801 claims checked — 0 verified, 0 flagged, 0 refuted


Generated by ci_content_check.py

@github-actions

Copy link
Copy Markdown

Test Results

❌ 1 test(s) failed

PassedFailedTotal
Tests✅ 3473❌ 13474
Suites✅ 468❌ 1469

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 79.6s

@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the replacement PR above. Original was built from a pre-Tier-2 base; the replacement cherry-picks the content file onto current master with test & theme updates for the new second-temple tradition_family.

CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
* content: 10 debate topics on canon & extra-biblical questions (replaces #1592)
Replaces #1592, which was built from a pre-Tier-2 base and had to
delete everything merged in prior rounds to rebase. Cherry-picks the
single content file onto current master.
Adds 10 topics covering canon-formation and extra-biblical debates:
- did-jude-affirm-enoch-as-scripture
- who-are-the-nephilim (introduces second-temple tradition_family)
- second-temple-literature-and-nt-theology
- dead-sea-scrolls-and-canon-questions
- jerome-vs-augustine-on-apocrypha
- trent-response-or-innovation
- what-criteria-at-hippo-carthage
- why-did-western-church-exclude-apocrypha
- why-does-ethiopia-have-a-different-canon
- athanasius-festal-letter-39-significance
## Infrastructure changes
One position in 'who-are-the-nephilim' uses 'second-temple' as its
tradition_family — a new family for positions anchored in Second
Temple Judaism reception (1 Enoch Watchers tradition, Jubilees, etc.)
distinct from the rabbinic-era 'jewish' family.
Infrastructure updates to support it:
- app/__tests__/unit/debateTopicData.test.ts: added 'second-temple'
to VALID_FAMILIES
- app/src/theme/colors.ts: added 'second-temple' → #D4A373 (sand/
parchment tone evoking ancient manuscripts, distinct from the
rabbinic-era 'jewish' green)
Closes#1544. Supersedes #1592.
* fix: add orthodox to VALID_FAMILIES + color map
The debate-topics content also uses 'orthodox' as a tradition_family
for Eastern Orthodox positions. Missed in the initial pass.
- app/__tests__/unit/debateTopicData.test.ts: add 'orthodox'
- app/src/theme/colors.ts: add orthodox → #B85C5C (deeper liturgical red)
---------
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p1-07-canon-debate-topics branch April 23, 2026 20:35
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.

[HWGTB-P1-07] Content: 10 debate topics on canon & extra-biblical questions

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: 10 debate topics on canon & extra-biblical questions (#1544) - #1592

Closed
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics
Closed

content: 10 debate topics on canon & extra-biblical questions (#1544)#1592
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Authors 10 new entries in content/meta/debate-topics.json covering canon formation and extra-biblical literature debates. Total debate_topics rows: 307 → 317.

#idbook_idchapters
1did-jude-affirm-enoch-as-scripturejude1
2who-are-the-nephilimgenesis6
3why-did-western-church-exclude-apocryphajude1
4what-criteria-at-hippo-carthagejude1
5why-does-ethiopia-have-a-different-canonjude1
6athanasius-festal-letter-39-significancejude1
7jerome-vs-augustine-on-apocryphajude1
8trent-response-or-innovationjude1
9second-temple-literature-and-nt-theologyjude1
10dead-sea-scrolls-and-canon-questionsdaniel12

The DB schema requires a non-null book_id; canon-formation topics that span all of Scripture are anchored to jude as a natural touchstone (Jude's citation of 1 Enoch is the NT's clearest engagement with canon-adjacent extra-biblical literature). The DSS topic is anchored to Daniel 12 (Qumran's major apocalyptic touchstone).

Closes

Closes#1544

Per-topic shape

Each topic has the full existing debate-topics.json schema:

  • id, title, category, book_id, chapters, passage, question, context
  • positions[]3 positions per topic, each with tradition_family, scholar_ids[], proponents, argument, strengths, weaknesses, key_verses[]
  • synthesis — evangelical Protestant perspective, fair to other positions
  • related_passages, tags (hwgtb tag on all 10)

Scholar coverage

Draws on the existing 72 scholars plus the 8 added in HWGTB-P0-01 (#1537):

  • Patristic: athanasius, jerome, augustine, tertullian
  • Modern canon / Second Temple: kruger, metzger, nickelsburg, vanderkam
  • Evangelical (existing): bruce, schreiner, davids, moo, beale, longman, waltke, hess, collins, anderson

Tradition families used: evangelical (primary), critical, patristic, catholic, orthodox, second-temple.

Editorial commitments per epic guardrails

  • Descriptive, not prescriptive. "The Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated as fact; no tradition endorsed or rejected.
  • Scholar diversity on every contested question. Nephilim (angelic / Sethite / royal-dynastic), Jude–Enoch status (three distinct readings), Second Temple influence on NT (three distinct readings), canon formation (multiple legitimate traditions) — all three positions argued on their own terms.
  • Explicit rejection of conspiracy framings. Trent is treated as both formal definition of received Western tradition and reactive hardening against Reformation pressure (the historically accurate reading) — not "Rome added books to control people." Ethiopian canon is treated as legitimate ecclesial judgment — not "suppressed ancient Scripture."
  • NT citation ≠ canonicity stated explicitly in the Jude-Enoch topic; governs the Second Temple topic as well.
  • Named primary sources throughout: Jerome's Prologus Galeatus, Athanasius's 39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12, Trent Session IV, Cardinal Cajetan (1518), Article VI of the Thirty-Nine Articles (1563), Westminster Confession 1.3, Confession of Dositheos (1672), Josephus Against Apion 1.37–43, 4 Ezra 14.

Note on extrabiblical cross-link acceptance criterion

The issue's fourth acceptance criterion reads:

Extrabiblical entries from HWGTB-P1-04 updated with related_debate_ids pointing to these

Per the epic's explicit architectural decision — "Cross-link wire-up deferred to single pass. Entries in HWGTB-P1-04 ship with empty related_*_ids arrays. HWGTB-P1-09 wires them all in one coordinated pass once siblings have landed." — and PR #1589's commitment to wire all cross-links in HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids is handled in #1576 alongside the other cross-link fields. This PR ships the 10 topics with stable snake-hyphen IDs that #1576 can reference.

How I verified

Full pipeline with prerequisites applied locally (#1537 scholars, via feature/hwgtb-p0-01-scholars):

  • python _tools/build_sqlite.pydebate_topics: 317 rows
  • python _tools/schema_validator.py136776 passed, 77 failed (same 77 pre-existing master-baseline failures, 0 new failures from canon topics) ✅
  • python _tools/validate_sqlite.py93 passed, 0 failed, 2 warnings (pre-existing embeddings/prompts) ✅

Smoke on master (this commit's branch without prereqs):

Merge order

Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine, tertullian, kruger, metzger, nickelsburg, vanderkam to scholars.json). Safe to merge after #1537 is on master; the 40 scholar-id failures above become 0.

Pairs with HWGTB-P1-09 (#1576) which wires extrabiblical cross-links after this and sibling content lands.

Rollback

Revert this PR. debate-topics.json returns to 307 entries; debate_topics table row count returns to 307 on next build. No schema changes, no user.db impact.


Generated by Claude Code

Authors 10 new entries in content/meta/debate-topics.json covering
canon formation and extra-biblical literature questions. Total
debate_topics rows: 307 -> 317.
did-jude-affirm-enoch-as-scripture book_id=jude
who-are-the-nephilim book_id=genesis
why-did-western-church-exclude-apocrypha book_id=jude
what-criteria-at-hippo-carthage book_id=jude
why-does-ethiopia-have-a-different-canon book_id=jude
athanasius-festal-letter-39-significance book_id=jude
jerome-vs-augustine-on-apocrypha book_id=jude
trent-response-or-innovation book_id=jude
second-temple-literature-and-nt-theology book_id=jude
dead-sea-scrolls-and-canon-questions book_id=daniel
Each topic has the full existing debate-topics schema:
- id (snake-hyphen), title, category, book_id, chapters, passage,
question, context, positions[], synthesis, related_passages,
tags
- 3 positions per topic, every position with tradition_family,
scholar_ids[], proponents, argument, strengths, weaknesses,
key_verses[]
- synthesis written from an evangelical Protestant perspective
while presenting other positions fairly
Scholar coverage spans the existing 72 scholars plus the 8
added in HWGTB-P0-01 (athanasius, jerome, augustine, tertullian,
kruger, metzger, nickelsburg, vanderkam). Tradition families used:
evangelical (primary), critical, patristic, catholic, orthodox,
second-temple.
Editorial commitments per epic guardrails:
- Descriptive, not prescriptive on tradition status. "The
Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated
as fact; no tradition endorsed or rejected.
- Scholar diversity on every contested question. Where evangelical
and critical scholars genuinely disagree (Nephilim, Jude-Enoch
status, Second Temple influence on NT), both positions argued on
their own terms.
- Explicit rejection of conspiracy framings. Trent is treated as
both formal definition of received tradition AND reactive
hardening (most honest reading) — not "Rome added books to
control people." Ethiopian canon is treated as legitimate
ecclesial judgment — not "suppressed ancient Scripture."
- NT citation != canonicity stated explicitly (Jude / 1 Enoch).
- Named primary sources: Jerome's Prologus Galeatus, Athanasius's
39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12,
Trent Session IV, Cardinal Cajetan 1518, Article VI (1563),
Westminster Confession 1.3, Confession of Dositheos (1672),
Josephus's Against Apion, 4 Ezra 14.
Note on extrabiblical cross-link acceptance criterion
The issue lists "extrabiblical entries ... updated with
related_debate_ids pointing to these." Per the epic's explicit
architectural decision ("cross-link wire-up deferred to single
pass") and PR #1589's commitment to wire all cross-links in
HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids
is handled in #1576 alongside the other cross-link fields. This
PR ships the 10 topics; #1576 wires them to the extrabiblical
entries once the topic IDs and entries are both on master.
How verified
Full pipeline with prerequisites applied locally (#1537 scholars):
- python _tools/build_sqlite.py — debate_topics: 317 rows (OK)
- python _tools/schema_validator.py — 136776 passed, 77 failed
(same 77 pre-existing master baseline, 0 new failures from
canon topics)
- python _tools/validate_sqlite.py — 93 passed, 0 failed,
2 warnings (pre-existing embeddings/prompts)
Smoke on master (this commit's branch without prereqs):
- build succeeds: debate_topics: 317 rows
- schema_validator: 136736 passed, 117 failed (77 pre-existing +
40 expected scholar-id failures that resolve when #1537 merges)
- validate_sqlite: 93 passed, 0 failed
Merge order
Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine,
tertullian, kruger, metzger, nickelsburg, vanderkam to
scholars.json). Safe to merge after #1537 is on master; the 40
scholar-id failures above become 0.
Closes#1544
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation136736 passed, 117 failed
Build DB
DB Integrity93 passed, 0 failed

Content Pipeline — Quality & Accuracy Report

All content checks passed

Scope: 0 chapter(s) across 0 book(s)

Content Accuracy

2801 claims checked — 0 verified, 0 flagged, 0 refuted


Generated by ci_content_check.py

@github-actions

Copy link
Copy Markdown

Test Results

❌ 1 test(s) failed

PassedFailedTotal
Tests✅ 3473❌ 13474
Suites✅ 468❌ 1469

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 79.6s

@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the replacement PR above. Original was built from a pre-Tier-2 base; the replacement cherry-picks the content file onto current master with test & theme updates for the new second-temple tradition_family.

CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
* content: 10 debate topics on canon & extra-biblical questions (replaces #1592)
Replaces #1592, which was built from a pre-Tier-2 base and had to
delete everything merged in prior rounds to rebase. Cherry-picks the
single content file onto current master.
Adds 10 topics covering canon-formation and extra-biblical debates:
- did-jude-affirm-enoch-as-scripture
- who-are-the-nephilim (introduces second-temple tradition_family)
- second-temple-literature-and-nt-theology
- dead-sea-scrolls-and-canon-questions
- jerome-vs-augustine-on-apocrypha
- trent-response-or-innovation
- what-criteria-at-hippo-carthage
- why-did-western-church-exclude-apocrypha
- why-does-ethiopia-have-a-different-canon
- athanasius-festal-letter-39-significance
## Infrastructure changes
One position in 'who-are-the-nephilim' uses 'second-temple' as its
tradition_family — a new family for positions anchored in Second
Temple Judaism reception (1 Enoch Watchers tradition, Jubilees, etc.)
distinct from the rabbinic-era 'jewish' family.
Infrastructure updates to support it:
- app/__tests__/unit/debateTopicData.test.ts: added 'second-temple'
to VALID_FAMILIES
- app/src/theme/colors.ts: added 'second-temple' → #D4A373 (sand/
parchment tone evoking ancient manuscripts, distinct from the
rabbinic-era 'jewish' green)
Closes#1544. Supersedes #1592.
* fix: add orthodox to VALID_FAMILIES + color map
The debate-topics content also uses 'orthodox' as a tradition_family
for Eastern Orthodox positions. Missed in the initial pass.
- app/__tests__/unit/debateTopicData.test.ts: add 'orthodox'
- app/src/theme/colors.ts: add orthodox → #B85C5C (deeper liturgical red)
---------
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p1-07-canon-debate-topics branch April 23, 2026 20:35
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.

[HWGTB-P1-07] Content: 10 debate topics on canon & extra-biblical questions

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: 10 debate topics on canon & extra-biblical questions (#1544) - #1592

Closed
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics
Closed

content: 10 debate topics on canon & extra-biblical questions (#1544)#1592
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Authors 10 new entries in content/meta/debate-topics.json covering canon formation and extra-biblical literature debates. Total debate_topics rows: 307 → 317.

#idbook_idchapters
1did-jude-affirm-enoch-as-scripturejude1
2who-are-the-nephilimgenesis6
3why-did-western-church-exclude-apocryphajude1
4what-criteria-at-hippo-carthagejude1
5why-does-ethiopia-have-a-different-canonjude1
6athanasius-festal-letter-39-significancejude1
7jerome-vs-augustine-on-apocryphajude1
8trent-response-or-innovationjude1
9second-temple-literature-and-nt-theologyjude1
10dead-sea-scrolls-and-canon-questionsdaniel12

The DB schema requires a non-null book_id; canon-formation topics that span all of Scripture are anchored to jude as a natural touchstone (Jude's citation of 1 Enoch is the NT's clearest engagement with canon-adjacent extra-biblical literature). The DSS topic is anchored to Daniel 12 (Qumran's major apocalyptic touchstone).

Closes

Closes#1544

Per-topic shape

Each topic has the full existing debate-topics.json schema:

  • id, title, category, book_id, chapters, passage, question, context
  • positions[]3 positions per topic, each with tradition_family, scholar_ids[], proponents, argument, strengths, weaknesses, key_verses[]
  • synthesis — evangelical Protestant perspective, fair to other positions
  • related_passages, tags (hwgtb tag on all 10)

Scholar coverage

Draws on the existing 72 scholars plus the 8 added in HWGTB-P0-01 (#1537):

  • Patristic: athanasius, jerome, augustine, tertullian
  • Modern canon / Second Temple: kruger, metzger, nickelsburg, vanderkam
  • Evangelical (existing): bruce, schreiner, davids, moo, beale, longman, waltke, hess, collins, anderson

Tradition families used: evangelical (primary), critical, patristic, catholic, orthodox, second-temple.

Editorial commitments per epic guardrails

  • Descriptive, not prescriptive. "The Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated as fact; no tradition endorsed or rejected.
  • Scholar diversity on every contested question. Nephilim (angelic / Sethite / royal-dynastic), Jude–Enoch status (three distinct readings), Second Temple influence on NT (three distinct readings), canon formation (multiple legitimate traditions) — all three positions argued on their own terms.
  • Explicit rejection of conspiracy framings. Trent is treated as both formal definition of received Western tradition and reactive hardening against Reformation pressure (the historically accurate reading) — not "Rome added books to control people." Ethiopian canon is treated as legitimate ecclesial judgment — not "suppressed ancient Scripture."
  • NT citation ≠ canonicity stated explicitly in the Jude-Enoch topic; governs the Second Temple topic as well.
  • Named primary sources throughout: Jerome's Prologus Galeatus, Athanasius's 39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12, Trent Session IV, Cardinal Cajetan (1518), Article VI of the Thirty-Nine Articles (1563), Westminster Confession 1.3, Confession of Dositheos (1672), Josephus Against Apion 1.37–43, 4 Ezra 14.

Note on extrabiblical cross-link acceptance criterion

The issue's fourth acceptance criterion reads:

Extrabiblical entries from HWGTB-P1-04 updated with related_debate_ids pointing to these

Per the epic's explicit architectural decision — "Cross-link wire-up deferred to single pass. Entries in HWGTB-P1-04 ship with empty related_*_ids arrays. HWGTB-P1-09 wires them all in one coordinated pass once siblings have landed." — and PR #1589's commitment to wire all cross-links in HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids is handled in #1576 alongside the other cross-link fields. This PR ships the 10 topics with stable snake-hyphen IDs that #1576 can reference.

How I verified

Full pipeline with prerequisites applied locally (#1537 scholars, via feature/hwgtb-p0-01-scholars):

  • python _tools/build_sqlite.pydebate_topics: 317 rows
  • python _tools/schema_validator.py136776 passed, 77 failed (same 77 pre-existing master-baseline failures, 0 new failures from canon topics) ✅
  • python _tools/validate_sqlite.py93 passed, 0 failed, 2 warnings (pre-existing embeddings/prompts) ✅

Smoke on master (this commit's branch without prereqs):

Merge order

Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine, tertullian, kruger, metzger, nickelsburg, vanderkam to scholars.json). Safe to merge after #1537 is on master; the 40 scholar-id failures above become 0.

Pairs with HWGTB-P1-09 (#1576) which wires extrabiblical cross-links after this and sibling content lands.

Rollback

Revert this PR. debate-topics.json returns to 307 entries; debate_topics table row count returns to 307 on next build. No schema changes, no user.db impact.


Generated by Claude Code

Authors 10 new entries in content/meta/debate-topics.json covering
canon formation and extra-biblical literature questions. Total
debate_topics rows: 307 -> 317.
did-jude-affirm-enoch-as-scripture book_id=jude
who-are-the-nephilim book_id=genesis
why-did-western-church-exclude-apocrypha book_id=jude
what-criteria-at-hippo-carthage book_id=jude
why-does-ethiopia-have-a-different-canon book_id=jude
athanasius-festal-letter-39-significance book_id=jude
jerome-vs-augustine-on-apocrypha book_id=jude
trent-response-or-innovation book_id=jude
second-temple-literature-and-nt-theology book_id=jude
dead-sea-scrolls-and-canon-questions book_id=daniel
Each topic has the full existing debate-topics schema:
- id (snake-hyphen), title, category, book_id, chapters, passage,
question, context, positions[], synthesis, related_passages,
tags
- 3 positions per topic, every position with tradition_family,
scholar_ids[], proponents, argument, strengths, weaknesses,
key_verses[]
- synthesis written from an evangelical Protestant perspective
while presenting other positions fairly
Scholar coverage spans the existing 72 scholars plus the 8
added in HWGTB-P0-01 (athanasius, jerome, augustine, tertullian,
kruger, metzger, nickelsburg, vanderkam). Tradition families used:
evangelical (primary), critical, patristic, catholic, orthodox,
second-temple.
Editorial commitments per epic guardrails:
- Descriptive, not prescriptive on tradition status. "The
Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated
as fact; no tradition endorsed or rejected.
- Scholar diversity on every contested question. Where evangelical
and critical scholars genuinely disagree (Nephilim, Jude-Enoch
status, Second Temple influence on NT), both positions argued on
their own terms.
- Explicit rejection of conspiracy framings. Trent is treated as
both formal definition of received tradition AND reactive
hardening (most honest reading) — not "Rome added books to
control people." Ethiopian canon is treated as legitimate
ecclesial judgment — not "suppressed ancient Scripture."
- NT citation != canonicity stated explicitly (Jude / 1 Enoch).
- Named primary sources: Jerome's Prologus Galeatus, Athanasius's
39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12,
Trent Session IV, Cardinal Cajetan 1518, Article VI (1563),
Westminster Confession 1.3, Confession of Dositheos (1672),
Josephus's Against Apion, 4 Ezra 14.
Note on extrabiblical cross-link acceptance criterion
The issue lists "extrabiblical entries ... updated with
related_debate_ids pointing to these." Per the epic's explicit
architectural decision ("cross-link wire-up deferred to single
pass") and PR #1589's commitment to wire all cross-links in
HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids
is handled in #1576 alongside the other cross-link fields. This
PR ships the 10 topics; #1576 wires them to the extrabiblical
entries once the topic IDs and entries are both on master.
How verified
Full pipeline with prerequisites applied locally (#1537 scholars):
- python _tools/build_sqlite.py — debate_topics: 317 rows (OK)
- python _tools/schema_validator.py — 136776 passed, 77 failed
(same 77 pre-existing master baseline, 0 new failures from
canon topics)
- python _tools/validate_sqlite.py — 93 passed, 0 failed,
2 warnings (pre-existing embeddings/prompts)
Smoke on master (this commit's branch without prereqs):
- build succeeds: debate_topics: 317 rows
- schema_validator: 136736 passed, 117 failed (77 pre-existing +
40 expected scholar-id failures that resolve when #1537 merges)
- validate_sqlite: 93 passed, 0 failed
Merge order
Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine,
tertullian, kruger, metzger, nickelsburg, vanderkam to
scholars.json). Safe to merge after #1537 is on master; the 40
scholar-id failures above become 0.
Closes#1544
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation136736 passed, 117 failed
Build DB
DB Integrity93 passed, 0 failed

Content Pipeline — Quality & Accuracy Report

All content checks passed

Scope: 0 chapter(s) across 0 book(s)

Content Accuracy

2801 claims checked — 0 verified, 0 flagged, 0 refuted


Generated by ci_content_check.py

@github-actions

Copy link
Copy Markdown

Test Results

❌ 1 test(s) failed

PassedFailedTotal
Tests✅ 3473❌ 13474
Suites✅ 468❌ 1469

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 79.6s

@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the replacement PR above. Original was built from a pre-Tier-2 base; the replacement cherry-picks the content file onto current master with test & theme updates for the new second-temple tradition_family.

CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
* content: 10 debate topics on canon & extra-biblical questions (replaces #1592)
Replaces #1592, which was built from a pre-Tier-2 base and had to
delete everything merged in prior rounds to rebase. Cherry-picks the
single content file onto current master.
Adds 10 topics covering canon-formation and extra-biblical debates:
- did-jude-affirm-enoch-as-scripture
- who-are-the-nephilim (introduces second-temple tradition_family)
- second-temple-literature-and-nt-theology
- dead-sea-scrolls-and-canon-questions
- jerome-vs-augustine-on-apocrypha
- trent-response-or-innovation
- what-criteria-at-hippo-carthage
- why-did-western-church-exclude-apocrypha
- why-does-ethiopia-have-a-different-canon
- athanasius-festal-letter-39-significance
## Infrastructure changes
One position in 'who-are-the-nephilim' uses 'second-temple' as its
tradition_family — a new family for positions anchored in Second
Temple Judaism reception (1 Enoch Watchers tradition, Jubilees, etc.)
distinct from the rabbinic-era 'jewish' family.
Infrastructure updates to support it:
- app/__tests__/unit/debateTopicData.test.ts: added 'second-temple'
to VALID_FAMILIES
- app/src/theme/colors.ts: added 'second-temple' → #D4A373 (sand/
parchment tone evoking ancient manuscripts, distinct from the
rabbinic-era 'jewish' green)
Closes#1544. Supersedes #1592.
* fix: add orthodox to VALID_FAMILIES + color map
The debate-topics content also uses 'orthodox' as a tradition_family
for Eastern Orthodox positions. Missed in the initial pass.
- app/__tests__/unit/debateTopicData.test.ts: add 'orthodox'
- app/src/theme/colors.ts: add orthodox → #B85C5C (deeper liturgical red)
---------
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p1-07-canon-debate-topics branch April 23, 2026 20:35
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.

[HWGTB-P1-07] Content: 10 debate topics on canon & extra-biblical questions

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: 10 debate topics on canon & extra-biblical questions (#1544) - #1592

Closed
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics
Closed

content: 10 debate topics on canon & extra-biblical questions (#1544)#1592
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Authors 10 new entries in content/meta/debate-topics.json covering canon formation and extra-biblical literature debates. Total debate_topics rows: 307 → 317.

#idbook_idchapters
1did-jude-affirm-enoch-as-scripturejude1
2who-are-the-nephilimgenesis6
3why-did-western-church-exclude-apocryphajude1
4what-criteria-at-hippo-carthagejude1
5why-does-ethiopia-have-a-different-canonjude1
6athanasius-festal-letter-39-significancejude1
7jerome-vs-augustine-on-apocryphajude1
8trent-response-or-innovationjude1
9second-temple-literature-and-nt-theologyjude1
10dead-sea-scrolls-and-canon-questionsdaniel12

The DB schema requires a non-null book_id; canon-formation topics that span all of Scripture are anchored to jude as a natural touchstone (Jude's citation of 1 Enoch is the NT's clearest engagement with canon-adjacent extra-biblical literature). The DSS topic is anchored to Daniel 12 (Qumran's major apocalyptic touchstone).

Closes

Closes#1544

Per-topic shape

Each topic has the full existing debate-topics.json schema:

  • id, title, category, book_id, chapters, passage, question, context
  • positions[]3 positions per topic, each with tradition_family, scholar_ids[], proponents, argument, strengths, weaknesses, key_verses[]
  • synthesis — evangelical Protestant perspective, fair to other positions
  • related_passages, tags (hwgtb tag on all 10)

Scholar coverage

Draws on the existing 72 scholars plus the 8 added in HWGTB-P0-01 (#1537):

  • Patristic: athanasius, jerome, augustine, tertullian
  • Modern canon / Second Temple: kruger, metzger, nickelsburg, vanderkam
  • Evangelical (existing): bruce, schreiner, davids, moo, beale, longman, waltke, hess, collins, anderson

Tradition families used: evangelical (primary), critical, patristic, catholic, orthodox, second-temple.

Editorial commitments per epic guardrails

  • Descriptive, not prescriptive. "The Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated as fact; no tradition endorsed or rejected.
  • Scholar diversity on every contested question. Nephilim (angelic / Sethite / royal-dynastic), Jude–Enoch status (three distinct readings), Second Temple influence on NT (three distinct readings), canon formation (multiple legitimate traditions) — all three positions argued on their own terms.
  • Explicit rejection of conspiracy framings. Trent is treated as both formal definition of received Western tradition and reactive hardening against Reformation pressure (the historically accurate reading) — not "Rome added books to control people." Ethiopian canon is treated as legitimate ecclesial judgment — not "suppressed ancient Scripture."
  • NT citation ≠ canonicity stated explicitly in the Jude-Enoch topic; governs the Second Temple topic as well.
  • Named primary sources throughout: Jerome's Prologus Galeatus, Athanasius's 39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12, Trent Session IV, Cardinal Cajetan (1518), Article VI of the Thirty-Nine Articles (1563), Westminster Confession 1.3, Confession of Dositheos (1672), Josephus Against Apion 1.37–43, 4 Ezra 14.

Note on extrabiblical cross-link acceptance criterion

The issue's fourth acceptance criterion reads:

Extrabiblical entries from HWGTB-P1-04 updated with related_debate_ids pointing to these

Per the epic's explicit architectural decision — "Cross-link wire-up deferred to single pass. Entries in HWGTB-P1-04 ship with empty related_*_ids arrays. HWGTB-P1-09 wires them all in one coordinated pass once siblings have landed." — and PR #1589's commitment to wire all cross-links in HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids is handled in #1576 alongside the other cross-link fields. This PR ships the 10 topics with stable snake-hyphen IDs that #1576 can reference.

How I verified

Full pipeline with prerequisites applied locally (#1537 scholars, via feature/hwgtb-p0-01-scholars):

  • python _tools/build_sqlite.pydebate_topics: 317 rows
  • python _tools/schema_validator.py136776 passed, 77 failed (same 77 pre-existing master-baseline failures, 0 new failures from canon topics) ✅
  • python _tools/validate_sqlite.py93 passed, 0 failed, 2 warnings (pre-existing embeddings/prompts) ✅

Smoke on master (this commit's branch without prereqs):

Merge order

Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine, tertullian, kruger, metzger, nickelsburg, vanderkam to scholars.json). Safe to merge after #1537 is on master; the 40 scholar-id failures above become 0.

Pairs with HWGTB-P1-09 (#1576) which wires extrabiblical cross-links after this and sibling content lands.

Rollback

Revert this PR. debate-topics.json returns to 307 entries; debate_topics table row count returns to 307 on next build. No schema changes, no user.db impact.


Generated by Claude Code

Authors 10 new entries in content/meta/debate-topics.json covering
canon formation and extra-biblical literature questions. Total
debate_topics rows: 307 -> 317.
did-jude-affirm-enoch-as-scripture book_id=jude
who-are-the-nephilim book_id=genesis
why-did-western-church-exclude-apocrypha book_id=jude
what-criteria-at-hippo-carthage book_id=jude
why-does-ethiopia-have-a-different-canon book_id=jude
athanasius-festal-letter-39-significance book_id=jude
jerome-vs-augustine-on-apocrypha book_id=jude
trent-response-or-innovation book_id=jude
second-temple-literature-and-nt-theology book_id=jude
dead-sea-scrolls-and-canon-questions book_id=daniel
Each topic has the full existing debate-topics schema:
- id (snake-hyphen), title, category, book_id, chapters, passage,
question, context, positions[], synthesis, related_passages,
tags
- 3 positions per topic, every position with tradition_family,
scholar_ids[], proponents, argument, strengths, weaknesses,
key_verses[]
- synthesis written from an evangelical Protestant perspective
while presenting other positions fairly
Scholar coverage spans the existing 72 scholars plus the 8
added in HWGTB-P0-01 (athanasius, jerome, augustine, tertullian,
kruger, metzger, nickelsburg, vanderkam). Tradition families used:
evangelical (primary), critical, patristic, catholic, orthodox,
second-temple.
Editorial commitments per epic guardrails:
- Descriptive, not prescriptive on tradition status. "The
Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated
as fact; no tradition endorsed or rejected.
- Scholar diversity on every contested question. Where evangelical
and critical scholars genuinely disagree (Nephilim, Jude-Enoch
status, Second Temple influence on NT), both positions argued on
their own terms.
- Explicit rejection of conspiracy framings. Trent is treated as
both formal definition of received tradition AND reactive
hardening (most honest reading) — not "Rome added books to
control people." Ethiopian canon is treated as legitimate
ecclesial judgment — not "suppressed ancient Scripture."
- NT citation != canonicity stated explicitly (Jude / 1 Enoch).
- Named primary sources: Jerome's Prologus Galeatus, Athanasius's
39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12,
Trent Session IV, Cardinal Cajetan 1518, Article VI (1563),
Westminster Confession 1.3, Confession of Dositheos (1672),
Josephus's Against Apion, 4 Ezra 14.
Note on extrabiblical cross-link acceptance criterion
The issue lists "extrabiblical entries ... updated with
related_debate_ids pointing to these." Per the epic's explicit
architectural decision ("cross-link wire-up deferred to single
pass") and PR #1589's commitment to wire all cross-links in
HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids
is handled in #1576 alongside the other cross-link fields. This
PR ships the 10 topics; #1576 wires them to the extrabiblical
entries once the topic IDs and entries are both on master.
How verified
Full pipeline with prerequisites applied locally (#1537 scholars):
- python _tools/build_sqlite.py — debate_topics: 317 rows (OK)
- python _tools/schema_validator.py — 136776 passed, 77 failed
(same 77 pre-existing master baseline, 0 new failures from
canon topics)
- python _tools/validate_sqlite.py — 93 passed, 0 failed,
2 warnings (pre-existing embeddings/prompts)
Smoke on master (this commit's branch without prereqs):
- build succeeds: debate_topics: 317 rows
- schema_validator: 136736 passed, 117 failed (77 pre-existing +
40 expected scholar-id failures that resolve when #1537 merges)
- validate_sqlite: 93 passed, 0 failed
Merge order
Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine,
tertullian, kruger, metzger, nickelsburg, vanderkam to
scholars.json). Safe to merge after #1537 is on master; the 40
scholar-id failures above become 0.
Closes#1544
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation136736 passed, 117 failed
Build DB
DB Integrity93 passed, 0 failed

Content Pipeline — Quality & Accuracy Report

All content checks passed

Scope: 0 chapter(s) across 0 book(s)

Content Accuracy

2801 claims checked — 0 verified, 0 flagged, 0 refuted


Generated by ci_content_check.py

@github-actions

Copy link
Copy Markdown

Test Results

❌ 1 test(s) failed

PassedFailedTotal
Tests✅ 3473❌ 13474
Suites✅ 468❌ 1469

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 79.6s

@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the replacement PR above. Original was built from a pre-Tier-2 base; the replacement cherry-picks the content file onto current master with test & theme updates for the new second-temple tradition_family.

CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
* content: 10 debate topics on canon & extra-biblical questions (replaces #1592)
Replaces #1592, which was built from a pre-Tier-2 base and had to
delete everything merged in prior rounds to rebase. Cherry-picks the
single content file onto current master.
Adds 10 topics covering canon-formation and extra-biblical debates:
- did-jude-affirm-enoch-as-scripture
- who-are-the-nephilim (introduces second-temple tradition_family)
- second-temple-literature-and-nt-theology
- dead-sea-scrolls-and-canon-questions
- jerome-vs-augustine-on-apocrypha
- trent-response-or-innovation
- what-criteria-at-hippo-carthage
- why-did-western-church-exclude-apocrypha
- why-does-ethiopia-have-a-different-canon
- athanasius-festal-letter-39-significance
## Infrastructure changes
One position in 'who-are-the-nephilim' uses 'second-temple' as its
tradition_family — a new family for positions anchored in Second
Temple Judaism reception (1 Enoch Watchers tradition, Jubilees, etc.)
distinct from the rabbinic-era 'jewish' family.
Infrastructure updates to support it:
- app/__tests__/unit/debateTopicData.test.ts: added 'second-temple'
to VALID_FAMILIES
- app/src/theme/colors.ts: added 'second-temple' → #D4A373 (sand/
parchment tone evoking ancient manuscripts, distinct from the
rabbinic-era 'jewish' green)
Closes#1544. Supersedes #1592.
* fix: add orthodox to VALID_FAMILIES + color map
The debate-topics content also uses 'orthodox' as a tradition_family
for Eastern Orthodox positions. Missed in the initial pass.
- app/__tests__/unit/debateTopicData.test.ts: add 'orthodox'
- app/src/theme/colors.ts: add orthodox → #B85C5C (deeper liturgical red)
---------
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p1-07-canon-debate-topics branch April 23, 2026 20:35
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.

[HWGTB-P1-07] Content: 10 debate topics on canon & extra-biblical questions

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: 10 debate topics on canon & extra-biblical questions (#1544) - #1592

Closed
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics
Closed

content: 10 debate topics on canon & extra-biblical questions (#1544)#1592
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Authors 10 new entries in content/meta/debate-topics.json covering canon formation and extra-biblical literature debates. Total debate_topics rows: 307 → 317.

#idbook_idchapters
1did-jude-affirm-enoch-as-scripturejude1
2who-are-the-nephilimgenesis6
3why-did-western-church-exclude-apocryphajude1
4what-criteria-at-hippo-carthagejude1
5why-does-ethiopia-have-a-different-canonjude1
6athanasius-festal-letter-39-significancejude1
7jerome-vs-augustine-on-apocryphajude1
8trent-response-or-innovationjude1
9second-temple-literature-and-nt-theologyjude1
10dead-sea-scrolls-and-canon-questionsdaniel12

The DB schema requires a non-null book_id; canon-formation topics that span all of Scripture are anchored to jude as a natural touchstone (Jude's citation of 1 Enoch is the NT's clearest engagement with canon-adjacent extra-biblical literature). The DSS topic is anchored to Daniel 12 (Qumran's major apocalyptic touchstone).

Closes

Closes#1544

Per-topic shape

Each topic has the full existing debate-topics.json schema:

  • id, title, category, book_id, chapters, passage, question, context
  • positions[]3 positions per topic, each with tradition_family, scholar_ids[], proponents, argument, strengths, weaknesses, key_verses[]
  • synthesis — evangelical Protestant perspective, fair to other positions
  • related_passages, tags (hwgtb tag on all 10)

Scholar coverage

Draws on the existing 72 scholars plus the 8 added in HWGTB-P0-01 (#1537):

  • Patristic: athanasius, jerome, augustine, tertullian
  • Modern canon / Second Temple: kruger, metzger, nickelsburg, vanderkam
  • Evangelical (existing): bruce, schreiner, davids, moo, beale, longman, waltke, hess, collins, anderson

Tradition families used: evangelical (primary), critical, patristic, catholic, orthodox, second-temple.

Editorial commitments per epic guardrails

  • Descriptive, not prescriptive. "The Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated as fact; no tradition endorsed or rejected.
  • Scholar diversity on every contested question. Nephilim (angelic / Sethite / royal-dynastic), Jude–Enoch status (three distinct readings), Second Temple influence on NT (three distinct readings), canon formation (multiple legitimate traditions) — all three positions argued on their own terms.
  • Explicit rejection of conspiracy framings. Trent is treated as both formal definition of received Western tradition and reactive hardening against Reformation pressure (the historically accurate reading) — not "Rome added books to control people." Ethiopian canon is treated as legitimate ecclesial judgment — not "suppressed ancient Scripture."
  • NT citation ≠ canonicity stated explicitly in the Jude-Enoch topic; governs the Second Temple topic as well.
  • Named primary sources throughout: Jerome's Prologus Galeatus, Athanasius's 39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12, Trent Session IV, Cardinal Cajetan (1518), Article VI of the Thirty-Nine Articles (1563), Westminster Confession 1.3, Confession of Dositheos (1672), Josephus Against Apion 1.37–43, 4 Ezra 14.

Note on extrabiblical cross-link acceptance criterion

The issue's fourth acceptance criterion reads:

Extrabiblical entries from HWGTB-P1-04 updated with related_debate_ids pointing to these

Per the epic's explicit architectural decision — "Cross-link wire-up deferred to single pass. Entries in HWGTB-P1-04 ship with empty related_*_ids arrays. HWGTB-P1-09 wires them all in one coordinated pass once siblings have landed." — and PR #1589's commitment to wire all cross-links in HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids is handled in #1576 alongside the other cross-link fields. This PR ships the 10 topics with stable snake-hyphen IDs that #1576 can reference.

How I verified

Full pipeline with prerequisites applied locally (#1537 scholars, via feature/hwgtb-p0-01-scholars):

  • python _tools/build_sqlite.pydebate_topics: 317 rows
  • python _tools/schema_validator.py136776 passed, 77 failed (same 77 pre-existing master-baseline failures, 0 new failures from canon topics) ✅
  • python _tools/validate_sqlite.py93 passed, 0 failed, 2 warnings (pre-existing embeddings/prompts) ✅

Smoke on master (this commit's branch without prereqs):

Merge order

Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine, tertullian, kruger, metzger, nickelsburg, vanderkam to scholars.json). Safe to merge after #1537 is on master; the 40 scholar-id failures above become 0.

Pairs with HWGTB-P1-09 (#1576) which wires extrabiblical cross-links after this and sibling content lands.

Rollback

Revert this PR. debate-topics.json returns to 307 entries; debate_topics table row count returns to 307 on next build. No schema changes, no user.db impact.


Generated by Claude Code

Authors 10 new entries in content/meta/debate-topics.json covering
canon formation and extra-biblical literature questions. Total
debate_topics rows: 307 -> 317.
did-jude-affirm-enoch-as-scripture book_id=jude
who-are-the-nephilim book_id=genesis
why-did-western-church-exclude-apocrypha book_id=jude
what-criteria-at-hippo-carthage book_id=jude
why-does-ethiopia-have-a-different-canon book_id=jude
athanasius-festal-letter-39-significance book_id=jude
jerome-vs-augustine-on-apocrypha book_id=jude
trent-response-or-innovation book_id=jude
second-temple-literature-and-nt-theology book_id=jude
dead-sea-scrolls-and-canon-questions book_id=daniel
Each topic has the full existing debate-topics schema:
- id (snake-hyphen), title, category, book_id, chapters, passage,
question, context, positions[], synthesis, related_passages,
tags
- 3 positions per topic, every position with tradition_family,
scholar_ids[], proponents, argument, strengths, weaknesses,
key_verses[]
- synthesis written from an evangelical Protestant perspective
while presenting other positions fairly
Scholar coverage spans the existing 72 scholars plus the 8
added in HWGTB-P0-01 (athanasius, jerome, augustine, tertullian,
kruger, metzger, nickelsburg, vanderkam). Tradition families used:
evangelical (primary), critical, patristic, catholic, orthodox,
second-temple.
Editorial commitments per epic guardrails:
- Descriptive, not prescriptive on tradition status. "The
Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated
as fact; no tradition endorsed or rejected.
- Scholar diversity on every contested question. Where evangelical
and critical scholars genuinely disagree (Nephilim, Jude-Enoch
status, Second Temple influence on NT), both positions argued on
their own terms.
- Explicit rejection of conspiracy framings. Trent is treated as
both formal definition of received tradition AND reactive
hardening (most honest reading) — not "Rome added books to
control people." Ethiopian canon is treated as legitimate
ecclesial judgment — not "suppressed ancient Scripture."
- NT citation != canonicity stated explicitly (Jude / 1 Enoch).
- Named primary sources: Jerome's Prologus Galeatus, Athanasius's
39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12,
Trent Session IV, Cardinal Cajetan 1518, Article VI (1563),
Westminster Confession 1.3, Confession of Dositheos (1672),
Josephus's Against Apion, 4 Ezra 14.
Note on extrabiblical cross-link acceptance criterion
The issue lists "extrabiblical entries ... updated with
related_debate_ids pointing to these." Per the epic's explicit
architectural decision ("cross-link wire-up deferred to single
pass") and PR #1589's commitment to wire all cross-links in
HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids
is handled in #1576 alongside the other cross-link fields. This
PR ships the 10 topics; #1576 wires them to the extrabiblical
entries once the topic IDs and entries are both on master.
How verified
Full pipeline with prerequisites applied locally (#1537 scholars):
- python _tools/build_sqlite.py — debate_topics: 317 rows (OK)
- python _tools/schema_validator.py — 136776 passed, 77 failed
(same 77 pre-existing master baseline, 0 new failures from
canon topics)
- python _tools/validate_sqlite.py — 93 passed, 0 failed,
2 warnings (pre-existing embeddings/prompts)
Smoke on master (this commit's branch without prereqs):
- build succeeds: debate_topics: 317 rows
- schema_validator: 136736 passed, 117 failed (77 pre-existing +
40 expected scholar-id failures that resolve when #1537 merges)
- validate_sqlite: 93 passed, 0 failed
Merge order
Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine,
tertullian, kruger, metzger, nickelsburg, vanderkam to
scholars.json). Safe to merge after #1537 is on master; the 40
scholar-id failures above become 0.
Closes#1544
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation136736 passed, 117 failed
Build DB
DB Integrity93 passed, 0 failed

Content Pipeline — Quality & Accuracy Report

All content checks passed

Scope: 0 chapter(s) across 0 book(s)

Content Accuracy

2801 claims checked — 0 verified, 0 flagged, 0 refuted


Generated by ci_content_check.py

@github-actions

Copy link
Copy Markdown

Test Results

❌ 1 test(s) failed

PassedFailedTotal
Tests✅ 3473❌ 13474
Suites✅ 468❌ 1469

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 79.6s

@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the replacement PR above. Original was built from a pre-Tier-2 base; the replacement cherry-picks the content file onto current master with test & theme updates for the new second-temple tradition_family.

CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
* content: 10 debate topics on canon & extra-biblical questions (replaces #1592)
Replaces #1592, which was built from a pre-Tier-2 base and had to
delete everything merged in prior rounds to rebase. Cherry-picks the
single content file onto current master.
Adds 10 topics covering canon-formation and extra-biblical debates:
- did-jude-affirm-enoch-as-scripture
- who-are-the-nephilim (introduces second-temple tradition_family)
- second-temple-literature-and-nt-theology
- dead-sea-scrolls-and-canon-questions
- jerome-vs-augustine-on-apocrypha
- trent-response-or-innovation
- what-criteria-at-hippo-carthage
- why-did-western-church-exclude-apocrypha
- why-does-ethiopia-have-a-different-canon
- athanasius-festal-letter-39-significance
## Infrastructure changes
One position in 'who-are-the-nephilim' uses 'second-temple' as its
tradition_family — a new family for positions anchored in Second
Temple Judaism reception (1 Enoch Watchers tradition, Jubilees, etc.)
distinct from the rabbinic-era 'jewish' family.
Infrastructure updates to support it:
- app/__tests__/unit/debateTopicData.test.ts: added 'second-temple'
to VALID_FAMILIES
- app/src/theme/colors.ts: added 'second-temple' → #D4A373 (sand/
parchment tone evoking ancient manuscripts, distinct from the
rabbinic-era 'jewish' green)
Closes#1544. Supersedes #1592.
* fix: add orthodox to VALID_FAMILIES + color map
The debate-topics content also uses 'orthodox' as a tradition_family
for Eastern Orthodox positions. Missed in the initial pass.
- app/__tests__/unit/debateTopicData.test.ts: add 'orthodox'
- app/src/theme/colors.ts: add orthodox → #B85C5C (deeper liturgical red)
---------
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p1-07-canon-debate-topics branch April 23, 2026 20:35
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.

[HWGTB-P1-07] Content: 10 debate topics on canon & extra-biblical questions

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: 10 debate topics on canon & extra-biblical questions (#1544) - #1592

Closed
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics
Closed

content: 10 debate topics on canon & extra-biblical questions (#1544)#1592
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Authors 10 new entries in content/meta/debate-topics.json covering canon formation and extra-biblical literature debates. Total debate_topics rows: 307 → 317.

#idbook_idchapters
1did-jude-affirm-enoch-as-scripturejude1
2who-are-the-nephilimgenesis6
3why-did-western-church-exclude-apocryphajude1
4what-criteria-at-hippo-carthagejude1
5why-does-ethiopia-have-a-different-canonjude1
6athanasius-festal-letter-39-significancejude1
7jerome-vs-augustine-on-apocryphajude1
8trent-response-or-innovationjude1
9second-temple-literature-and-nt-theologyjude1
10dead-sea-scrolls-and-canon-questionsdaniel12

The DB schema requires a non-null book_id; canon-formation topics that span all of Scripture are anchored to jude as a natural touchstone (Jude's citation of 1 Enoch is the NT's clearest engagement with canon-adjacent extra-biblical literature). The DSS topic is anchored to Daniel 12 (Qumran's major apocalyptic touchstone).

Closes

Closes#1544

Per-topic shape

Each topic has the full existing debate-topics.json schema:

  • id, title, category, book_id, chapters, passage, question, context
  • positions[]3 positions per topic, each with tradition_family, scholar_ids[], proponents, argument, strengths, weaknesses, key_verses[]
  • synthesis — evangelical Protestant perspective, fair to other positions
  • related_passages, tags (hwgtb tag on all 10)

Scholar coverage

Draws on the existing 72 scholars plus the 8 added in HWGTB-P0-01 (#1537):

  • Patristic: athanasius, jerome, augustine, tertullian
  • Modern canon / Second Temple: kruger, metzger, nickelsburg, vanderkam
  • Evangelical (existing): bruce, schreiner, davids, moo, beale, longman, waltke, hess, collins, anderson

Tradition families used: evangelical (primary), critical, patristic, catholic, orthodox, second-temple.

Editorial commitments per epic guardrails

  • Descriptive, not prescriptive. "The Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated as fact; no tradition endorsed or rejected.
  • Scholar diversity on every contested question. Nephilim (angelic / Sethite / royal-dynastic), Jude–Enoch status (three distinct readings), Second Temple influence on NT (three distinct readings), canon formation (multiple legitimate traditions) — all three positions argued on their own terms.
  • Explicit rejection of conspiracy framings. Trent is treated as both formal definition of received Western tradition and reactive hardening against Reformation pressure (the historically accurate reading) — not "Rome added books to control people." Ethiopian canon is treated as legitimate ecclesial judgment — not "suppressed ancient Scripture."
  • NT citation ≠ canonicity stated explicitly in the Jude-Enoch topic; governs the Second Temple topic as well.
  • Named primary sources throughout: Jerome's Prologus Galeatus, Athanasius's 39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12, Trent Session IV, Cardinal Cajetan (1518), Article VI of the Thirty-Nine Articles (1563), Westminster Confession 1.3, Confession of Dositheos (1672), Josephus Against Apion 1.37–43, 4 Ezra 14.

Note on extrabiblical cross-link acceptance criterion

The issue's fourth acceptance criterion reads:

Extrabiblical entries from HWGTB-P1-04 updated with related_debate_ids pointing to these

Per the epic's explicit architectural decision — "Cross-link wire-up deferred to single pass. Entries in HWGTB-P1-04 ship with empty related_*_ids arrays. HWGTB-P1-09 wires them all in one coordinated pass once siblings have landed." — and PR #1589's commitment to wire all cross-links in HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids is handled in #1576 alongside the other cross-link fields. This PR ships the 10 topics with stable snake-hyphen IDs that #1576 can reference.

How I verified

Full pipeline with prerequisites applied locally (#1537 scholars, via feature/hwgtb-p0-01-scholars):

  • python _tools/build_sqlite.pydebate_topics: 317 rows
  • python _tools/schema_validator.py136776 passed, 77 failed (same 77 pre-existing master-baseline failures, 0 new failures from canon topics) ✅
  • python _tools/validate_sqlite.py93 passed, 0 failed, 2 warnings (pre-existing embeddings/prompts) ✅

Smoke on master (this commit's branch without prereqs):

Merge order

Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine, tertullian, kruger, metzger, nickelsburg, vanderkam to scholars.json). Safe to merge after #1537 is on master; the 40 scholar-id failures above become 0.

Pairs with HWGTB-P1-09 (#1576) which wires extrabiblical cross-links after this and sibling content lands.

Rollback

Revert this PR. debate-topics.json returns to 307 entries; debate_topics table row count returns to 307 on next build. No schema changes, no user.db impact.


Generated by Claude Code

Authors 10 new entries in content/meta/debate-topics.json covering
canon formation and extra-biblical literature questions. Total
debate_topics rows: 307 -> 317.
did-jude-affirm-enoch-as-scripture book_id=jude
who-are-the-nephilim book_id=genesis
why-did-western-church-exclude-apocrypha book_id=jude
what-criteria-at-hippo-carthage book_id=jude
why-does-ethiopia-have-a-different-canon book_id=jude
athanasius-festal-letter-39-significance book_id=jude
jerome-vs-augustine-on-apocrypha book_id=jude
trent-response-or-innovation book_id=jude
second-temple-literature-and-nt-theology book_id=jude
dead-sea-scrolls-and-canon-questions book_id=daniel
Each topic has the full existing debate-topics schema:
- id (snake-hyphen), title, category, book_id, chapters, passage,
question, context, positions[], synthesis, related_passages,
tags
- 3 positions per topic, every position with tradition_family,
scholar_ids[], proponents, argument, strengths, weaknesses,
key_verses[]
- synthesis written from an evangelical Protestant perspective
while presenting other positions fairly
Scholar coverage spans the existing 72 scholars plus the 8
added in HWGTB-P0-01 (athanasius, jerome, augustine, tertullian,
kruger, metzger, nickelsburg, vanderkam). Tradition families used:
evangelical (primary), critical, patristic, catholic, orthodox,
second-temple.
Editorial commitments per epic guardrails:
- Descriptive, not prescriptive on tradition status. "The
Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated
as fact; no tradition endorsed or rejected.
- Scholar diversity on every contested question. Where evangelical
and critical scholars genuinely disagree (Nephilim, Jude-Enoch
status, Second Temple influence on NT), both positions argued on
their own terms.
- Explicit rejection of conspiracy framings. Trent is treated as
both formal definition of received tradition AND reactive
hardening (most honest reading) — not "Rome added books to
control people." Ethiopian canon is treated as legitimate
ecclesial judgment — not "suppressed ancient Scripture."
- NT citation != canonicity stated explicitly (Jude / 1 Enoch).
- Named primary sources: Jerome's Prologus Galeatus, Athanasius's
39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12,
Trent Session IV, Cardinal Cajetan 1518, Article VI (1563),
Westminster Confession 1.3, Confession of Dositheos (1672),
Josephus's Against Apion, 4 Ezra 14.
Note on extrabiblical cross-link acceptance criterion
The issue lists "extrabiblical entries ... updated with
related_debate_ids pointing to these." Per the epic's explicit
architectural decision ("cross-link wire-up deferred to single
pass") and PR #1589's commitment to wire all cross-links in
HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids
is handled in #1576 alongside the other cross-link fields. This
PR ships the 10 topics; #1576 wires them to the extrabiblical
entries once the topic IDs and entries are both on master.
How verified
Full pipeline with prerequisites applied locally (#1537 scholars):
- python _tools/build_sqlite.py — debate_topics: 317 rows (OK)
- python _tools/schema_validator.py — 136776 passed, 77 failed
(same 77 pre-existing master baseline, 0 new failures from
canon topics)
- python _tools/validate_sqlite.py — 93 passed, 0 failed,
2 warnings (pre-existing embeddings/prompts)
Smoke on master (this commit's branch without prereqs):
- build succeeds: debate_topics: 317 rows
- schema_validator: 136736 passed, 117 failed (77 pre-existing +
40 expected scholar-id failures that resolve when #1537 merges)
- validate_sqlite: 93 passed, 0 failed
Merge order
Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine,
tertullian, kruger, metzger, nickelsburg, vanderkam to
scholars.json). Safe to merge after #1537 is on master; the 40
scholar-id failures above become 0.
Closes#1544
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation136736 passed, 117 failed
Build DB
DB Integrity93 passed, 0 failed

Content Pipeline — Quality & Accuracy Report

All content checks passed

Scope: 0 chapter(s) across 0 book(s)

Content Accuracy

2801 claims checked — 0 verified, 0 flagged, 0 refuted


Generated by ci_content_check.py

@github-actions

Copy link
Copy Markdown

Test Results

❌ 1 test(s) failed

PassedFailedTotal
Tests✅ 3473❌ 13474
Suites✅ 468❌ 1469

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 79.6s

@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the replacement PR above. Original was built from a pre-Tier-2 base; the replacement cherry-picks the content file onto current master with test & theme updates for the new second-temple tradition_family.

CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
* content: 10 debate topics on canon & extra-biblical questions (replaces #1592)
Replaces #1592, which was built from a pre-Tier-2 base and had to
delete everything merged in prior rounds to rebase. Cherry-picks the
single content file onto current master.
Adds 10 topics covering canon-formation and extra-biblical debates:
- did-jude-affirm-enoch-as-scripture
- who-are-the-nephilim (introduces second-temple tradition_family)
- second-temple-literature-and-nt-theology
- dead-sea-scrolls-and-canon-questions
- jerome-vs-augustine-on-apocrypha
- trent-response-or-innovation
- what-criteria-at-hippo-carthage
- why-did-western-church-exclude-apocrypha
- why-does-ethiopia-have-a-different-canon
- athanasius-festal-letter-39-significance
## Infrastructure changes
One position in 'who-are-the-nephilim' uses 'second-temple' as its
tradition_family — a new family for positions anchored in Second
Temple Judaism reception (1 Enoch Watchers tradition, Jubilees, etc.)
distinct from the rabbinic-era 'jewish' family.
Infrastructure updates to support it:
- app/__tests__/unit/debateTopicData.test.ts: added 'second-temple'
to VALID_FAMILIES
- app/src/theme/colors.ts: added 'second-temple' → #D4A373 (sand/
parchment tone evoking ancient manuscripts, distinct from the
rabbinic-era 'jewish' green)
Closes#1544. Supersedes #1592.
* fix: add orthodox to VALID_FAMILIES + color map
The debate-topics content also uses 'orthodox' as a tradition_family
for Eastern Orthodox positions. Missed in the initial pass.
- app/__tests__/unit/debateTopicData.test.ts: add 'orthodox'
- app/src/theme/colors.ts: add orthodox → #B85C5C (deeper liturgical red)
---------
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p1-07-canon-debate-topics branch April 23, 2026 20:35
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.

[HWGTB-P1-07] Content: 10 debate topics on canon & extra-biblical questions

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: 10 debate topics on canon & extra-biblical questions (#1544) - #1592

Closed
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics
Closed

content: 10 debate topics on canon & extra-biblical questions (#1544)#1592
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Authors 10 new entries in content/meta/debate-topics.json covering canon formation and extra-biblical literature debates. Total debate_topics rows: 307 → 317.

#idbook_idchapters
1did-jude-affirm-enoch-as-scripturejude1
2who-are-the-nephilimgenesis6
3why-did-western-church-exclude-apocryphajude1
4what-criteria-at-hippo-carthagejude1
5why-does-ethiopia-have-a-different-canonjude1
6athanasius-festal-letter-39-significancejude1
7jerome-vs-augustine-on-apocryphajude1
8trent-response-or-innovationjude1
9second-temple-literature-and-nt-theologyjude1
10dead-sea-scrolls-and-canon-questionsdaniel12

The DB schema requires a non-null book_id; canon-formation topics that span all of Scripture are anchored to jude as a natural touchstone (Jude's citation of 1 Enoch is the NT's clearest engagement with canon-adjacent extra-biblical literature). The DSS topic is anchored to Daniel 12 (Qumran's major apocalyptic touchstone).

Closes

Closes#1544

Per-topic shape

Each topic has the full existing debate-topics.json schema:

  • id, title, category, book_id, chapters, passage, question, context
  • positions[]3 positions per topic, each with tradition_family, scholar_ids[], proponents, argument, strengths, weaknesses, key_verses[]
  • synthesis — evangelical Protestant perspective, fair to other positions
  • related_passages, tags (hwgtb tag on all 10)

Scholar coverage

Draws on the existing 72 scholars plus the 8 added in HWGTB-P0-01 (#1537):

  • Patristic: athanasius, jerome, augustine, tertullian
  • Modern canon / Second Temple: kruger, metzger, nickelsburg, vanderkam
  • Evangelical (existing): bruce, schreiner, davids, moo, beale, longman, waltke, hess, collins, anderson

Tradition families used: evangelical (primary), critical, patristic, catholic, orthodox, second-temple.

Editorial commitments per epic guardrails

  • Descriptive, not prescriptive. "The Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated as fact; no tradition endorsed or rejected.
  • Scholar diversity on every contested question. Nephilim (angelic / Sethite / royal-dynastic), Jude–Enoch status (three distinct readings), Second Temple influence on NT (three distinct readings), canon formation (multiple legitimate traditions) — all three positions argued on their own terms.
  • Explicit rejection of conspiracy framings. Trent is treated as both formal definition of received Western tradition and reactive hardening against Reformation pressure (the historically accurate reading) — not "Rome added books to control people." Ethiopian canon is treated as legitimate ecclesial judgment — not "suppressed ancient Scripture."
  • NT citation ≠ canonicity stated explicitly in the Jude-Enoch topic; governs the Second Temple topic as well.
  • Named primary sources throughout: Jerome's Prologus Galeatus, Athanasius's 39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12, Trent Session IV, Cardinal Cajetan (1518), Article VI of the Thirty-Nine Articles (1563), Westminster Confession 1.3, Confession of Dositheos (1672), Josephus Against Apion 1.37–43, 4 Ezra 14.

Note on extrabiblical cross-link acceptance criterion

The issue's fourth acceptance criterion reads:

Extrabiblical entries from HWGTB-P1-04 updated with related_debate_ids pointing to these

Per the epic's explicit architectural decision — "Cross-link wire-up deferred to single pass. Entries in HWGTB-P1-04 ship with empty related_*_ids arrays. HWGTB-P1-09 wires them all in one coordinated pass once siblings have landed." — and PR #1589's commitment to wire all cross-links in HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids is handled in #1576 alongside the other cross-link fields. This PR ships the 10 topics with stable snake-hyphen IDs that #1576 can reference.

How I verified

Full pipeline with prerequisites applied locally (#1537 scholars, via feature/hwgtb-p0-01-scholars):

  • python _tools/build_sqlite.pydebate_topics: 317 rows
  • python _tools/schema_validator.py136776 passed, 77 failed (same 77 pre-existing master-baseline failures, 0 new failures from canon topics) ✅
  • python _tools/validate_sqlite.py93 passed, 0 failed, 2 warnings (pre-existing embeddings/prompts) ✅

Smoke on master (this commit's branch without prereqs):

Merge order

Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine, tertullian, kruger, metzger, nickelsburg, vanderkam to scholars.json). Safe to merge after #1537 is on master; the 40 scholar-id failures above become 0.

Pairs with HWGTB-P1-09 (#1576) which wires extrabiblical cross-links after this and sibling content lands.

Rollback

Revert this PR. debate-topics.json returns to 307 entries; debate_topics table row count returns to 307 on next build. No schema changes, no user.db impact.


Generated by Claude Code

Authors 10 new entries in content/meta/debate-topics.json covering
canon formation and extra-biblical literature questions. Total
debate_topics rows: 307 -> 317.
did-jude-affirm-enoch-as-scripture book_id=jude
who-are-the-nephilim book_id=genesis
why-did-western-church-exclude-apocrypha book_id=jude
what-criteria-at-hippo-carthage book_id=jude
why-does-ethiopia-have-a-different-canon book_id=jude
athanasius-festal-letter-39-significance book_id=jude
jerome-vs-augustine-on-apocrypha book_id=jude
trent-response-or-innovation book_id=jude
second-temple-literature-and-nt-theology book_id=jude
dead-sea-scrolls-and-canon-questions book_id=daniel
Each topic has the full existing debate-topics schema:
- id (snake-hyphen), title, category, book_id, chapters, passage,
question, context, positions[], synthesis, related_passages,
tags
- 3 positions per topic, every position with tradition_family,
scholar_ids[], proponents, argument, strengths, weaknesses,
key_verses[]
- synthesis written from an evangelical Protestant perspective
while presenting other positions fairly
Scholar coverage spans the existing 72 scholars plus the 8
added in HWGTB-P0-01 (athanasius, jerome, augustine, tertullian,
kruger, metzger, nickelsburg, vanderkam). Tradition families used:
evangelical (primary), critical, patristic, catholic, orthodox,
second-temple.
Editorial commitments per epic guardrails:
- Descriptive, not prescriptive on tradition status. "The
Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated
as fact; no tradition endorsed or rejected.
- Scholar diversity on every contested question. Where evangelical
and critical scholars genuinely disagree (Nephilim, Jude-Enoch
status, Second Temple influence on NT), both positions argued on
their own terms.
- Explicit rejection of conspiracy framings. Trent is treated as
both formal definition of received tradition AND reactive
hardening (most honest reading) — not "Rome added books to
control people." Ethiopian canon is treated as legitimate
ecclesial judgment — not "suppressed ancient Scripture."
- NT citation != canonicity stated explicitly (Jude / 1 Enoch).
- Named primary sources: Jerome's Prologus Galeatus, Athanasius's
39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12,
Trent Session IV, Cardinal Cajetan 1518, Article VI (1563),
Westminster Confession 1.3, Confession of Dositheos (1672),
Josephus's Against Apion, 4 Ezra 14.
Note on extrabiblical cross-link acceptance criterion
The issue lists "extrabiblical entries ... updated with
related_debate_ids pointing to these." Per the epic's explicit
architectural decision ("cross-link wire-up deferred to single
pass") and PR #1589's commitment to wire all cross-links in
HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids
is handled in #1576 alongside the other cross-link fields. This
PR ships the 10 topics; #1576 wires them to the extrabiblical
entries once the topic IDs and entries are both on master.
How verified
Full pipeline with prerequisites applied locally (#1537 scholars):
- python _tools/build_sqlite.py — debate_topics: 317 rows (OK)
- python _tools/schema_validator.py — 136776 passed, 77 failed
(same 77 pre-existing master baseline, 0 new failures from
canon topics)
- python _tools/validate_sqlite.py — 93 passed, 0 failed,
2 warnings (pre-existing embeddings/prompts)
Smoke on master (this commit's branch without prereqs):
- build succeeds: debate_topics: 317 rows
- schema_validator: 136736 passed, 117 failed (77 pre-existing +
40 expected scholar-id failures that resolve when #1537 merges)
- validate_sqlite: 93 passed, 0 failed
Merge order
Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine,
tertullian, kruger, metzger, nickelsburg, vanderkam to
scholars.json). Safe to merge after #1537 is on master; the 40
scholar-id failures above become 0.
Closes#1544
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation136736 passed, 117 failed
Build DB
DB Integrity93 passed, 0 failed

Content Pipeline — Quality & Accuracy Report

All content checks passed

Scope: 0 chapter(s) across 0 book(s)

Content Accuracy

2801 claims checked — 0 verified, 0 flagged, 0 refuted


Generated by ci_content_check.py

@github-actions

Copy link
Copy Markdown

Test Results

❌ 1 test(s) failed

PassedFailedTotal
Tests✅ 3473❌ 13474
Suites✅ 468❌ 1469

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 79.6s

@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the replacement PR above. Original was built from a pre-Tier-2 base; the replacement cherry-picks the content file onto current master with test & theme updates for the new second-temple tradition_family.

CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
* content: 10 debate topics on canon & extra-biblical questions (replaces #1592)
Replaces #1592, which was built from a pre-Tier-2 base and had to
delete everything merged in prior rounds to rebase. Cherry-picks the
single content file onto current master.
Adds 10 topics covering canon-formation and extra-biblical debates:
- did-jude-affirm-enoch-as-scripture
- who-are-the-nephilim (introduces second-temple tradition_family)
- second-temple-literature-and-nt-theology
- dead-sea-scrolls-and-canon-questions
- jerome-vs-augustine-on-apocrypha
- trent-response-or-innovation
- what-criteria-at-hippo-carthage
- why-did-western-church-exclude-apocrypha
- why-does-ethiopia-have-a-different-canon
- athanasius-festal-letter-39-significance
## Infrastructure changes
One position in 'who-are-the-nephilim' uses 'second-temple' as its
tradition_family — a new family for positions anchored in Second
Temple Judaism reception (1 Enoch Watchers tradition, Jubilees, etc.)
distinct from the rabbinic-era 'jewish' family.
Infrastructure updates to support it:
- app/__tests__/unit/debateTopicData.test.ts: added 'second-temple'
to VALID_FAMILIES
- app/src/theme/colors.ts: added 'second-temple' → #D4A373 (sand/
parchment tone evoking ancient manuscripts, distinct from the
rabbinic-era 'jewish' green)
Closes#1544. Supersedes #1592.
* fix: add orthodox to VALID_FAMILIES + color map
The debate-topics content also uses 'orthodox' as a tradition_family
for Eastern Orthodox positions. Missed in the initial pass.
- app/__tests__/unit/debateTopicData.test.ts: add 'orthodox'
- app/src/theme/colors.ts: add orthodox → #B85C5C (deeper liturgical red)
---------
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p1-07-canon-debate-topics branch April 23, 2026 20:35
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.

[HWGTB-P1-07] Content: 10 debate topics on canon & extra-biblical questions

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: 10 debate topics on canon & extra-biblical questions (#1544) - #1592

Closed
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics
Closed

content: 10 debate topics on canon & extra-biblical questions (#1544)#1592
CraigBuckmaster wants to merge 1 commit into
masterfrom
feature/hwgtb-p1-07-canon-debate-topics

Conversation

@CraigBuckmaster

Copy link
Copy Markdown
Owner

What this does

Authors 10 new entries in content/meta/debate-topics.json covering canon formation and extra-biblical literature debates. Total debate_topics rows: 307 → 317.

#idbook_idchapters
1did-jude-affirm-enoch-as-scripturejude1
2who-are-the-nephilimgenesis6
3why-did-western-church-exclude-apocryphajude1
4what-criteria-at-hippo-carthagejude1
5why-does-ethiopia-have-a-different-canonjude1
6athanasius-festal-letter-39-significancejude1
7jerome-vs-augustine-on-apocryphajude1
8trent-response-or-innovationjude1
9second-temple-literature-and-nt-theologyjude1
10dead-sea-scrolls-and-canon-questionsdaniel12

The DB schema requires a non-null book_id; canon-formation topics that span all of Scripture are anchored to jude as a natural touchstone (Jude's citation of 1 Enoch is the NT's clearest engagement with canon-adjacent extra-biblical literature). The DSS topic is anchored to Daniel 12 (Qumran's major apocalyptic touchstone).

Closes

Closes#1544

Per-topic shape

Each topic has the full existing debate-topics.json schema:

  • id, title, category, book_id, chapters, passage, question, context
  • positions[]3 positions per topic, each with tradition_family, scholar_ids[], proponents, argument, strengths, weaknesses, key_verses[]
  • synthesis — evangelical Protestant perspective, fair to other positions
  • related_passages, tags (hwgtb tag on all 10)

Scholar coverage

Draws on the existing 72 scholars plus the 8 added in HWGTB-P0-01 (#1537):

  • Patristic: athanasius, jerome, augustine, tertullian
  • Modern canon / Second Temple: kruger, metzger, nickelsburg, vanderkam
  • Evangelical (existing): bruce, schreiner, davids, moo, beale, longman, waltke, hess, collins, anderson

Tradition families used: evangelical (primary), critical, patristic, catholic, orthodox, second-temple.

Editorial commitments per epic guardrails

  • Descriptive, not prescriptive. "The Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated as fact; no tradition endorsed or rejected.
  • Scholar diversity on every contested question. Nephilim (angelic / Sethite / royal-dynastic), Jude–Enoch status (three distinct readings), Second Temple influence on NT (three distinct readings), canon formation (multiple legitimate traditions) — all three positions argued on their own terms.
  • Explicit rejection of conspiracy framings. Trent is treated as both formal definition of received Western tradition and reactive hardening against Reformation pressure (the historically accurate reading) — not "Rome added books to control people." Ethiopian canon is treated as legitimate ecclesial judgment — not "suppressed ancient Scripture."
  • NT citation ≠ canonicity stated explicitly in the Jude-Enoch topic; governs the Second Temple topic as well.
  • Named primary sources throughout: Jerome's Prologus Galeatus, Athanasius's 39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12, Trent Session IV, Cardinal Cajetan (1518), Article VI of the Thirty-Nine Articles (1563), Westminster Confession 1.3, Confession of Dositheos (1672), Josephus Against Apion 1.37–43, 4 Ezra 14.

Note on extrabiblical cross-link acceptance criterion

The issue's fourth acceptance criterion reads:

Extrabiblical entries from HWGTB-P1-04 updated with related_debate_ids pointing to these

Per the epic's explicit architectural decision — "Cross-link wire-up deferred to single pass. Entries in HWGTB-P1-04 ship with empty related_*_ids arrays. HWGTB-P1-09 wires them all in one coordinated pass once siblings have landed." — and PR #1589's commitment to wire all cross-links in HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids is handled in #1576 alongside the other cross-link fields. This PR ships the 10 topics with stable snake-hyphen IDs that #1576 can reference.

How I verified

Full pipeline with prerequisites applied locally (#1537 scholars, via feature/hwgtb-p0-01-scholars):

  • python _tools/build_sqlite.pydebate_topics: 317 rows
  • python _tools/schema_validator.py136776 passed, 77 failed (same 77 pre-existing master-baseline failures, 0 new failures from canon topics) ✅
  • python _tools/validate_sqlite.py93 passed, 0 failed, 2 warnings (pre-existing embeddings/prompts) ✅

Smoke on master (this commit's branch without prereqs):

Merge order

Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine, tertullian, kruger, metzger, nickelsburg, vanderkam to scholars.json). Safe to merge after #1537 is on master; the 40 scholar-id failures above become 0.

Pairs with HWGTB-P1-09 (#1576) which wires extrabiblical cross-links after this and sibling content lands.

Rollback

Revert this PR. debate-topics.json returns to 307 entries; debate_topics table row count returns to 307 on next build. No schema changes, no user.db impact.


Generated by Claude Code

Authors 10 new entries in content/meta/debate-topics.json covering
canon formation and extra-biblical literature questions. Total
debate_topics rows: 307 -> 317.
did-jude-affirm-enoch-as-scripture book_id=jude
who-are-the-nephilim book_id=genesis
why-did-western-church-exclude-apocrypha book_id=jude
what-criteria-at-hippo-carthage book_id=jude
why-does-ethiopia-have-a-different-canon book_id=jude
athanasius-festal-letter-39-significance book_id=jude
jerome-vs-augustine-on-apocrypha book_id=jude
trent-response-or-innovation book_id=jude
second-temple-literature-and-nt-theology book_id=jude
dead-sea-scrolls-and-canon-questions book_id=daniel
Each topic has the full existing debate-topics schema:
- id (snake-hyphen), title, category, book_id, chapters, passage,
question, context, positions[], synthesis, related_passages,
tags
- 3 positions per topic, every position with tradition_family,
scholar_ids[], proponents, argument, strengths, weaknesses,
key_verses[]
- synthesis written from an evangelical Protestant perspective
while presenting other positions fairly
Scholar coverage spans the existing 72 scholars plus the 8
added in HWGTB-P0-01 (athanasius, jerome, augustine, tertullian,
kruger, metzger, nickelsburg, vanderkam). Tradition families used:
evangelical (primary), critical, patristic, catholic, orthodox,
second-temple.
Editorial commitments per epic guardrails:
- Descriptive, not prescriptive on tradition status. "The
Ethiopian Tewahedo Church includes 1 Enoch in its canon" stated
as fact; no tradition endorsed or rejected.
- Scholar diversity on every contested question. Where evangelical
and critical scholars genuinely disagree (Nephilim, Jude-Enoch
status, Second Temple influence on NT), both positions argued on
their own terms.
- Explicit rejection of conspiracy framings. Trent is treated as
both formal definition of received tradition AND reactive
hardening (most honest reading) — not "Rome added books to
control people." Ethiopian canon is treated as legitimate
ecclesial judgment — not "suppressed ancient Scripture."
- NT citation != canonicity stated explicitly (Jude / 1 Enoch).
- Named primary sources: Jerome's Prologus Galeatus, Athanasius's
39th Festal Letter, Augustine's De Doctrina Christiana 2.8.12,
Trent Session IV, Cardinal Cajetan 1518, Article VI (1563),
Westminster Confession 1.3, Confession of Dositheos (1672),
Josephus's Against Apion, 4 Ezra 14.
Note on extrabiblical cross-link acceptance criterion
The issue lists "extrabiblical entries ... updated with
related_debate_ids pointing to these." Per the epic's explicit
architectural decision ("cross-link wire-up deferred to single
pass") and PR #1589's commitment to wire all cross-links in
HWGTB-P1-09 (#1576), updating extrabiblical.related_debate_ids
is handled in #1576 alongside the other cross-link fields. This
PR ships the 10 topics; #1576 wires them to the extrabiblical
entries once the topic IDs and entries are both on master.
How verified
Full pipeline with prerequisites applied locally (#1537 scholars):
- python _tools/build_sqlite.py — debate_topics: 317 rows (OK)
- python _tools/schema_validator.py — 136776 passed, 77 failed
(same 77 pre-existing master baseline, 0 new failures from
canon topics)
- python _tools/validate_sqlite.py — 93 passed, 0 failed,
2 warnings (pre-existing embeddings/prompts)
Smoke on master (this commit's branch without prereqs):
- build succeeds: debate_topics: 317 rows
- schema_validator: 136736 passed, 117 failed (77 pre-existing +
40 expected scholar-id failures that resolve when #1537 merges)
- validate_sqlite: 93 passed, 0 failed
Merge order
Depends on #1537 (PR #1583 — adds athanasius, jerome, augustine,
tertullian, kruger, metzger, nickelsburg, vanderkam to
scholars.json). Safe to merge after #1537 is on master; the 40
scholar-id failures above become 0.
Closes#1544
@github-actions

Copy link
Copy Markdown

Content Pipeline Results

✅ All pipeline checks passed

StepStatusDetails
Schema Validation136736 passed, 117 failed
Build DB
DB Integrity93 passed, 0 failed

Content Pipeline — Quality & Accuracy Report

All content checks passed

Scope: 0 chapter(s) across 0 book(s)

Content Accuracy

2801 claims checked — 0 verified, 0 flagged, 0 refuted


Generated by ci_content_check.py

@github-actions

Copy link
Copy Markdown

Test Results

❌ 1 test(s) failed

PassedFailedTotal
Tests✅ 3473❌ 13474
Suites✅ 468❌ 1469

Coverage

StatementsBranchesFunctionsLines

⏱️ Duration: 79.6s

@CraigBuckmaster

Copy link
Copy Markdown
OwnerAuthor

Superseded by the replacement PR above. Original was built from a pre-Tier-2 base; the replacement cherry-picks the content file onto current master with test & theme updates for the new second-temple tradition_family.

CraigBuckmaster added a commit that referenced this pull request Apr 23, 2026
* content: 10 debate topics on canon & extra-biblical questions (replaces #1592)
Replaces #1592, which was built from a pre-Tier-2 base and had to
delete everything merged in prior rounds to rebase. Cherry-picks the
single content file onto current master.
Adds 10 topics covering canon-formation and extra-biblical debates:
- did-jude-affirm-enoch-as-scripture
- who-are-the-nephilim (introduces second-temple tradition_family)
- second-temple-literature-and-nt-theology
- dead-sea-scrolls-and-canon-questions
- jerome-vs-augustine-on-apocrypha
- trent-response-or-innovation
- what-criteria-at-hippo-carthage
- why-did-western-church-exclude-apocrypha
- why-does-ethiopia-have-a-different-canon
- athanasius-festal-letter-39-significance
## Infrastructure changes
One position in 'who-are-the-nephilim' uses 'second-temple' as its
tradition_family — a new family for positions anchored in Second
Temple Judaism reception (1 Enoch Watchers tradition, Jubilees, etc.)
distinct from the rabbinic-era 'jewish' family.
Infrastructure updates to support it:
- app/__tests__/unit/debateTopicData.test.ts: added 'second-temple'
to VALID_FAMILIES
- app/src/theme/colors.ts: added 'second-temple' → #D4A373 (sand/
parchment tone evoking ancient manuscripts, distinct from the
rabbinic-era 'jewish' green)
Closes#1544. Supersedes #1592.
* fix: add orthodox to VALID_FAMILIES + color map
The debate-topics content also uses 'orthodox' as a tradition_family
for Eastern Orthodox positions. Missed in the initial pass.
- app/__tests__/unit/debateTopicData.test.ts: add 'orthodox'
- app/src/theme/colors.ts: add orthodox → #B85C5C (deeper liturgical red)
---------
Co-authored-by: Claude (for Craig) <claude@anthropic.com>
@CraigBuckmaster
CraigBuckmaster deleted the feature/hwgtb-p1-07-canon-debate-topics branch April 23, 2026 20:35
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.

[HWGTB-P1-07] Content: 10 debate topics on canon & extra-biblical questions

2 participants

@CraigBuckmaster@claude