惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Cyberwarzone
Cyberwarzone
L
LINUX DO - 最新话题
N
News and Events Feed by Topic
T
Troy Hunt's Blog
Help Net Security
Help Net Security
S
Security @ Cisco Blogs
Google DeepMind News
Google DeepMind News
Security Archives - TechRepublic
Security Archives - TechRepublic
M
MIT News - Artificial intelligence
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V2EX - 技术
V2EX - 技术
Y
Y Combinator Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
大猫的无限游戏
大猫的无限游戏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
Cisco Talos Blog
Cisco Talos Blog
T
Threatpost
Recent Commits to openclaw:main
Recent Commits to openclaw:main
S
SegmentFault 最新的问题
I
InfoQ
H
Hacker News: Front Page
D
Docker
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Blog — PlanetScale
Blog — PlanetScale
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
Netflix TechBlog - Medium
AWS News Blog
AWS News Blog
Know Your Adversary
Know Your Adversary
博客园 - 【当耐特】
T
Tor Project blog
U
Unit 42
H
Heimdal Security Blog
Microsoft Azure Blog
Microsoft Azure Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Privacy & Cybersecurity Law Blog
PCI Perspectives
PCI Perspectives
美团技术团队
O
OpenAI News
T
Tailwind CSS Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog
GbyAI
GbyAI
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
MyScale Blog
MyScale Blog

Hacker News - Newest: "LLM"

