✦ The Hyperlinked Bible

Anchor-Text Networks — Master Plan

A self-contained briefing for resuming Anchor-Text Network (ATN) buildout in a future session. Walks in cold: read this and pick up where Phase 2 Batch 1 left off.


1 · What an ATN Is (One Paragraph)

An Anchor-Text Network is a vault file that maps the canonical career of one specific OT text — every place that text is quoted, alluded to, recited, transformed, or activated by later biblical authors. The unit of analysis is a single verse or passage; the network is the chain of citations that builds on it. Distinct from a Trajectory Table (subject-anchored) and from a Foundation Text (single-passage deep exegesis). Full methodology: Anchor-Text Networks Methodology.


2 · Where We Are (2026-05-24)

PhaseTierBuiltTotalStatus
Phase 0Mega proof-of-concept2✅ Complete (Exod 34:6-7, Ps 110)
Phase 1Mega tier1212✅ Complete
Phase 2 Batch 1Mid tier1038✅ Complete
Phase 2 Batch 2Mid tier1038✅ Complete
Phase 2 Batch 3Mid tier1038✅ Complete
Phase 2 Batch 4Mid tier88✅ Complete — Mid tier 38/38 done
Phase 3 Batch 1Low tier10~26✅ Complete
Phase 3 Batch 2Low tier10~26✅ Complete
Phase 3 Batch 3Low tier (final 6)66✅ Complete — ATN CORPUS 76/76 DONE

Cumulative artifacts shipped to date:

  • 60 ATN files at `Anchor Texts/{Mega,Mid,Low}/` — Mega + Mid complete; Low in progress (10/~26)
  • ~590 IPs tagged with `Anchor Text:` field (cumulative through Phase 3 Batch 1; ~13 already-tagged from cross-anchor overlap)
  • 240 Readable Bible inline `| ATN |` links across anchor verses
  • 73+ Trajectory Tables carry "Related Anchor Texts" cross-reference sections
  • Two anchors flagged for Mega promotion: Exodus 20 (51 IPs) and Exodus 12 (39 IPs + structurally load-bearing) — decision pending

3 · The Six-Touchpoint Bidirectional Linking Architecture

Every ATN must wire into all six touchpoints. The methodology codifies these:

#TouchpointDirectionMechanismPhase 1+2 Status
1ATN → IPsATN file lists cited IPsWikilink table in ATN bodyBuilt into draft template
2ATN → TTsATN file links overlapping TTs`## §6 Related Trajectory Tables`Built into draft template
3ATN → ATNsATN file links sibling ATNs`## §7 Related Anchor Texts`Built into draft template
4TT → ATNTT file lists companion ATNs`## Related Anchor Texts` sectionScripted (per-batch)
5IP → ATNIP file carries `Anchor Text:` fieldScripted taggerScripted (per-batch)
6RB verse → ATNReadable Bible inline linkExtended `add_atn_inline_links.py`Scripted (incremental)

Touchpoints #4-#6 are the integration-script work that follows agent drafting.


4 · The Proven Workflow (5 Steps per Batch)

This is the workflow Phase 1 and Phase 2 B1 validated. Reuse it batch-by-batch.

Step 1 — Discovery (already done for all 38 Mid)

Run `Admin/Scripts/_discover_mid_atn_ips.py` to enumerate vault IPs per candidate anchor. Output:

  • Summary at console (anchor / OT count / NT count / total)
  • Detail report at `Admin/Scripts/_mid_atn_ip_discovery_report.txt`
  • Per-anchor JSON lookup at `Admin/Scripts/_mid_atn_ip_lookup.json`

(For Phase 3 Low tier, write `_discover_low_atn_ips.py` analogously.)

Step 2 — Dispatch parallel drafting agents

Send 8-10 agents simultaneously, each with self-contained prompt embedding:

  • The anchor name + target filename
  • The per-anchor IP list (extracted from the JSON lookup)
  • Methodology pointer (`Admin/Foundation Documents/- Anchor-Text Networks Methodology.md`)
  • Two Mega exemplars to match structurally (pick the closest cousins — e.g., for Servant texts use Isaiah 52-53; for psalm-passion use Psalm 22; for forerunner use Isaiah 40:3)
  • Required-section checklist (YAML → Anchor block → §1 Anchor Text → §2 OT-to-OT → §3 NT verse-by-verse → §4 Critical Citations → §5 Synthesis → §6 Related TTs → §7 Related ATNs → §8 Gap List)
  • Theological framing (Reformed/Westminster, Greidanus + Beale tagging, prosopological notes where applicable)
  • Output target: `Anchor Texts/2 - Mid/.md`

Run them `run_in_background: true` for parallel execution.

Step 3 — Touchpoint #5: IP tagging

After agents return, create `_tag_anchor_texts_phase2_batch.py` (template: copy `_tag_anchor_texts_phase2_batch1.py`). Replace the `ANCHORS` dict with the per-anchor IP lists for this batch. Run. Verify `tagged + already-tagged` counts match expected total.

