About This Site & AI Transparency

This is a personal Bible study reference tool. AI was used extensively to build it. This page documents every workflow, every external data source, and the exact prompts given to AI agents — so you can judge for yourself what to trust and what to verify.

Overview

The historic documents, Bible translations, commentaries, and lexicons on this site are all public-domain texts fetched verbatim from their upstream sources. AI did not write them and did not edit them. What AI did do is help build supplemental study layers on top of those sources — translations, book studies, connection-tagging, site code — which are documented in full below.

There are honest disagreements about AI use in biblical scholarship. Some concerns are well-founded: AI models can hallucinate citations, confuse theological traditions, or produce confident-sounding errors. Others are more general: that machine-generated content displaces human scholarship.

This site's position is pragmatic. One person building a comprehensive study tool alone cannot hand-write 9,380 encyclopedia articles, 141 library documents, or commentary notes on every verse of the Bible. The historic scholarship exists and is in the public domain. The AI's role here is to surface, connect, and structure that scholarship — not to replace it.

Where AI was used to generate original analysis (book study language notes, translation choices, echo connections), the prompts are published below in full. You can read exactly what was asked and judge the quality yourself. Source badges throughout the site label AI-generated content with AI-assisted · details and external historic sources with Barnes Notes · Public Domain.

What AI Did Not Write

The following content is verbatim text from public-domain or openly-licensed sources. AI did not write, edit, paraphrase, or summarize any of it.

  • King James Version (1769)
  • Berean Standard Bible
  • World English Bible (WEB / WEBBE)
  • ASV, YLT, DBY, GNV, AKJV
  • Douay-Rheims, WEB-CE, Brenton's LXX
  • Matthew Henry Concise Commentary (1706)
  • Barnes' Notes on the Bible (1832–1885)
  • Jamieson, Fausset & Brown (1871)
  • Adam Clarke's Commentary (1810–1826)
  • Calvin's Commentaries (1540–1564)
  • Ellicott's Commentary (1878–1884)
  • Robertson's Word Pictures NT (1930–1933)
  • Wesley's Explanatory Notes (1765)
  • Strong's Hebrew & Greek Lexicons
  • Brown-Driver-Briggs Hebrew Lexicon
  • Thayer's Greek Lexicon (1889)
  • Gesenius' Hebrew Lexicon (1857)
  • Abbott-Smith Greek Lexicon (1922)
  • Easton's Bible Dictionary (1897)
  • Smith's Bible Dictionary (1884)
  • ISBE Encyclopedia (1915, 9,380 articles)
  • Nave's Topical Bible (1896)
  • Spurgeon's Morning & Evening (1865)
  • All 141 library documents
  • OpenBible cross-references (TSK, CC BY 4.0)
  • SBLGNT Greek NT morphology (CC BY 4.0)
  • OpenScriptures Hebrew OT morphology (CC BY 4.0)

External Data Sources

Every external source is documented in data/SOURCES.md in the repository. The table below is a reader-friendly summary. All commentaries, lexicons, and most documents are pre-1928 and fully in the public domain.