GitHub - lechmazur/position_bias: A benchmark for testing whether LLM judges keep the same preference when two lightly edited versions of the same story are shown in opposite orders. Flex routing (EU and EFTA) Dark Factories: Retooling for LLM Velocity Ask HN: What would be the impact of a LLM output injection attack? GitHub - AronDaron/dataset-generator: No-code desktop app for generating high-quality synthetic datasets to fine-tune LLMs — plan-then-execute pipeline, LLM-as-judge, HuggingFace upload. I thought I had a bug GitHub - Oaklight/llm-rosetta: Production-ready LLM API translation layer for Python — bidirectional conversion between OpenAI, Anthropic & Google formats via hub-and-spoke IR. Optional API gateway. Streaming & non-streaming. Zero core deps. Contributions welcome! GitHub - browser-use/browser-harness: Self-healing browser harness that enables LLMs to complete any task. GitHub - moeen-mahmud/remen: Remen turns thoughts into something you can return to Analyzing 156 LLM Launch Posts on Hacker News ChatGPT vs Gemini vs Claude: The Best LLM Subscription You Should Buy GitHub - salaamalykum/quran-semantic-search: High-density RAG Semantic Search Engine & Quran Corpus (GEO/SEO Architecture) GitHub - NVIDIA/TensorRT-LLM: TensorRT LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and supports state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT LLM also contains components to create Python and C++ runtimes that orchestrate the inference execution in a performant way. The State of LLM Bug Bounties in 2026 Operational Readiness Criteria for Tool-Using LLM Agents Meshcore: Architecture for a Decentralized P2P LLM Inference Network How an LLM becomes more coherent as we train it GitHub - seetrex-ai/laimark GitHub - wastedcode/memex: File system based wiki, maintained by Claude 99helpers.com GitHub - cliver-project/AITrigram GitHub - unbody-io/adapt: A self-evolving memory layer for AI agents. GitHub - hb20007/awesome-gen-ai-fails: A list of incidents where reliance on generative AI and LLMs resulted in harm to companies, individuals, or society GitHub - nevenkordic/localmind: Run any local LLM with persistent memory and context. CLI agent over Ollama with SQLite-backed hybrid recall. No cloud. Ask HN: What are the machine requirements for a LLM like Llama-3.1-8B? Faster LLM Inference via Sequential Monte Carlo grpo explained: group relative policy optimization for llm finetuning - cgft Stop comparing price per million tokens: the hidden LLM API costs · TensorZero Andrej Karpathy's LLM Wiki Is a Bad Idea GitHub - GG-QandV/mnemostroma: Offline RAM-first cognitive leer/coprocessor for AI agents and robotics. Solves "Context Abandonment" with 20-80ms latency using a dual-thread biomimetic memory architecture (ONNX + SQLite WAL). mempalace/agent at agent · skorotkiewicz/mempalace GitHub - Nyquest-ai/nyquest-rust-fullstack-pub: Nyquest — Semantic Compression Proxy for LLMs. 350+ rules, local LLM stage, 15-75% token savings. Full Rust stack. GitHub - TheoV823/mneme: Enforce architectural decisions in AI-assisted development. GitHub - klemenvod/TokenBrawl: A 1v1 Bomberman-style game where two LLM agents play autonomously against each other. No human plays — you watch the AIs fight. Each agent receives a text description of the board state, reasons about it, and outputs a move as JSON. The game engine executes it. Introducing the Common AI Provider: LLM and AI Agent Support for Apache Airflow Power Circuit AI: Designing Power Electronic Circuits for Motor Drives with Generative Artificial Intelligence Ask HN: How to program with IDE and LLM on CPU locally? Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Bonsai 1-bit WebGPU - a Hugging Face Space by webml-community The LLM Fallacy: Misattribution in AI-Assisted Cognitive Workflows Ask HN: Simple tooling for local LLM code critique without IDE integration? Can a General LLM Diagnose a DICOM Slice? A 10-Case Public Benchmark Charts-of-Thought: Enhancing LLM Visualization Literacy (PDF, 2026) GitHub - Mesh-LLM/mesh-llm: Distributed AI/LLM for the people. Share compute privately or publicly to power your agents and chat. GitHub - seamus-brady/springdrift: A persistent runtime for long-lived LLM agents Writing an LLM from scratch, part 32k -- Interventions: training a better model locally with gradient accumulation Ask HN: Which LLM model and agentic CLI are you using for local development? GitHub - wayneColt/modelcascade: Route local. Escalate smart. Never overspend. Open-source multi-model cascade routing for autonomous agents. LLM pricing is 100x harder than you think GitHub - asakin/llm-primer: Pre-warmed Claude Code sessions in tmux. No startup wait. GitHub - EggerMarc/chat-rs: A multi-provider LLM framework for Rust. GitHub - SynapseKit/SynapseKit: Minimal, async-first Python framework for production LLM apps- 2 hard deps, no magic, no SaaS. A Claude Skill that Makes LLM Paragraphs More Bearable Does Gas Town 'steal' usage from users' LLM credits & paid services to improve itself? What's Claude Code Actually Doing? Open the Black Box with the Arthur Engine Milla Jovovich's New Open Source LLM Memory App and the Dark Code Problem Your intuition of LLM token usage might be wrong Show HN: Bloomberg Terminal for LLM ops – free and open source GitHub - 0xchamin/mcptube: Transform YouTube videos into a compounding knowledge base with transcripts, vision analysis, and agentic search. Works as an MCP server for Claude, Copilot & more. Show HN: Open KB: Open LLM Knowledge Base Your LLM is a compiler, not a runtime GitHub - sapountzis/Unslop: A Web Feed That Deserves You crates.io: Rust Package Registry Beyond Karpathy's LLM-Wiki: The Necessity of Cognitive Governance GitHub - amitshekhariitbhu/llm-internals: Learn LLM internals step by step - from tokenization to attention to inference optimization. GitHub - parallem-ai/parallem: An expressive library for running agents with the Batch API. GitHub - stfurkan/pi-llm LLM-Wiki Show HN: Formal – Formal verification for AI-generated code using Lean 4 LRTS – Regression testing for LLM prompts (open source, local-first) LLM Wiki Skill: Build a Second Brain with Claude Code and Obsidian I built an LLM Wiki and RAG solution: here's a demo for a security KB The biggest advance in AI since the LLM Predict-Rlm: The LLM Runtime That Lets Models Write Their Own Control Flow the-synthetic-library/the-synthetic-mind at main · joshferrer1/the-synthetic-library GitHub - yisding/reviewwiggum GitHub - Donnyb369/mcp-spine: Context Minifier & State Guard — Local-first MCP middleware proxy GitHub - Beledarian/wgpu-llm: A from-scratch LLM inference engine that uses wgpu (the cross-platform WebGPU implementation) to dispatch WGSL compute shaders for every math operation a Transformer needs. No CUDA. No Python. No massive framework dependencies. Just Rust, raw shaders, and your GPU. GitHub - anitiue/Hindsight: An experience-driven self-improvement framework for LLM agents — 基于经验的 LLM Agent 自我改进框架 GitHub - stef41/lmscan: 🔍 Detect AI-generated text and fingerprint which LLM wrote it. Open-source GPTZero alternative. Zero dependencies, works offline. GitHub - alainnothere/AmdPerformanceTesting: Amd Performance Testing Ask HN: Is a purely Markdown-based CRM a terrible idea? Optimized for LLM agents Context Engineering - LLM Memory and Retrieval for AI Agents | Weaviate little_helper_tui/letter.md at main · sleepyeldrazi/little_helper_tui GitHub - EvanZhouDev/umr: The Unified Model Registry for all your local AI apps. GitHub - JordanCT/VigIA-Orchestrator Your Agent Is Mine: Measuring Malicious Intermediary Attacks on the LLM Supply Chain A Taxonomy of RL Environments for LLM Agents Llama LLM Network Feture GitHub - genedeng-ca/ai-mac-migration: AI-powered Mac-to-Mac migration tool - replace Apple Migration Assistant with intelligent, selective transfer using local LLMs GitHub - lunargate-ai/gateway: High-performance self-hosted AI gateway (OpenAI-compatible) with routing, retries, and streaming GitHub - AuthBits/webmcp: A lightweight, prompt-driven MCP web research server for high-quality LLM powered information extraction. Externalization in LLM Agents: A Unified Review of Memory, Skills, Protocols and Harness Engineering Springdrift: An Auditable Persistent Runtime for LLM Agents with Case-Based Memory, Normative Safety, and Ambient Self-Perception High-Stakes Personalization: Rethinking LLM Customization for Individual Investor Decision-Making From Static Templates to Dynamic Runtime Graphs: A Survey of Workflow Optimization for LLM Agents HUOZIIME: An On-Device LLM-enhanced Input Method for Deep Personalization TIDE: Token-Informed Depth Execution for Per-Token Early Exit in LLM Inference Characterizing WebGPU Dispatch Overhead for LLM Inference Across Four GPU Vendors, Three Backends, and Three Browsers LLM Targeted Underperformance Disproportionately Impacts Vulnerable Users
GitHub - Jossifresben/BibCrit: AI-assited biblical textual criticism
jossifresben · 2026-04-18 · via Hacker News - Newest: "LLM"