Edit `Admin/Scripts to Keep/add_atn_inline_links.py` — append the new batch's anchor→verse mappings to the `ANCHORS` dict. Run. Idempotent.

Step 5 — Touchpoint #4: TT cross-refs

Create `_add_related_atns_to_tts_phase2_batch.py` (template: copy `_add_related_atns_to_tts_phase2_batch1.py`). For each overlapping TT, write a 2-3 sentence clarifying paragraph articulating the subject-vs-text complementarity. Run.

Step 6 — Index + CLAUDE.md updates

Edit `Home/Indexes/Anchor Texts Index.md`:

  • Update the "Current status" line (X of 75 built)
  • Replace each newly-built anchor's bullet with `display ✓ Built` form
  • Update Roadmap Phase row

Add a new completion row to `CLAUDE.md` Completed Tracks table.


5 · Remaining Mid Candidates — Prioritized by NT Density

The 28 anchors not yet built. Suggested batch ordering. (IP counts from the discovery report.)

Batch 2 — Top 10 by NT density ✅ COMPLETE (2026-05-24)

All 10 built. Files in `Anchor Texts/2 - Mid/`. Integration shipped: 116 IPs tagged, 37 RB inline links added, 20 TT cross-refs (11 fresh + 9 extensions). The three Servant Song ATNs (Isa 42 + Isa 49 + Isa 53) now form a complete triplet.

Batch 3 — Next 10 ✅ COMPLETE (2026-05-24)

All 10 built. Files in `Anchor Texts/2 - Mid/`. Integration shipped: 38 IPs tagged, 18 RB inline links added, 13 TT cross-refs (3 fresh + 10 extensions).

Batch 4 — Final 8 ✅ COMPLETE (2026-05-24) — Mid tier finale

