Commit Graph

769 Commits

Author SHA1 Message Date
kennethreitz 4b1ccdd22c Update tests for Strong's Concordance (replaces old concordance)
- Replace TestConcordanceRoutes with TestStrongsRoutes
- Add tests for Strong's index, search, entry pages
- Add tests for Hebrew and Greek language indexes
- Add tests for pagination and invalid entries
- Update integration tests to use /strongs instead of /concordance

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:07:10 -05:00
kennethreitz 340901d7de Add paginated Hebrew and Greek Strong's indexes
- Add get_all_strongs() function for paginated entry listing
- Create /strongs/hebrew and /strongs/greek routes with pagination
- Add strongs_language_index.html template with entry cards
- Update main Strong's page with browse cards for each language
- Hebrew: 8,674 entries across 87 pages
- Greek: 5,523 entries across 56 pages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:03:15 -05:00
kennethreitz 763874d5f9 Add verse occurrences with full text to Strong's entry pages
- Show all verses containing a Strong's number from interlinear data
- Display each verse as a card with reference, original word, and full text
- Highlight the translated English word in yellow
- Add dark mode support for highlighted text

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 17:00:27 -05:00
kennethreitz 202c88e6d9 Replace old concordance with Strong's Concordance
- Update sidebar link to point to /strongs
- Remove old /concordance route and template
- Update cache control settings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:53:54 -05:00
kennethreitz 6da85ae7d0 Add italic styling to Strong's definition cards
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:52:44 -05:00
kennethreitz 52bb08bf70 Redesign Strong's entry page with card-style layout
- Large centered word card with original Hebrew/Greek
- Definition, KJV translations, and derivation in separate info cards
- Color-coded left borders for each card type
- Improved navigation with prev/next buttons
- Dark mode support
- Mobile responsive

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:52:15 -05:00
kennethreitz eca61cb1f3 Fix bible.books -> bible.get_books() in Strong's routes
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:51:21 -05:00
kennethreitz fc9045fd73 Fix Strong's derivation linkification
- Replace naive string replace with regex-based filter
- Only linkify actual Strong's references (G/H followed by digits)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:50:35 -05:00
kennethreitz 9088226ee3 Add Strong's Concordance lookup system
- Add Hebrew (8674 entries) and Greek (5523 entries) dictionaries from openscriptures/strongs
- Create strongs.py module for lookups and search
- Add /strongs web page for search and browsing
- Add /strongs/{number} page for individual entries
- Add /api/strongs and /api/strongs/{number} API endpoints
- Update interlinear templates to link to our Strong's pages instead of BibleHub

Data source: https://github.com/openscriptures/strongs (CC-BY-SA)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:49:47 -05:00
kennethreitz 3a2587d171 Default sidebar to open, fix duplicate breadcrumb in interlinear
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:38:37 -05:00
kennethreitz 796152151a Improve interlinear readability for native Hebrew/Greek readers
- Increase font sizes for Hebrew (2.2rem) and Greek (2rem) text
- Add proper RTL direction and font families for Hebrew
- Tighten word spacing for more natural reading flow
- Remove hover tooltips, keep click-to-expand details
- Increase English verse text size in chapter interlinear view
- Add is_old_testament to verse template context

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:25:46 -05:00
kennethreitz 941a9b877c Add optional interlinear data to verse API endpoint
GET /api/verse/{book}/{chapter}/{verse}?interlinear=true

Adds optional `interlinear` query parameter. When true, includes
word-by-word Hebrew/Greek data in the response:
- interlinear.available: boolean
- interlinear.words: array of word objects

Existing /api/interlinear/{book}/{chapter}/{verse} endpoint still works
for dedicated interlinear lookups.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:14:12 -05:00
kennethreitz b025280cf1 Add interlinear link to chapter view
- New Interlinear button next to PDF button
- Links to /book/{book}/chapter/{chapter}/interlinear
- Language/translation icon for the button

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:12:17 -05:00
kennethreitz 56e0030440 Add chapter interlinear view
New route: /book/{book}/chapter/{chapter}/interlinear