Python 3.10+ Flask Claude License ORCID DOI

BibCrit v3.0

Free, open-access web tool for biblical textual criticism at bibcrit.com. Compare MT, LXX, and Dead Sea Scrolls; reconstruct Hebrew Vorlagen; profile scribal tendencies; detect theological revisions; track patristic citations; model numerical discrepancies; detect literary structures (chiasm, inclusios, parallel panels); identify documentary source layers (J/E/D/P); and visualize manuscript genealogies — all in a browser, in English and Spanish.

Screenshots


Tools

# Tool Route Description
1 MT/LXX Divergence Analyzer /divergence Word-level Hebrew/Greek comparison with alignment scoring. Claude classifies each divergence (different_vorlage, theological_tendency, scribal_error, etc.), assigns confidence, and generates competing scholarly hypotheses. Exports SBL footnotes, BibTeX, RIS (Zotero), and TEI XML. Prompt: divergence_v2.
2 Scribal Tendencies Profiler /scribal Statistical fingerprint of an LXX book's translator across five dimensions: literalness, anthropomorphism reduction, messianic heightening, harmonization, and paraphrase rate. Rendered as a D3.js radar chart with per-dimension evidence. Supports two-book comparison. Prompt: scribal_v1.
3 Numerical Discrepancies /numerical Surfaces numerical divergences (patriarchal ages, census figures, temple dimensions, etc.) across MT, LXX, and Samaritan Pentateuch, ranking competing theories by confidence. Prompt: numerical_v3.
4 Ancient Witness Bridge (DSS) /dss Compare a passage across five ancient witnesses: Dead Sea Scrolls (1QIsaᵃ and others), Samaritan Pentateuch, Peshitta (Syriac OT), MT, and LXX. Shows which witnesses attest the passage, alignment, and specific divergences. Prompt: dss_v7.
5 Theological Revisions /theological Identifies theologically motivated textual changes — anthropomorphism avoidance, messianic heightening, polemical alterations, harmonization. Prompt: theological_v2.
6 Patristic Citation Tracker /patristic Traces Church Father citations (1st–5th century), identifies the text form used, and visualizes text-form distribution as a bar chart. Each citation links to BiblIndex for primary source access. Prompt: patristic_v3.
7 Back-Translation Workbench /backtranslation Reconstructs the probable Hebrew Vorlage word-by-word from LXX Greek using Tov's retroversion methodology, with confidence levels and summary assessments. Prompt: backtranslation_v1.
8 Manuscript Genealogy /genealogy Visualizes the full transmission stemma of a biblical book — from proto-text through manuscript families (MT, LXX, DSS, SP, Peshitta, Targum, Vulgate) to modern critical editions. Prompt: genealogy_v2.
9 NT Use of OT Analyzer /nt-ot Enter a New Testament passage and identify every OT allusion it contains. For each allusion, determines whether the NT author cited MT, LXX, an independent form, or a conflation — applying the methodology of Beale & Carson, Stanley, and Hays. Prompt: nt_ot_v1.
10 Chiasm & Literary Structure Detector /chiasm Detects concentric literary structures (A-B-C-B′-A′), parallel panels, inclusios, and refrains. Maps each structural element with its mirror partner and identifies the focal turning point. Methodology: Lund, Welch, Dorsey, Walsh. Prompt: chiasm_v1.
11 Source Criticism Tool /source Assigns documentary source designations (J, E, D, P, Redactor) to Pentateuchal units using classical criteria: divine name usage (YHWH vs. Elohim), vocabulary patterns, doublets, and narrative tensions. Scholarly grounding: Wellhausen, Friedman, Baden. Prompt: source_v1.
12 Targum Comparator /targum Compares Targum Onkelos (Torah) and Targum Jonathan (Prophets) against MT and LXX; analyzes Memra substitutions, anthropomorphism avoidance, targumic expansions, and messianic reinterpretation. Prompt: targum_v1.
13 NT Textual Tradition Analyzer /nt-text Manuscript family support (Alexandrian, Western, Byzantine, Caesarean), Metzger A/B/C/D confidence ratings, variant register, and extended analysis for all major disputed passages. Prompt: nt_text_v1.