All 8 built. Files in `Anchor Texts/2 - Mid/`. Integration shipped: 18 IPs tagged, 14 RB inline links added, 11 TT cross-refs (1 fresh: TT 189 + 10 extensions). Mid tier 38/38 complete. Notable Batch 4 anchors: Prov 3:34 (Beale Alternate Textual + shared apostolic catechesis), Zech 12:10 (Yahweh-Servant identity-fluidity + Rev 1:7's Assimilated/Composite with Dan 7:13), Amos 9:11-12 (the SOLE LXX-dependent OT text grounding the entire Jerusalem-Council Gentile-mission decision), Deut 21:23 (penal-substitutionary atonement's clearest Pauline proof-text), Deut 30:12-14 (canon's most extended single-passage Pauline pesher), Ps 45:6-7 (Heb 1 catena's strongest direct-divine-vocative Christology), Isa 7:14 (virgin-birth doctrine's LXX-dependent foundation).


6 · Anchors Worth Reconsidering Before Batch 2

These two surfaced during Batch 1 discovery as outliers:

Exodus 20 (Decalogue) — promote to Mega?

  • Discovery returned 51 IPs (35 OT + 16 NT). This rivals or exceeds several built Mega ATNs.
  • The ATN was drafted as Mid. Decision needed: leave as Mid (keep canonical structure), or rename `Anchor Texts/2 - Mid/...` → `Anchor Texts/1 - Mega/...` and update the index + cross-refs.
  • Recommendation: leave as Mid for now. The Mega tier criterion is "structurally load-bearing in major NT argumentation" — Decalogue is more pedagogically central than apostolically load-bearing. Reconsider after Phase 3.

Exodus 12 (Passover) — same question

  • 39 IPs predicted. Likely also Mega-class on inspection.
  • The text functions as the type-source for the entire Christ-as-Passover-lamb theology (1 Cor 5:7, John 1:29 + 19:36, 1 Pet 1:19, Rev 5:6).
  • Decision deferred to Batch 2. After the agent drafts Exodus 12, evaluate whether the depth justifies Mega promotion.

7 · Phase 3 — Low Tier (~25)

The Low tier candidate list lives in `Home/Indexes/Anchor Texts Index.md` §"Low Tier — Selected Anchor Texts." Key candidates: Gen 22:18, Gen 49:10, Exod 16 (Manna), Exod 17:6 (Water from the Rock), Lev 16 (Day of Atonement), Lev 17:11, Num 21:8-9, Num 24:17, Job 19:25, Ps 89, Ps 95, Ps 102, Ps 132, Prov 8, Isa 8:14, Isa 9:6-7, Isa 52:7, Isa 54:1, Jer 7:11, Ezek 47, Hos 11:1, Zech 6:12-13, Zech 11:12-13.

Phase 3 workflow is identical to Phase 2 — just replace "Mid" with "Low" everywhere. Some of these may downgrade to "skip" status (insufficient citation density to warrant an ATN); the agent's gap-list output will surface that.


8 · Reusable Scripts (Where Everything Lives)

ScriptPurposeReuse Pattern
`Admin/Scripts/_discover_mid_atn_ips.py`Enumerates IPs per Mid candidateRun once per tier; output drives batching
`Admin/Scripts/_mid_atn_ip_lookup.json`Per-anchor IP dataSource for agent prompts
`Admin/Scripts/_tag_anchor_texts_phase2_batch1.py`Template for IP taggerCopy → replace `ANCHORS` dict → run
`Admin/Scripts to Keep/add_atn_inline_links.py`Reusable RB inline-link scriptExtend `ANCHORS` dict for each batch
`Admin/Scripts/_add_related_atns_to_tts_phase2_batch1.py`Template for TT cross-ref insertionCopy → fill `TT_ANCHORS` map per batch
`Admin/Scripts/_phase2_batch1_anchors.txt`Generated anchor-data dumpConvenience for building tagger by copy-paste

All scripts are idempotent. Re-runs skip work that's already done.


8a · Anchor-Block Standard (added 2026-05-24)

Codified after a 60-ATN housekeeping audit revealed translation drift in 38 files. The §1 Anchor Text block must follow this pattern exactly:

## 1. The Anchor Text

*"<span style="color:#1e90ff">[BSB text — pulled verbatim from the Readable Bible chapter file]</span>"* (v.N)

*"<span style="color:#1e90ff">[BSB text for next discrete sense-unit]</span>"* (vv.M-K)

— [[Readable Bible/[##] - [Book]/[Book] [Ch]|[Reference]:[verses]]] (Berean Standard Bible)

**Setting.** [Prose framing the original context — the bold inline label marks
the end of the scripture-quote region.]

Required:

  • Translation = BSB (Berean Standard Bible). Pull verbatim from the

`Readable Bible/` chapter file. No KJV/NKJV/MEV/ESV.

  • Format = plain paragraph, NOT Markdown blockquote (`> `).
  • Blue `` highlighting + `"..."` italic + `"` straight-quote pair.
  • Per-verse markers like `(v.N)` or `(vv.N-M)` after each quote.
  • Attribute the translation by appending `(Berean Standard Bible)` after the

first Readable Bible link in the file.

  • Display text in the RB link must include verse numbers (e.g.,

`Psalm 132:8, 11-12, 13, 17` — not just `Psalm 132`).

Audit tooling:

  • `Admin/Scripts/_audit_atn_translations.py` — scans every ATN and reports

translation drift.

  • `Admin/Scripts/_rewrite_atn_anchor_to_bsb.py --apply` — auto-corrects drift

where verse scope is unambiguous (safety threshold preserves quotes from neighboring verses).

  • `Admin/Scripts/_atn_bsb_handreview.md` — current triage list of ATNs needing

hand-review.

For full rationale see `Admin/Foundation Documents/- Hyperlinked Bible Standard Formatting Practices.md` §2.6 and `- Anchor-Text Networks Methodology.md` §1.


9 · Quality Gates per ATN

Before marking a batch complete, spot-check at least one ATN against these gates:

  • [ ] YAML frontmatter has `tier: Mid` (or Mega/Low), correct `anchor_text`, correct `citations: ~N`
  • [ ] Anchor block at top shows verse text in blue (`"text"`)
  • [ ] All cited IPs use real on-disk filenames (verify with Glob)
  • [ ] At least 2 Critical Citations marked with CRITICAL + rationale
  • [ ] §6 (Related TTs) names ≥1 TT and articulates subject-vs-text distinction
  • [ ] §7 (Related ATNs) names ≥1 sibling ATN
  • [ ] If text has prosopological dimension or distinctive Beale category, mention in body
  • [ ] If important IPs don't exist yet, flagged in §8 Gap List
  • [ ] No original speculation — claims grounded in IP corpus, Greidanus, Beale, or cited scholarship

10 · Session Resumption Checklist

When picking this up in a future session:

  1. Read this plan (you're doing it).
  2. Read Methodology for theological foundation.
  3. Skim one Mega exemplar to remember the structure: Psalm 110.
  4. Pick the next batch from §5 (default: Batch 2 — top 10).
  5. Extract per-anchor IP lists from `Admin/Scripts/_mid_atn_ip_lookup.json`.
  6. Dispatch parallel agents (one Agent call per anchor; all in one message; `run_in_background: true`).
  7. Wait for completion notifications (don't poll; the runtime notifies).
  8. Run integration scripts in order: tagger → RB inline links → TT cross-refs.
  9. Update the Anchor Texts Index + CLAUDE.md.
  10. Commit the batch and stop, or continue with the next batch.

11 · Time Estimate

  • Per batch (10 anchors): ~30-60 min agent drafting (parallel) + ~15 min integration scripting + ~10 min index/CLAUDE updates = ~1.5 hr per batch.
  • Phase 2 remaining (3 batches): ~5 hr total.
  • Phase 3 Low tier (3 batches @ ~8 anchors): ~4 hr total.
  • Total to complete the corpus: ~9 hr of active work, distributable across 2-3 sessions.

12 · Cross-References