Source Author / Year License Upstream
Bible Texts
King James VersionMultiple translators, 1611/1769Public domainDirect
Berean Standard BibleBerean Bible, 2022Personal/non-commercial useberean.bible
World English Bible (WEB / WEBBE)Rainbow Missions, 2020Public domain (CC0)worldenglish.bible
American Standard Version1901Public domainDirect
Young's Literal TranslationRobert Young, 1898Public domainwldeh/bible-api
Darby TranslationJ.N. Darby, 1890Public domainwldeh/bible-api
Geneva Bible (1599)1599Public domainwldeh/bible-api
AKJVMichael EngelbritePublic domainwldeh/bible-api
Douay-Rheims 18991899Public domainebible.org
WEB Catholic EditionCC0CC0ebible.org
KJV with Apocrypha1611/1769Public domainebible.org
Brenton's English LXXL.C.L. Brenton, 1851Public domainebible.org
Commentaries
Matthew Henry Concise CommentaryMatthew Henry, 1706Public domainCrossWire SWORD
Barnes' Notes on the BibleAlbert Barnes, 1832–1885Public domainCrossWire SWORD
Jamieson, Fausset & BrownJamieson, Fausset & Brown, 1871Public domainCrossWire SWORD
Adam Clarke's CommentaryAdam Clarke, 1810–1826Public domainCrossWire SWORD
Calvin's CommentariesJohn Calvin, 1540–1564Public domainCrossWire SWORD
Ellicott's CommentaryC.J. Ellicott (ed.), 1878–1884Public domainStudyLight.org
Robertson's Word Pictures NTA.T. Robertson, 1930–1933Public domainCrossWire SWORD
Wesley's Explanatory NotesJohn Wesley, 1765Public domainCrossWire SWORD
Interlinear & Morphology
SBLGNT with Morphological Taggingmorphgnt projectCC BY 4.0morphgnt/sblgnt
OpenScriptures Morphological Hebrew Bible (WLC)openscriptures projectCC BY 4.0openscriptures/morphhb
Lexicons
Strong's Greek Lexicon (Dodson revision)James Strong; John DodsonCC0openscriptures/strongs
Strong's Hebrew Lexicon (BDB)Brown-Driver-Briggs, 1906Public domainopenscriptures/strongs
Thayer's Greek LexiconJoseph H. Thayer, 1889Public domainCrossWire SWORD
Gesenius' Hebrew-Chaldee Lexicon (Tregelles tr.)Wilhelm Gesenius; S.P. Tregelles (tr.), 1857Public domainarchive.org
Abbott-Smith Manual Greek LexiconG.H. Abbott-Smith, 1922Public domainCCEL
Dictionaries & Reference
Int'l Standard Bible Encyclopaedia (9,380 articles)James Orr (ed.), 1915Public domainCrossWire SWORD
Easton's Bible DictionaryM.G. Easton, 1897Public domainCrossWire SWORD
Smith's Bible DictionaryWilliam Smith, 1884Public domainCrossWire SWORD
Hitchcock's Bible Names DictionaryRoswell D. HitchcockPublic domainDirect
Topical & Devotional
Nave's Topical BibleOrville J. Nave, 1896Public domainopenscriptures/nave
Spurgeon's Morning and EveningC.H. Spurgeon, 1865Public domainCCEL
Library Documents (141 texts)
Patristic writings (Clement, Ignatius, Didache, Polycarp, Athenagoras, Theophilus, Irenaeus, Tertullian, Origen, Augustine, Chrysostom, Athanasius, etc.)1st–5th centuryPublic domainWikisource / CCEL
Reformation-era works (Tyndale, Zwingli, Bullinger, Cranmer, Luther)1525–1577Public domain / CC0EEBO-TCP (CC0), archive.org
Reformed confessions (Apostles', Nicene, Athanasian, Augsburg, Belgic, Canons of Dort, Heidelberg, Westminster, etc.)325–1689Public domainWikisource / Gutenberg
Papal encyclicals & Vatican documents (11 documents)Leo XIII–Benedict XVI, 1879–2007Freely available from Holy Seevatican.va
Liturgical texts (Book of Common Prayer 1662, Apostolic Constitutions c. 380)380–1662Public domainWikisource
Apologetics (James Orr, Theophilus of Antioch)180 / 1893Public domainCCEL / Wikisource
Medieval (Bonaventure, Itinerarium Mentis in Deum, 1259)Bonaventure; G. Boas (tr.), 1953Public domain per CCELCCEL
Cross-References & Geography
OpenBible Cross-References (Treasury of Scripture Knowledge)OpenBible.infoCC BY 4.0openbible.info
Biblical Geography DataOpenBible.infoPublic domainopenbible.info

AI-Assisted Workflows

The following features were produced using Claude (Anthropic) as an AI coding and generation assistant. In each case, the AI agent was given specific instructions (the prompts below), generated output as static Python scripts or JSON data, and that output was reviewed by the site owner before being committed.

Modern Kingdom Translation (MKT)
Three-tier English Bible translation from Hebrew & Greek

An agent was given the morphological interlinear data (SBLGNT + WLC), a 5,523-entry Greek glossary, and a 8,674-entry Hebrew glossary, then asked to write static Python scripts that encode translation choices as hardcoded dictionaries. No API calls are made during translation. Each script covers 1–6 chapters and encodes three tiers: Literal (source syntax preserved), Mediating (natural English flow), and Thought (meaning-driven).

Contested terms (e.g. the Hebrew chesed, Greek pistis, dikaiosynē) are documented in each script's header docstring with explicit rendering decisions.

data/translation/draft/literal|mediating|thought/{book}.json
Model: claude-sonnet-4-6 · Overseen by: David Seis · 2026
Book Study Notes (BS)
Key vocabulary, language notes, reception, reading guide — per book

An agent was given the interlinear data, author-frequency statistics, and the 13,000+ entry glossary, then asked to produce four fields for each of the 66 canonical books: (1) 12–18 key vocabulary entries with theological significance notes that go beyond dictionary glosses, (2) original-language observations specific to that book, (3) a survey of the book's reception in church history (patristic → Reformation → modern), and (4) practical reading guidance.

The agent explicitly could not reproduce content already present in data/books/introductions/{book}.json, which it was required to read first.

data/workshop/book-study/{book}.json
Model: claude-sonnet-4-6 · Overseen by: David Seis · 2026
OT→NT Echo & Parallel Layer
Fulfillment, typology, shadow, allusion, and direct-quote tagging

Agents were given verse-by-verse interlinear data and asked to identify and annotate five types of OT→NT connections: fulfillment (prophecy realized), type (OT pattern prefigures NT reality), shadow (OT narrative foreshadows NT doctrine), allusion (NT literary/theological reference), and quote (direct quotation). Each connection includes a note explaining the theological relationship.

data/echoes/{book}.json
Model: claude-sonnet-4-6 · Overseen by: David Seis · 2026
Synthesis Commentary
Aggregated verse notes drawing on multiple public-domain commentaries

For verses where multiple historic commentators agree, an agent was asked to synthesize the convergent scholarly consensus into a single note, citing which commentators contributed. For verses where commentators disagree significantly, the synthesis notes the disagreement rather than smoothing it over. All synthesis commentary is flagged with an AI badge in the UI.

data/commentary/cow-synthesis/{book}/{ch}.json · data/synthesis/{book}/{ch}.json
Model: claude-sonnet-4-6 · Overseen by: David Seis · 2026
Christological & Contextual Commentary (ZC)
Specialized commentary patches for Christ-focus, historical context, and original language

The Zebra Critical workflow produced three layers of supplemental commentary: Christ-focused notes tracing each passage's connection to Christ, historical context notes (Second Temple period, Greco-Roman world, intertextual background), and original language notes highlighting what the Hebrew or Greek reveals that English translations miss. These are stored separately from the historic commentaries.

data/commentary/mkt-christ|mkt-context|mkt-original/{book}/{ch}.json
Model: claude-sonnet-4-6 · Overseen by: David Seis · 2026
Library Quality Passes
Formatting, section structure, and gap-filling for 141 historic documents

After fetching the 141 library documents from Wikisource, CCEL, EEBO-TCP, archive.org, and vatican.va, agents audited each document for hollow sections (heading without content), formatting inconsistencies, and missing metadata. Where sections were clearly incomplete fetches, agents re-sourced the missing text from the upstream location rather than generating it. No original text was composed.

data/library/html/{doc}.html · data/library/docs/{doc}.json
Model: claude-sonnet-4-6 · Overseen by: David Seis · 2026
Timeline & Map Descriptions
Event overviews, figure bios, place significance notes for the historical timeline

Agents were asked to write narrative descriptions for biblical timeline events, biographical summaries for key figures, and geographical significance notes for biblical places — drawing on the public-domain scholarly consensus documented in the historic commentaries and encyclopedias already in the data set. Timeline dates and event ordering were cross-checked against ISBE and Smith's.

data/timeline/events.json · data/timeline/detail.json
Model: claude-sonnet-4-6 · Overseen by: David Seis · 2026
Site Code & UI (Loop Agent)
All JavaScript, HTML, and CSS for the site interface

The entire site codebase — navigation, reader, word study, verse study, translation workshop, maps, timeline, library browser, and all other UI features — was built with Claude Code (Claude acting as a coding assistant in a local terminal session). The agent worked from a TODO list, read the existing code, implemented changes, and the site owner reviewed every diff before committing. No code was deployed without human review.

src/pages/**/*.astro · assets/js/*.js · assets/css/*.css
Model: claude-sonnet-4-6 · Overseen by: David Seis · 2026

The Exact Agent Prompts

These are the literal instructions given to AI agents. They are published here in full so readers can understand exactly what the AI was asked to do and evaluate whether the constraints were appropriate.

MKT Translation Agent Prompt — the prompt given to each translation agent session
File: docs/agents/mkt-translation-agent.md · Used for: Bible translation (MKT) — copy-pasted to start each agent session
# MKT Translation Agent Prompt

Copy and paste this entire prompt to a new agent session to claim and complete one work unit.

---

Read the following files **in full** before doing anything else — in this order, no skipping:

1. `TRANSLATION_AGENT_GUIDE.md`
2. `MKT_STATIC_SCRIPT_GUIDE.md`
3. `MKT_PROGRESS.md`

You are working on the Modern Kingdom Translation (MKT) project — a three-tier English Bible
translation (Literal / Mediating / Thought) produced directly from Hebrew and Greek source texts.
All work is written as static Python scripts containing hardcoded translation dictionaries; no API
calls are made during the translation step.

---

## Step 1 — Claim a work unit

Open `MKT_PROGRESS.md` and read the **Work Queue** table at the bottom.

Find the first row whose Status is `not started`. Immediately edit that row's Status to
`in-progress` and save the file — this is your lock. Do this **before** any other work.

After saving, re-read the file to confirm your claim is still there. If another agent
overwrote your claim (the row now shows a different status you didn't write), move on to
the next `not started` row and repeat.

If every row is `in-progress` or `complete`, stop and report:
**"No available work units — all queue entries are claimed or complete."**

Your claimed row gives you: the book, chapter range, script filename, and verse count.

---

## Step 2 — Study the source material

Before writing a single verse, read:

- `data/interlinear/{book}.json` — source tokens for your claimed chapters
- The most recently completed script(s) for the same book (check `MKT_PROGRESS.md`
  Script reference table) — carries forward tone, contested-term decisions, and
  capitalisation conventions
- `data/translation/draft/literal/{book}.json` — confirm which chapters already have
  content so you do not overwrite them

---

## Step 3 — Word count constraint

Your script covers **only the chapter range in your claimed work queue row**.
Do not expand beyond it. Units are pre-sized to ≤ 6 chapters / ≤ 250 verses.

If you run long mid-book, finish the current chapter cleanly and stop. Update the work
queue row to show the chapters actually completed before marking it `complete`.

---

## Step 4 — Write the script

Follow `MKT_STATIC_SCRIPT_GUIDE.md` exactly. The required structure is:

1. **Header docstring** — book name, chapter range, run command, every contested-term
   decision documented
2. **Boilerplate** — `load` / `save` / `merge_tier` helpers (copy verbatim from the guide)
3. **Translation dictionary** — `BOOKNAME = { "ch": { "v": { "L": "...", "M": "...",
   "T": "..." } } }`
4. **`main()`** — iterates the three tiers, calls `merge_tier`, then `save`

Translation principles from `TRANSLATION_AGENT_GUIDE.md` Section 5 are non-negotiable.
For every term in Section 6 (contested terms), make an explicit rendering choice in all
three tiers and document it in the header.

---

## Step 5 — Run the script

  python3 scripts/{script_name}.py

Verify it exits cleanly and prints the expected `wrote ...` lines. Spot-check three verses
spread across the range by reading `data/translation/draft/literal/{book}.json` directly.
Confirm real translation prose, not word salad.

---

## Step 6 — Update the tracker

Edit `MKT_PROGRESS.md`:

1. **Work Queue table** — update your row's Status to `complete`
2. **Book row** in the OT/NT table — update Chs Done, Verses Done, and Status string
3. **Summary table** — recalculate Partial (or Complete) chapters and verses
4. **`Last updated:`** — set to today's date
5. **Script reference table** — add your script name and chapter coverage

---

## Key facts

- Chapter and verse keys in all JSON files are **strings** ("1", not 1)
- All glossary entries are still `draft` — the primary gloss is a proposal, not a confirmed
  decision; you may deviate when context requires, but document it
- The three tiers are distinct: L = source syntax preserved, M = natural English with
  accurate glosses, T = meaning-driven with interpretive surface
- T should add genuine value over M — if they read the same, rewrite T
- `merge_tier` never overwrites existing content — safe to run against a partially-complete file
Book Study Agent Prompt — the prompt given to each book study agent session
File: docs/agents/book-study-agent.md · Used for: Book Study (BS) — one book per session, 66 total
# Book Study Agent Prompt

This prompt runs in a loop — each session claims one book, generates its supplemental data,
runs the script, and updates the tracker. Each run is fully self-contained.

---

Read the following files **in full** before doing anything else — in this order, no skipping:

1. `BS_AGENT_GUIDE.md`
2. `BS_SCRIPT_GUIDE.md`
3. `BS_PROGRESS.md`

---

## Step 1 — Find and claim a work unit

### 1a. Find the first unclaimed book

Scan the `BS_PROGRESS.md` table. Find the first row where **Status** is `not started`.
Evaluate stale in-progress claims using a 2-hour staleness rule:

| Status | Action |
|--------|--------|
| `not started` | Candidate — proceed to 1b |
| `in-progress @ <timestamp>` where timestamp < 2 hours old | Skip — another agent is working this book |
| `in-progress @ <timestamp>` where timestamp ≥ 2 hours old | Candidate — treat as abandoned |
| `complete` | Skip |

### 1b. Verify the output file does not already exist

  import os
  book_id = 'romans'
  path = f'data/workshop/book-study/{book_id}.json'
  print('exists:', os.path.exists(path))

If the file exists and has all four required fields, the book is already complete.
Update its Status to `complete` in the tracker and move to the next candidate.

### 1c. Claim it

Set the row's Status to `in-progress @ <timestamp>` and save `BS_PROGRESS.md`.
Re-read the file to confirm the save took effect.

---

## Step 2 — Study the source material

Read these files for your claimed book:

1. `data/books/introductions/{bookId}.json` — **read this carefully**. Do not reproduce
   any of this in your script output. Your job is to add what this file lacks.
2. `data/literary/genre.json` — find the entry for your book. Read `literary_note`
   and `structure_note`. Use this to inform `language_notes`.
3. `data/cultural/book-context.json` — find the entry for your book. Use this to
   inform `reception` and `reading_guide`.
4. Run the vocabulary finder from `BS_AGENT_GUIDE.md` Section 5 to identify
   characteristic vocabulary candidates. Print the top 25 and decide which 12–18 to
   include based on theological weight in this specific book.

---

## Step 3 — Write the script

Follow `BS_SCRIPT_GUIDE.md` exactly. Required structure:

1. **Header docstring** — book name, book_id, lang, run command, author group used,
   any non-obvious decisions
2. **Boilerplate** — copy `load_book_study`, `save_book_study`, `merge_book_study`
   verbatim from the guide
3. **Content dictionary** — `BOOK_STUDY = { "bookId": ..., "key_vocabulary": [...],
   "language_notes": "...", "reception": "...", "reading_guide": "..." }`
4. **`main()`** — loads existing, calls `merge_book_study`, saves

Content principles from `BS_AGENT_GUIDE.md` Section 3 are non-negotiable.

---

## Step 4 — Run and verify

  python3 scripts/build-book-study-{bookId}.py

All assertions must pass. Spot-check:
- Read two or three `significance` notes — do they add real interpretive value?
- Read the first paragraph of `language_notes` — is it specific to this book?

If anything falls short, edit the script content dictionary in place, re-run, re-verify.

---

## Step 5 — Update the tracker

Edit `BS_PROGRESS.md` in a **single save**:
1. Set your book's Status to `complete`
2. Mark the four field columns with ✓
3. Update the `Last updated:` line to today's date
4. Increment the relevant counter in the Summary section

---

## Key facts

- **Do not reproduce** content from `data/books/introductions/{bookId}.json`
- `merge_book_study()` never overwrites existing non-empty fields — safe to re-run
- HTML in text fields uses `<p>`, `<strong>`, `<em>` only — no headings or lists
- Small epistles (Philemon, 2–3 John, Jude, Obadiah) may have 8–10 vocab entries
- If context runs short mid-book, save what you have (partial is better than nothing)
Loop Agent Prompt — the prompt given to general UI/code maintenance agents
File: docs/agents/loop-agent.md · Used for: all ongoing UI bug fixes and feature work via the docs/TODO.md queue
## Before doing anything else, read these files in full, in order:

1. `CLAUDE.md` — project constraints, comment requirements, what not to do
2. `docs/site-overview.md` — architecture, module map, CSS system, localStorage keys
3. `CODING_RULES.md` — hard syntax and pattern rules for this codebase
4. `CODING_PHILOSOPHY.md` — how to think about changes, scope discipline

Do not skip any of these. They are short and will save you from expensive mistakes.

---

## Step 1 — Pick 2–3 work items from `docs/TODO.md`

Read `docs/TODO.md` in full first. Then apply these filters:

### Skip entirely:
- The entire **Z4–Z8 MKT Commentary Suite** section
- The entire **Phase Z — Modern Kingdom Translation** section
- The entire **Phase O — Long-term / Deferred** section
- Any row marked `*(claimed — see docs/inprogress-*.md)*`
- Any item that contains `DATA BLOCKED`
- Any item whose Fix says `"Agents generate …"` — those are data-generation tasks

### Prefer:
- **HIGH** priority items before MEDIUM, MEDIUM before LOW
- Items whose **Fix** section names specific files and functions
- Items touching only 1–3 files
- Items where all prerequisite infrastructure items are already checked off

---

## Step 2 — Verify the items are real work

For each item you've selected, before claiming it:
1. Locate the file and function named in the **Problem** section
2. Confirm the described issue actually exists in the current code
3. If the item was already fixed silently, mark it [x] and pick a different item

---

## Step 3 — Claim the items

In `docs/TODO.md`, append ` *(agent: in-progress)*` to each item's heading line.
Save the file. Re-read it to confirm the change landed.

---

## Step 4 — Study the relevant files

For each claimed item, read:
- The file(s) named in the **Problem** section
- Any sibling functions that the Fix will affect
- The corresponding `.css` file if CSS changes are part of the Fix
- `docs/site-overview.md` if you need architectural context

Read enough to understand **why** the current code works before changing it.

---

## Step 5 — Implement

**Before writing a single line of code:**
- Re-read `CODING_RULES.md` Section 3 (comment requirements) and Section 1 (JS syntax)
- Confirm you know which CSS file to edit
- Confirm you know which module to import from

**While implementing:**
- Add `// INTENT:` / `// CHANGE?` / `// VERIFY:` comments per CLAUDE.md — required
- Use `var` not `let`/`const` — this codebase uses `var` consistently throughout
- Use `'use strict';` at the top of any new JS file
- Do not touch code outside the Fix checklist

---

## Step 6 — Verify the work

For JS changes:
- Trace through the function from call site to output
- Check that every code path (happy path + error/missing-data path) is handled
- Confirm any new localStorage reads/writes use the right key
- Confirm any new fetch() calls have a .catch() handler

For CSS changes:
- Confirm selector specificity won't be overridden by existing rules
- Confirm dark mode is handled (`[data-theme="dark"]` override)
- Confirm `var(--color-*)` is used instead of hardcoded hex

---

## Step 7 — Mark complete and summarize

For each completed item in `docs/TODO.md`:
1. Change [ ] to [x] on every sub-item you completed
2. Remove the *(agent: in-progress)* suffix from the heading
3. If partially complete, note what remains

After updating the file, write a brief summary: what changed, which files were modified,
any edge cases or caveats. Move completed tasks to docs/todo-archive.md.

---

## Key facts about this codebase

| Thing | Where it lives |
|---|---|
| Path constants (DATA_ROOT, READER_URL, etc.) | `assets/js/core.js` |
| Bible version state | `localStorage['bsw_version']`, getVersion() / setVersion() in core.js |
| All fetch caches | Module-level var in each feature module |
| Dark mode | `[data-theme="dark"]` attribute on body, toggled by storage.js |
| Reference link wiring | wireRefLinks() in wire.js — called after any DOM insertion |
| Scripture reference format | <a class="ref" data-ref="Book Ch:V">display text</a> |
| localStorage key prefix | bsw_ — always |
| CSS variable root | assets/css/style.css :root {} block |
| Per-feature CSS | assets/css/{feature}.css — one per feature module |
| Service worker cache | sw.js — APP_CACHE_V bump required on every code deploy |
Book Study Guide (excerpt) — the reference document all BS agents read before writing
File: docs/agents/book-study-agent.md (excerpt; full guide pending recovery) · Defines quality standards for key vocabulary, language notes, reception, and reading guide
## What the Book Study adds (summary of BS_AGENT_GUIDE.md)

### key_vocabulary (12–18 entries per book)
The most characteristic vocabulary of the book, selected by two criteria:
1. Author-distinctive words — Strong's codes where the `peak` author matches this book's
   author group in author-frequency data
2. Theologically significant within this book — words that carry interpretive weight here
   specifically

Each entry includes a `significance` note: "2–3 sentences. WHY this word matters in this
specific book — not a generic definition. The theological/literary/rhetorical load it
carries here, what its semantic range implies that English loses, and how understanding
the original changes interpretation."

Quality bar: "Paul uses this 33× in Romans (his highest density anywhere) always in the
forensic register — God's declarative act, not a moral quality the believer develops" is
the target. "This word means X" is not enough.

### language_notes (400–700 words, HTML)
3–5 paragraphs on what the original language specifically reveals in this book.
Not generic grammar — observations about THIS book.

For NT Greek books:
- Characteristic aspect choices (e.g., John's use of perfect tense for abiding states)
- Particle patterns and what they reveal about argument structure
- Key Greek idioms or constructions opaque in English
- Genre-specific language features

For OT Hebrew books:
- Root-play and wordplay that disappears in English
- Binyan choices that signal theological meaning
- Poetic structure if applicable
- Narrative grammar — waw-consecutive chains, fronting for emphasis

### reception (300–400 words, HTML)
A concise survey of how this book has been read through church history.
One paragraph per major tradition:
- Patristic — which fathers engaged it most and their signature interpretive moves
- Medieval — notable allegorical or scholastic readings if relevant
- Reformation — Luther, Calvin, or Zwingli if they wrote on it; the interpretive shift
- Modern — the one or two critical debates that define contemporary scholarship

A short paragraph that illuminates is better than a list of names.

### reading_guide (200–300 words, HTML)
- What to watch for as you read verse by verse
- The single most important thing to understand before starting
- Common misreadings to avoid (with a sentence on why they happen)
- Where to start if dipping in rather than reading sequentially

### What NOT to do
- Do not reproduce content from data/books/introductions/{bookId}.json
- Do not write significance notes that just restate the dictionary gloss
- Do not add language_notes that are generic ("Greek has cases")
- Do not write reception that is just a list of names without interpretive content

The Citation & Provenance System

Every piece of data on this site is mapped to its source in data/provenance.json. Pages that render data from AI-assisted sources display a AI-assisted · details badge. Pages that render verbatim public-domain scholarship display a Barnes Notes · 1832–1885 · Public Domain badge.

An ongoing looping process (docs/agents/provenance-loop.md) progressively adds a "_source" field to individual JSON data files, prioritizing AI-generated content first. As this work proceeds, more of the raw data files will carry inline source attribution in addition to the UI badges.

If you find a specific piece of content you believe is inaccurate, misleading, or incorrectly attributed, the source badge will tell you what category of content it is. For AI-generated content (language notes, translation choices, echo connections), the prompts above document exactly what constraints were in place. For historic commentaries, the original public-domain text is authoritative.

The full repository — including all data files, build tooling, data validators, and the agent prompts and loop procedures under docs/ — is publicly available:

github.com/seriousd6/Seriousd6.github.io