Data Sources

Corpus Source Path
MT ETCBC/BHSA via Text-Fabric data/corpora/mt_etcbc/
LXX Rahlfs (ingested via ingest_lxx_rahlfs.py) data/corpora/lxx_stepbible/
DSS ETCBC/DSS via Text-Fabric — 1QIsaᵃ, 4QSamᵃ, 11QPaleoLev, 4QDeutn data/corpora/dss/
SP dt-ucph/sp via Text-Fabric data/corpora/sp_etcbc/
GNT SBLGNT data/corpora/gnt_opengnt/
PESH ETCBC/peshitta via Text-Fabric (SEDRA / Beth Mardutho) — 39 OT books, 308,863 words data/corpora/pesh_etcbc/
TARG Sefaria API — Targum Onkelos (Torah, 5 books) + Targum Jonathan (Prophets, 21 books), 240,297 Aramaic word tokens data/corpora/targ_sefaria/
VUL scrollmapper/bible_databases — Clementine Vulgate, 66 books, 569,588 Latin word tokens data/corpora/vul_clementine/

License note: The ETCBC corpora (MT/BHSA, DSS, and Peshitta) are released under CC-BY-NC 4.0. The app code is Apache 2.0; the corpus data it ingests retains its own license terms. Do not use the ingested ETCBC data for commercial purposes without a separate agreement with ETCBC.


Tech Stack