Shows all verses with word-by-word Hebrew/Greek analysis:
- Hebrew badge for OT, Greek badge for NT
- Same polished UI as verse page interlinear
- Click words for details, hover for definition preview
- Chapter navigation links
- Dark mode support
- Mobile bottom sheet for word details

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:10:54 -05:00
kennethreitz 59952e37bb Add dark mode support for interlinear section
- Hebrew/Greek letters now white in dark mode
- Dark backgrounds for hover and expanded states
- Dark popup card styling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:07:06 -05:00
kennethreitz 8967bfedfc Increase tooltip font size
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:06:39 -05:00
kennethreitz 727dac45a4 Fix z-index for expanded word popup
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:05:46 -05:00
kennethreitz 9b03290405 Remove hint text from interlinear heading
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:03:19 -05:00
kennethreitz 834b844520 Always show interlinear section (no collapse)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 16:02:13 -05:00
kennethreitz 362ee6d243 Add expand/collapse arrow to interlinear section
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:40:13 -05:00
kennethreitz 939cbbdbcb Delete unused interlinear.html template
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:39:24 -05:00
kennethreitz d29094cfa9 Remove dead interlinear link from verse page
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:38:30 -05:00
kennethreitz e86836acde Polish interlinear UI with hover tooltips and animations
- Add hover tooltip showing brief definition preview
- Smooth lift animation on word hover
- Green border highlight on expanded word
- Improved detail panel with header section
- Show word position as "X of Y"
- Better typography and spacing
- Hide tooltip on mobile, use bottom sheet instead

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:38:13 -05:00
kennethreitz e5a764a153 Update verse page interlinear to match new inline flow design
- Replace card grid with inline flow layout
- Click-to-expand word details
- Add link to full interlinear page
- Mobile bottom sheet for word details

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:36:31 -05:00
kennethreitz 384a1df2f7 Redesign interlinear Bible page
- Clean inline flow layout for words (no cards/grid)
- Click-to-expand word details with definition popup
- Hebrew/Greek testament badges
- Separated OT/NT book lists with color coding
- Mobile: word details appear as bottom sheet
- Cleaner typography and spacing throughout

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:34:56 -05:00
kennethreitz 70f8e97f67 Add sidenote spacing in style.css (0.6rem)
Reverted tufte.css change and added override in custom styles.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:31:00 -05:00
kennethreitz f6a4b94022 Add slight spacing between sidenotes (0.6rem)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:30:22 -05:00
kennethreitz 13cf724385 Change Interactive badge to gold/yellow color
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:17:06 -05:00
kennethreitz ce0324403d Add Interactive badge to Biblical Geography resource
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:11:56 -05:00
kennethreitz 4bf8e8fe95 Redesign family tree pages with card-based UI
- Fix interactive tree deep linking via query parameter
- Redesign /family-tree main page with card-based layout
- Add feature cards, stats card, generation cards, notable figures
- Highlight Family Tree on /resources with Interactive badge

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:11:20 -05:00
kennethreitz 6ea3c90516 Link Interactive Tree to specific person via query param
- Person profile links now include ?person=ID parameter
- Interactive tree reads query param and starts with that person
- Updates breadcrumb and dropdown to show the person name

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:05:58 -05:00
kennethreitz a86c9b6d30 Redesign person profile page with card-based layout
- Main person card with blue/pink/gold gender & Kekulé coloring
- Section cards for Spouse, Parents, Siblings, Children
- Family member cards with gender colors and Kekulé badges
- Verse cards with scripture references
- Clean navigation with links to generation and interactive tree
- Consistent styling with generation view

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:05:02 -05:00
kennethreitz a3e7d5c346 Add analytics disable via DISABLE_ANALYTICS env var
- Add DISABLE_ANALYTICS=true to docker-compose.yml for local dev
- Pass disable_analytics to Jinja2 templates as global
- Wrap Gauges analytics in conditional block
- Add blue/pink gender-based coloring to generation cards

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:03:41 -05:00
kennethreitz c72d12dd16 Redesign generation view with compact card layout
- Replace verbose list with compact person cards
- Add generation stats bar (people count, Christ's line, offspring)
- Golden highlight for Kekulé ancestors
- Inline family info (spouse, parents, children)
- Show first verse reference with preview
- Streamlined navigation with prev/next and quick links
- Reduced whitespace throughout

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 15:02:12 -05:00
kennethreitz 17278b6bb0 Remove timeline visualization
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:58:26 -05:00
kennethreitz f4d2bf8ede Add interactive timeline visualization for biblical lifespans
- Create timeline page showing when biblical figures lived
- Display horizontal bars for each person's lifespan
- Filter by era (Antediluvian, Patriarchs, Judges, Kings, Exile)
- Filter to show Messianic line only or all people
- Golden highlighting for Christ's ancestors (Kekulé numbers)
- Hover tooltips with detailed person info
- Click to navigate to person's profile
- Zoom and pan support
- Update family tree page with prominent links to visualizations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:57:24 -05:00
kennethreitz f38f88ed5d Enhance interactive tree: Kekulé highlights, search, navigation
- Add golden/yellow highlight for Kekulé ancestors (blood relations to Christ)
- Add search autocomplete for finding people quickly
- Implement back button navigation with history tracking
- Add more Messianic lineage starting points (Seth, Enoch, Shem, Isaac, Jacob, Judah, Solomon, Josiah, Joseph)
- Set vertical layout as default
- Default to 3 generations for cleaner view
- Adjust zoom for better readability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:52:33 -05:00
kennethreitz 7a3412e02c Redesign interactive tree with FamilySearch-inspired UI
Completely rewrote the interactive family tree visualization with a
much more polished, professional design inspired by FamilySearch and
MacFamilyTree applications.

Visual improvements:
- Person cards with gender-based color coding (blue for male, pink for female)
- Rounded card corners with subtle shadows and gradients
- Generation badges on each card
- Birth/death dates displayed on cards
- Smooth hover effects with border highlighting
- Clean, modern control bar with grouped buttons
- Slide-out info sidebar instead of inline panel

Functional improvements:
- Multiple starting points (Adam, Noah, Abraham, David, Jesus ancestors)
- Adjustable generation depth (3-10)
- Horizontal and vertical layout options
- Zoom controls (+, -, reset, fit to view)
- Scroll to zoom, drag to pan
- Click any person to see detailed info in sidebar
- Responsive design for mobile

Technical changes:
- Custom SVG card rendering with D3.js
- Dynamic tree building with direction support (descendants/ancestors)
- Fit-to-view algorithm for automatic centering
- Window resize handling
- Gender inference from name database

This provides a much better user experience for exploring the biblical
genealogy, matching the quality expected from professional genealogy
applications.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:42:44 -05:00
kennethreitz 2a23a35ac5 Add interactive D3.js family tree visualization
Created a new interactive family tree visualization page that allows
users to explore biblical genealogies with a zoomable, clickable tree
diagram.

Features:
- D3.js tree layout with horizontal orientation
- Click nodes to view person details in info panel
- Zoom in/out and pan functionality
- Multiple view options (descendants, ancestors, generation, lineage)
- Multiple layout options (tree, radial, dendrogram - foundation laid)
- Expand/collapse controls
- Hover effects and selection highlighting
- Links to full person profiles
- Responsive design with Tufte CSS styling

Technical details:
- New route: /family-tree/interactive
- Template: family_tree_interactive.html
- D3.js v7 for tree rendering
- Hierarchical data built from GEDCOM family tree data
- Passes family_tree_data and generations to template as JSON
- Max depth control to prevent infinite recursion

Also updated family tree overview page to link to new visualizations
section featuring both the interactive tree and messianic lineage.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:37:52 -05:00
kennethreitz 0ee9b3af96 Fix spouse link rendering with Jinja2 namespace scoping
Fixed issue where spouse links weren't rendering in the person detail
page. The problem was that Jinja2's `{% set %}` inside a for loop doesn't
persist variable values outside the loop scope.

Solution: Use Jinja2's `namespace()` object to create mutable variables
that persist across scopes. Applied fix to three locations where spouse
lookups occur:

1. Inline spouse in vitals section (line 119)
2. Spouse name in family diagram (line 204)
3. Dedicated Spouse relationship section (line 257)

Now Adam and Eve (and all other spouses) properly show as clickable
links to their person pages with full metadata.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:34:53 -05:00
kennethreitz 7f2a9b41de Add dedicated Spouse section to individual person view
Enhanced the person detail page with a proper Spouse relationship section
to match the existing Parents, Siblings, and Children sections.

Features:
- Dedicated "Spouse" section between Parents and Siblings
- Clickable link to spouse's person page if in family tree
- Displays spouse metadata (generation, Kekulé number, lifespan)
- Shows "not in family tree data" note for spouses not in GEDCOM
- Consistent styling with other relationship sections

This makes spouse information more prominent and easier to find,
improving navigation between married couples in the family tree.

Previously spouse was only shown inline in the vitals section.
Now it has its own dedicated section for better visibility and
consistency with how other relationships are displayed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:24:49 -05:00
kennethreitz e731fb289c Add three more documented biblical close family marriages
Added additional historically documented marriages:

1. Esau & Mahalath (first cousins) - Genesis 28:9
   - Mahalath was daughter of Ishmael, Isaac's half-brother

2. Othniel & Achsah (uncle-niece) - Judges 1:12-13
   - Achsah was daughter of Caleb, Othniel's brother
   - Given as reward for capturing Kiriath Sepher

3. Zelophehad's five daughters & their cousins - Numbers 36:11
   - Mahlah, Tirzah, Hoglah, Milcah and Noah
   - Married their father's brothers' sons (first cousins)
   - Required to keep tribal inheritance within the family

Total documented close family marriages: 9 cases

These marriages provide important historical context about:
- Ancient Near Eastern marriage customs
- Tribal inheritance laws in Israel
- How family structures evolved over biblical history
- Cultural differences between ancient and modern times

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:23:46 -05:00
kennethreitz a8b480b3ba Add documented biblical close family marriages data
Created supplemental data file with 6 known close family marriages
from Scripture to provide accurate historical context.

New Data Files:
- close_family_marriages.json: Documented biblical marriages including:
  * Abraham & Sarah (half-siblings) - Genesis 20:12
  * Amram & Jochebed (aunt-nephew) - Exodus 6:20
  * Jacob & Leah (first cousins) - Genesis 29:16
  * Jacob & Rachel (first cousins) - Genesis 29:16
  * Nahor & Milcah (uncle-niece) - Genesis 11:29
  * Isaac & Rebekah (first cousin once removed) - Genesis 24:15

- schemas/close_family_marriages.schema.json: JSON schema with:
  * Required fields: person1, person2, relationship, description, verse
  * Enum for relationship types
  * Pattern validation for verse references
  * Optional notes field for additional context

API Changes:
- Add _load_close_family_marriages() helper function with LRU cache
- Load and count known marriages in statistics endpoint
- Statistics now show accurate count: 6 close family marriages
- Provides educational context about ancient Near Eastern customs

Each marriage entry includes:
- Names of both parties
- Specific relationship type (half-siblings, first cousins, etc.)
- Detailed description of the family connection
- Biblical verse reference documenting the marriage
- Additional notes with relevant quotes or context

This helps users understand how family structures and marriage
customs differed in biblical times compared to modern standards.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:22:43 -05:00
kennethreitz 51e4eeb561 Add more interesting family tree statistics
New statistics added to the family tree overview:

Most Siblings:
- Tracks which person had the most siblings
- Currently shows Nathan with 18 siblings (one of David's 19 children)

Close Family Marriages:
- Detects marriages between close relatives
- Checks for sibling marriages and aunt/uncle-niece/nephew relationships
- Shows 0 in current GEDCOM data
- Provides historical context: "common in early biblical times"
- Important for understanding biblical/ancient Near Eastern culture

API Changes:
- Add most_siblings field to FamilyTreeStatsResponse
- Add close_family_marriages field with description
- Calculate sibling counts from GEDCOM relationship data
- Detect close family relationships through parent/sibling analysis

Template Updates:
- Add "Most Siblings" row with clickable link to person page
- Add "Close Family Marriages" row with contextual note
- Populate values via JavaScript from stats API

Test Updates:
- Add assertions for most_siblings structure
- Add assertions for close_family_marriages value
- Verify all new fields are present and correctly typed

This helps provide educational context about how family structures
differed in ancient biblical times compared to modern norms.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:20:00 -05:00
kennethreitz f7013de63a Enhance family tree statistics with biography data and fix Methuselah
Major improvements to statistics endpoint and display:

API Enhancements:
- Add person_id to PersonStat model for accurate linking
- Integrate biographies.json data to supplement GEDCOM ages
- Support name aliases (e.g., "Mathusala or Methuselah" -> "Methuselah")
- Fix Methuselah showing as longest lived (969 years vs Adam's 930)
- Increase age data coverage from 1 to 53 people with known ages
- Improve average lifespan calculation (241.5 years with better data)

Template Improvements:
- Add clickable links to person pages in statistics
- Use actual GEDCOM person IDs instead of name slugs
- Remove average lifespan display from table (cleaner UI)

Test Updates:
- Add person_id field assertions to stats endpoint test
- Verify correct response structure with IDs

Statistics now show:
- 479 total people in genealogy
- 41 generations from Adam to Jesus
- Methuselah as longest lived (969 years)
- David with most children (19)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:18:20 -05:00
kennethreitz decc341452 Display family tree statistics on overview page
- Add statistics table to family tree overview showing:
  - Total people (479)
  - Total generations (41)
  - Longest lived person (Adam - 930 years)
  - Person with most children (David - 19 children)
  - Average lifespan with data coverage
- Fetch statistics from /api/family-tree/stats endpoint via JavaScript
- Display loading state while fetching data
- Clean table layout for better readability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:14:07 -05:00
kennethreitz e4940d89c8 Add family tree statistics API endpoint
- Add GET /api/family-tree/stats endpoint with comprehensive GEDCOM statistics
- Returns total people, generations, longest lived person, person with most children
- Parses "Lived XXX years" format from GEDCOM death records
- Calculates average lifespan for people with known ages
- Add comprehensive tests for statistics endpoint
- Update API index to include new stats endpoint

Statistics from the biblical genealogy GEDCOM:
- 479 total people
- 41 generations from Adam to Jesus
- David had the most children (19)
- Adam is the longest lived with recorded age (930 years)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:12:44 -05:00
kennethreitz 7e71b762b7 Add Isaiah, Ezra, and Nehemiah to biblical biographies
Added comprehensive biographies for the last 3 missing major figures:

1. Isaiah - The evangelical prophet
   - Vision of God's holiness in the temple
   - Extensive messianic prophecies (virgin birth, suffering servant)
   - Most quoted OT prophet in the New Testament

2. Ezra - Priest and scribe
   - Led second wave of exiles from Babylon
   - Reestablished centrality of God's Law
   - Religious reform and covenant renewal

3. Nehemiah - Rebuilding leader
   - Rebuilt Jerusalem's walls in 52 days
   - Exemplary prayer and practical leadership
   - Worked with Ezra in spiritual restoration

All major biblical figures now have biographies. The remaining ~400
people in the GEDCOM are mostly genealogical entries (the 'begats').

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 14:01:58 -05:00
kennethreitz 6464844e95 Add Jonathan (David's friend) to biblical biographies
Added comprehensive biography for Jonathan including:
- Summary of his friendship with David and royal lineage
- Theological significance as example of sacrificial friendship
- 7 key life events from military victories to death at Mount Gilboa

Jonathan was the only major figure from the list missing - all others
(Eve, Cain, Abel, Jesus, David, Solomon, Mary, Daniel, Ruth) already
had biographies.

Now accessible via GET /api/family-tree/Jonathan

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 13:58:09 -05:00
kennethreitz dfb152b6a1 Revert to min_machines_running = 1
Keep blue-green deployment strategy but with single minimum machine to reduce costs. During deployment, Fly.io will:
- Start new machine (green)
- Run health checks
- Switch traffic
- Stop old machine (blue)

Note: This may have brief startup time during deployment, but significantly reduces operating costs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 13:52:34 -05:00