Layer Technology
Web framework Flask 3.0+
AI analysis Anthropic Python SDK 0.30+ · model: claude-sonnet-4-6
Visualization D3.js v7 (radar charts, bar charts)
Persistence Supabase (PostgreSQL) + disk JSON fallback
Production server Gunicorn (1 worker, 2 threads)
Fonts Space Grotesk, Noto Sans Hebrew, Noto Serif
Deploy target Render (Python 3.11, render.yaml included)

Architecture

BibCrit/
├── app.py                      # Flask app factory; lazy _init() wires corpus + pipeline
├── state.py                    # Shared singletons: corpus, pipeline, i18n, TranslationProxy
├── requirements.txt
├── render.yaml                 # One-click Render deploy config
│
├── blueprints/
│   ├── textual.py              # /divergence, /backtranslation, /dss, /genealogy + APIs
│   ├── critical.py             # /scribal, /numerical, /theological, /patristic + APIs
│   ├── literary.py             # /chiasm, /source + SSE APIs
│   ├── discovery.py            # /discovery, /api/discovery/cards, /api/admin/discovery/flag
│   └── research.py             # /health, /guide
│
├── biblical_core/
│   ├── claude_pipeline.py      # ClaudePipeline: Claude calls, Supabase cache, budget tracking
│   ├── corpus.py               # BiblicalCorpus: loads MT, LXX, DSS, SP, GNT
│   ├── ref_utils.py            # Reference string parsing; per-tool verse-count limits
│   └── divergence.py           # parse_claude_response, format_sbl_footnote, format_bibtex
│
├── data/
│   ├── i18n.json               # All UI strings (en, es)
│   ├── prompts/                # Versioned prompt templates ({tool}_{version}.txt)
│   ├── cache/                  # Disk-based analysis cache fallback ({sha256}.json)
│   └── corpora/
│       ├── mt_etcbc/           # Masoretic Text (ETCBC/BHSA morphology)
│       ├── lxx_stepbible/      # Septuagint (Rahlfs)
│       ├── dss/                # Dead Sea Scrolls (ETCBC, primarily 1QIsaᵃ)
│       ├── sp_etcbc/           # Samaritan Pentateuch (dt-ucph/sp via ETCBC)
│       └── gnt_opengnt/        # Greek New Testament (SBLGNT)
│
├── scripts/
│   ├── precache_all.py         # Seed 91 featured passages in English
│   ├── precache_es.py          # Translate all 91 passages to Spanish
│   ├── push_cache_to_supabase.py  # Push disk cache → Supabase
│   ├── ingest_mt.py            # ETCBC/BHSA → CSV
│   ├── ingest_lxx.py           # LXX (STEP) → CSV
│   ├── ingest_lxx_rahlfs.py    # LXX (Rahlfs) → CSV
│   ├── ingest_dss_1qisaa.py    # ETCBC/DSS (1QIsaᵃ) → CSV
│   ├── ingest_sp.py            # SP (dt-ucph/sp) → CSV
│   └── ingest_gnt.py           # SBLGNT → CSV
│
├── templates/                  # Jinja2 templates extending base.html
└── static/                     # CSS (bibcrit.css, style.css), JS per-tool, SVG assets

Key design decisions

  • state.py holds no blueprint or app imports, preventing circular dependencies. Blueprints read state.corpus and state.pipeline directly.
  • app._init() runs before the first request (thread-safe double-checked locking) to keep startup fast.
  • SSE (Server-Sent Events) streams real-time progress steps (step / done / error frames) to the browser while Claude analyzes.
  • Budget checks happen before every API call; once spend_usd >= cap_usd the endpoint returns an error frame without calling the API.

Cache system

Every analysis result is keyed by:

cache_key = SHA256("{reference}|{tool}|{prompt_version}|{model}")

English (EN): written to both Supabase (analysis_cache table) and disk (data/cache/{sha256}.json). Supabase is the primary read path; disk is the fallback.

Spanish (ES): stored in Supabase only (analysis_cache_es table). Generated by scripts/precache_es.py, which translates cached EN analyses rather than re-running the full Claude pipeline.


Getting Started

1. Clone

git clone https://github.com/Jossifresben/bibcrit.git
cd bibcrit

2. Install dependencies

python -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate
pip install -r requirements.txt

3. Create .env

cp .env.example .env           # or create from scratch — see table below

4. Run

flask run

The app is available at http://127.0.0.1:5000.

For production-like local testing:

gunicorn app:app --workers 1 --threads 2 --timeout 120

Environment Variables

Variable Required Default Description
ANTHROPIC_API_KEY Yes Anthropic API key. Without it the analysis tools return a graceful error; all cached results and the corpus browser still work.
BIBCRIT_API_CAP_USD No 10.0 Monthly Claude spend cap in USD. Resets each calendar month.
SUPABASE_URL No Supabase project URL. If unset, caching and budget tracking fall back to disk (data/cache/).
SUPABASE_KEY No Supabase anon or service_role key.
BIBCRIT_ADMIN_KEY No Arbitrary secret for POST /api/admin/discovery/flag. Without it the endpoint returns 403.

Corpus Ingestion

Run ingestion scripts once to populate data/corpora/. Each script pulls from Text-Fabric or a local file and writes normalized CSV:

python scripts/ingest_mt.py
python scripts/ingest_lxx_rahlfs.py
python scripts/ingest_dss_1qisaa.py
python scripts/ingest_sp.py
python scripts/ingest_gnt.py

Text-Fabric downloads corpora on first run (~several hundred MB). The ETCBC and SP corpora require acceptance of their respective licenses before use.


Pre-caching Featured Passages

The repo ships with analyses for featured passages across all 9 tools. To seed or refresh:

# Seed all missing EN analyses (safe to re-run; skips already-cached)
python scripts/precache_all.py

# Seed a specific tool only
python scripts/precache_all.py --type numerical

# Dry run — show what would be seeded without calling the API
python scripts/precache_all.py --dry-run

# Push disk cache to Supabase
python scripts/push_cache_to_supabase.py

# Generate Spanish translations of all cached EN analyses
python scripts/precache_es.py

URL Routes

Pages

Method Route Description
GET / Home / landing page
GET /divergence MT/LXX Divergence Analyzer
GET /backtranslation Back-Translation Workbench
GET /scribal Scribal Tendency Profiler
GET /numerical Numerical Discrepancy Modeler
GET /dss Ancient Witness Bridge (DSS)
GET /theological Theological Revision Detector
GET /patristic Patristic Citation Tracker
GET /genealogy Manuscript Genealogy
GET /discovery Discovery — plain-language findings
GET /guide User guide
GET /health Health check ({"status": "ok"})

Analysis API (SSE streaming)

All stream endpoints emit step (progress), done (full JSON result), and error frames.

Method Route Key query param
GET /api/divergence/stream ref — e.g. Isaiah 7:14
GET /api/backtranslation/stream ref
GET /api/scribal/stream book — e.g. Isaiah
GET /api/numerical/stream ref — e.g. Genesis 5
GET /api/dss/stream ref
GET /api/theological/stream ref
GET /api/patristic/stream ref
GET /api/genealogy/stream ref

Open Data API

BibCrit's analysis corpus is publicly readable:

GET /api/cache
GET /api/cache?tool=divergence
GET /api/cache?tool=theological&ref=Isaiah+7:14
GET /api/cache?discovery_ready=true&limit=50&offset=0
Param Description Default
tool Filter by tool (divergence, backtranslation, scribal, numerical, dss, theological, patristic, genealogy, nt_ot, chiasm, source) all
ref Case-insensitive substring match on reference all
discovery_ready true / false all
limit Max records per page (max 200) 50
offset Pagination offset 0

All data is released under Apache 2.0. If you use BibCrit analyses in research, please cite:

Fresco Benaim, J. (2026). BibCrit: AI-assisted biblical textual criticism. ORCID: 0009-0000-2026-0836

Corpus Browser API

Method Route Query params
GET /api/books tradition=MT|LXX
GET /api/chapters book, tradition
GET /api/verses book, chapter, tradition

Export API

Method Route Query params Returns
GET /api/divergence/export/sbl ref SBL-style footnote string per divergence
GET /api/divergence/export/bibtex ref BibTeX @misc entries
GET /api/divergence/export/ris ref RIS records (Zotero / Mendeley import)
GET /api/divergence/export/tei ref TEI XML critical apparatus (<listApp>)
GET /api/scribal/export/sbl book SBL footnote for scribal profile

Discovery API

Method Route Notes
GET /api/discovery/cards offset, limit (max 50)
GET /api/budget Current spend vs. cap
POST /api/admin/discovery/flag ref, ready=true|false, key (admin only)

Hypothesis Voting

Method Route Query params
GET /api/hypothesis/votes ref
POST /api/hypothesis/vote ref, direction=up|down, action=cast|retract

Internationalization

UI strings live in data/i18n.json. The lang query parameter (?lang=es) selects the active language. state.TranslationProxy (exposed as _t() in templates) falls back to English if a key is missing.

Language Code Analysis cache Status
English en analysis_cache (Supabase) + disk Available
Spanish es analysis_cache_es (Supabase only) Available
Hebrew he Planned (RTL wiring in base.html)
Dutch nl Planned

To add a language: add a top-level key to data/i18n.json matching all en keys, and add a button to the language picker in templates/base.html.

Scholar / Student Mode

A toggle in the navbar (book icon) switches between Scholar mode (default — full technical analysis) and Student mode (plain-language explanations highlighted, technical text hidden). The preference is persisted in localStorage under bibcrit-mode. No server changes are needed; the mode is purely client-side CSS (body.mode-student .technical-only { display: none }).


Supabase Schema

-- English analysis results cache
CREATE TABLE analysis_cache (
  cache_key       TEXT PRIMARY KEY,
  reference       TEXT,
  tool            TEXT,
  prompt_version  TEXT,
  model_version   TEXT,
  data            JSONB,
  cached_at       TIMESTAMPTZ,
  discovery_ready BOOLEAN DEFAULT FALSE
);

-- Spanish analysis results cache
CREATE TABLE analysis_cache_es (
  cache_key       TEXT PRIMARY KEY,
  reference       TEXT,
  tool            TEXT,
  prompt_version  TEXT,
  model_version   TEXT,
  data            JSONB,
  cached_at       TIMESTAMPTZ
);

-- Monthly API spend tracking
CREATE TABLE budget (
  month       TEXT PRIMARY KEY,   -- e.g. '2026-03'
  spend_usd   NUMERIC,
  cap_usd     NUMERIC,
  updated_at  TIMESTAMPTZ
);

-- Hypothesis voting
CREATE TABLE hypothesis_votes (
  reference   TEXT PRIMARY KEY,
  upvotes     INTEGER DEFAULT 0,
  downvotes   INTEGER DEFAULT 0,
  updated_at  TIMESTAMPTZ
);

All tables are optional — the app falls back to disk if Supabase is unavailable (EN only; ES requires Supabase).


Deploy to Render

A render.yaml is included. To deploy:

  1. Push the repo to GitHub.
  2. In the Render dashboard, click New > Blueprint and point it at the repo.
  3. Set ANTHROPIC_API_KEY (and optionally SUPABASE_URL / SUPABASE_KEY / BIBCRIT_ADMIN_KEY) as environment variables.
  4. Deploy.

The default spend cap is $10.00/month. Raise it via BIBCRIT_API_CAP_USD in the Render environment variables.


Roadmap

✅ Completed (v2.5 → v3.0)

  • 13 analysis tools across textual, critical, literary, and discovery categories
  • Chiasm & Literary Structure Detector (/chiasm) — first open tool of its kind
  • Source Criticism Tool (/source) — J/E/D/P attribution with Wellhausen / Friedman / Baden grounding
  • Full OT corpus coverage — MT (ETCBC) + LXX (Vaticanus) across all books
  • 1QIsaᵃ (Dead Sea Scrolls) corpus — DSS Bridge Tool runs on real scroll data
  • Samaritan Pentateuch corpus (5 books, 114,889 words)
  • MorphGNT / SBLGNT corpus (27 NT books, 137,554 words)
  • Peshitta real corpus — ETCBC/peshitta via Text-Fabric (SEDRA); 39 OT books, 308,863 Syriac word tokens
  • NT Use of OT Analyzer — citation-form determination across MT and LXX
  • Spanish translation layer (analysis_cache_es) — full UI + analysis output
  • 141 featured passages pre-cached across all tools (instant load)
  • Persona-based home page — Scholar, PhD Candidate, Student entry points
  • Scholar / Student mode toggle (technical vs. plain-language view)
  • RIS and TEI XML export for Divergence Analysis
  • BiblIndex deep-links in Patristic Citations tool
  • Open Data API

🔜 Phase 1 — Months 1–2: Foundation

Corpus

  • Peshitta real corpus — ETCBC/peshitta via Text-Fabric; 39 OT books, 308,863 Syriac word tokens in pesh_etcbc/
  • MT/LXX expansion — all 39 MT books and 38 LXX books already present (complete)
  • Extended DSS witnesses — 4QSamᵃ (4Q51), 11QPaleoLev (11Q1), 4QDeutn (4Q41) added; note: 1QpHab excluded (ETCBC DSS has no MT-aligned verse coordinates for this scroll)

🔜 Phase 2 — Months 3–4: New Traditions

Corpus

  • Targum corpus (Onkelos + Jonathan) — Sefaria API; 26 books; 240,297 Aramaic word tokens in targ_sefaria/
  • Vulgate corpus (Jerome) — scrollmapper/bible_databases Clementine Vulgate; 66 books; 569,588 Latin word tokens in vul_clementine/
  • LXX variant MSS — add Sinaiticus and Alexandrinus alongside Vaticanus; unlocks three-way LXX manuscript comparison

New tools

  • Targum Comparator (/targum) — MT vs. Targum word-level comparison; expansion types: theological, halakhic, messianic, divine-name substitution (Memra/Shekhina), haggadic; Sperber / McNamara methodology
  • NT Textual Tradition Analyzer (/nt-text) — classify NT variants across Byzantine, Alexandrian, and Western text types; UBS/NA apparatus data + AI analysis; Metzger methodology

Infrastructure

  • Hebrew RTL UI (he locale) — full RTL layout; makes BibCrit usable by Israeli biblical scholars
  • True Anthropic token streaming — replace blocking messages.create() with messages.stream(); sections appear as Claude writes them, 10–20s earlier on first queries

🔜 Phase 3 — Months 5–6: Synthesis

Corpus

  • Second Temple literature — 1 Enoch, Jubilees, Sirach, 4 Ezra, Tobit from CLTK / Open Scriptures; register stl_cltk/ tradition
  • Peshitta NT — Syriac NT (Aramaic Primacy tradition); third NT tradition alongside SBLGNT

New tools (capstone — require all prior corpora)

  • Second Temple Literature Bridge (/stl) — map allusions from 1 Enoch, Jubilees, Sirach, 4 Ezra to canonical texts; critical for DSS and NT intertextuality; Nickelsburg / VanderKam / Collins methodology
  • Intertextuality Mapper (/intertextuality) — full allusion network for any passage: inner-biblical allusions, NT echoes, patristic citations, DSS parallels, Second Temple parallels; exportable as JSON-LD / RDF; Hays / Beale / Fishbane methodology

Infrastructure

  • Full open API v1 — versioned endpoints, API key management, rate limiting, Swagger docs at /api/docs
  • Dutch UI (nl) and Portuguese UI (pt)
  • JOSS paper v3 + Zenodo DOI update — reflect 15 tools and 9 corpus traditions

v3.0 target state

Metric v2.2 now v3.0 (+6 months)
Analysis tools 13 15
Corpus traditions 7 9
UI languages 2 (EN, ES) 5 (+ HE, NL, PT)
First-in-world open tools 5 11

License

Apache 2.0 — see LICENSE.

Corpus data retains its own licenses: ETCBC/BHSA and ETCBC/DSS are CC-BY-NC 4.0; SP (dt-ucph/sp) and SBLGNT have their own terms. See each upstream repository for details.


Credits

Built by Jossi Fresco. Analysis powered by Claude (Anthropic). Corpus data: ETCBC (MT, DSS), dt-ucph/sp (Samaritan Pentateuch), Rahlfs (LXX), SBLGNT (GNT).