ADR-0021: Divine Principle resource class

Status: Accepted Date: 2026-05-21

Context

Exposition of the Divine Principle (1996 English edition, HSA-UWC; source PDF resources-raw/DivinePrinciple/dp96.pdf, 324 pages) is the canonical doctrinal text of the Unification Church and the primary citation target for vault atomics on creation, fall, and restoration. CONTEXT.md’s citation grammar table has carried a placeholder DP row ([[DP/2-1-Fall-of-Man#32|3.2]]) since the schema was drafted, but no DP file existed in /resources/DP/ and the row’s per-chapter granularity assumption never got pressure-tested.

Stage-1 extraction is complete: scripts/ingest_pdf.py --split-level 4 produced 59 section-granularity markdown files under resources-raw/DivinePrinciple/extracted/part-{1,2}/{NN-chapter-slug}/section-{N}-{slug}.md. The PDF’s bookmark hierarchy is Part (L2) → Chapter (L3) → Section (L4) → Sub-subsection (L5). Front matter (Preface, Introduction — both L2 with no sub-bookmarks) was not captured by --split-level 4 and is deferred to a follow-on extraction.

Structural notes from the extract:

  • 7 chapters per part × 2 parts = 14 chapters. Sections per chapter range 4–6.
  • A single chapter’s worth of section files totals ~70–100 KB; an individual section is ~5–30 KB.
  • DP sections are themselves doctrinally coherent units (e.g. “The Root of Sin”, “The Four Position Foundation”) — citation targets in the wild typically point at a section, not a sub-subsection.
  • Marker emits chaotic heading depth (## **Section N Title** H2, #### **N.M Subtitle** H4, mixed bold) and orphan inline footnote refs (e.g. John 8:44.23 where 23 is a stranded footnote number with no definition emitted anywhere in the extract). Tier-2/3 cleanup territory.

Decision

  • Class code: DP

  • Path: /resources/DP/

  • File granularity: one file per section (per-section carve-out from ADR-0004’s chapter default — see ADR-0004 update). DP sections are coherent doctrinal units typically 3–15 paragraphs long, which is the natural citation anchor and a comfortable reader/AI context size.

  • Folder structure: /resources/DP/Part{N}/Chapter{NN}-{chapter-slug}/dp-{section}-{section-slug}.md. Mirrors ADR-0020 WorldScripture’s 3-level pattern: Part folder (single-digit Part1/Part2), Chapter folder (zero-padded Chapter01Chapter07 + chapter slug for navigability), section file (single-digit dp-N- prefix + section slug). Section ordinals 1–6 stay single-digit since no chapter exceeds 6 sections.

  • Filename: dp-{section}-{section-slug}.md. WS-style — section ordinal lives in the filename so alphabetical sort matches print order; Part/Chapter live in folder path only (no dp-1-1-1- triple repetition).

  • Citation form:

    • Section (file-level): [[resources/DP/Part{N}/Chapter{NN}-{chapter-slug}/dp-{section}-{section-slug}]]
      • Example: [[resources/DP/Part1/Chapter02-the-human-fall/dp-1-the-root-of-sin]]
    • Subsection (H2 anchor): [[resources/DP/Part{N}/Chapter{NN}-{chapter-slug}/dp-{section}-{section-slug}#nm-heading-text|N.M Heading Text]]
      • Example: [[resources/DP/Part1/Chapter02-the-human-fall/dp-1-the-root-of-sin#13-the-fall-of-the-angel-and-the-fall-of-human-beings|1.3 The Fall of the Angel and the Fall of Human Beings]] (anchor is verbatim heading text; see ADR-0024)
  • Frontmatter shape:

    ---
    type: resource
    class: DP
    part: {1-2}
    chapter: {1-7}
    chapter-title: "{Chapter title}"
    section: {1-6}
    section-title: "{Section title}"
    book: "Exposition of the Divine Principle"
    publisher: "HSA-UWC"
    year: 1996
    ---

    Section title carries via frontmatter only (Obsidian/Quartz render frontmatter title as page H1). No # Section N. Title body heading — would duplicate the frontmatter. Subsections begin at ## N.M. Title (H2), sub-subsections at ### N.M.K. Title (H3). Matches CSG body convention shifted up one level since the section is the file rather than a heading within it.

  • Heading-depth normalization (stage-2, AI in chat):

    • Drop the ## Chapter N + ## {Chapter title} block at the top of each chapter’s first section file (chapter context lives in folder name + frontmatter chapter-title:).
    • Drop the section-title heading entirely (## **Section N Title**) — replaced by frontmatter section-title:.
    • Strip bold markup from subsection headings (#### **1.1 Foo**## 1.1. Foo).
    • Normalize subsection heading depth to H2 regardless of Marker’s emitted depth (H2 / H4 mix in the extract).
    • Sub-subsection headings → H3 with trailing period (### N.M.K. Title).
  • Bible-reference reshape (stage-2, AI in chat): Marker emits in-prose Bible attributions as headings (## - Jude 6-7) when they follow a block quotation. Convert to em-dash attribution lines (> …\n> — Jude 6-7) inside the preceding blockquote. Not scriptable — ## - is ambiguous against true headings; needs interpretive context.

  • Footnote handling (stage-2, AI in chat): Marker lost footnote definitions entirely (none emitted anywhere in the 59-file extract). Orphan inline refs surface as digits glued to preceding tokens (e.g. Genesis 3:6.16). Stage-2 strips the trailing-digit orphan where context is unambiguous, and leaves a TODO comment otherwise. Recovery of definitions deferred to a future re-extraction pass or manual transcription from the PDF — out of scope for this ADR.

  • Class category: Primary doctrinal source (UC core canon), same bucket as CSG. Cited by reference-class atomics throughout the vault.

  • Quartz hierarchical filter tree (per ADR-0018):

    DP: {
      pathPattern: /DP\/(Part\d+)\/(Chapter\d+-[\w-]+)\/(dp-\d+-[\w-]+)/,
      levelNames: ["Part", "Chapter", "Section"],
    }
  • Front/back matter: deferred. Preface and Introduction (the only front matter; no back matter) are L2 PDF bookmarks with no sub-bookmarks, so --split-level 4 skipped them. A follow-on ingest_pdf.py invocation with a different split level or explicit page ranges will route them to DP/00-front-matter/dp-preface.md and DP/00-front-matter/dp-introduction.md via the existing front-matter classifier.

Alternatives considered

  • Per-chapter granularity (matching the original CONTEXT.md placeholder and CSG/BR pattern). Rejected. Three reasons:
    1. Stage-1 extracted at section-level naturally (Marker bookmark depth 4); merging back to per-chapter would discard structural signal already present.
    2. A typical DP chapter aggregated would run 70–100 KB / ~3000–5000 words — past the comfortable read/AI-context window, comparable to the WorldScripture chapter pilot that drove ADR-0020’s per-sub-theme flip.
    3. Citation in the wild points at sections more often than at chapters; per-section files make those citations zero-anchor (file-level link, no #section fragment), reducing brittleness when subsection numbering shifts.
  • Flat layout at /resources/DP/ (no Part/Chapter folders, dp-1-2-1-the-root-of-sin.md style). Rejected — 59 files in a flat folder loses navigability; Part/Chapter folders make ls reveal reading order.
  • Part{N}/ only, no Chapter folder (dp-1-2-1-the-root-of-sin.md flat under Part1). Rejected — 7 chapters × ~5 sections = ~35 files per Part directory, alphabetized away from print order. Chapter folder restores reading-order grouping (matches ADR-0020 WS precedent).
  • CSG-style filename repetition (dp-1-2-1-the-root-of-sin.md). Rejected — folder path already carries Part and Chapter; repeating in filename adds noise without disambiguation benefit. WS precedent prefers folder-as-hierarchy.
  • Keep “DP” as a placeholder citation row in CONTEXT.md (defer ADR until first atomic cites DP). Rejected — the placeholder example ([[DP/2-1-Fall-of-Man#32|3.2]]) doesn’t match the extracted PDF’s chapter numbering (Fall is Part 1 Ch 2, not Part 2 Ch 1) and would mislead any agent referencing it. Settling the grammar now prevents downstream rework.

Consequences

  • (+) DP becomes citable. The 14 chapters × ~5 sections = ~70 leaf files materialize under /resources/DP/, indexable by the Quartz hierarchical filter and reachable via wikilink.
  • (+) Per-section granularity matches typical citation precision — atomics rarely need sub-subsection anchors for DP material, and when they do, the H2 anchor inside the section file suffices.
  • (+) Folder hierarchy is consistent across the three multi-level classes (CSG: Book/Chapter, WS: Part/Chapter/Sub-theme, DP: Part/Chapter/Section). Quartz hierarchical filter entries follow the same shape.
  • (+) Tier-1 staging is fully scripted (per ADR-0019 update): uv run scripts/stage_resources.py DP produces 59 staged files with frontmatter, page-anchor strip, smart-quote normalization. Tier-2 (heading-depth + Bible-ref reshape) and tier-3 (footnote orphan cleanup, OCR fixes) stay AI-in-chat.
  • (−) Footnote definitions are lost from the extract. Atomics needing precise footnote-resolved Bible citations will have to recover them from the PDF directly. Acceptable since DP’s prose typically inlines Bible references already (-Rom. 1:20, -Matt. 7:1-2), and the orphan digits are mostly redundant superscript numerals.
  • (−) Front matter (Preface, Introduction) requires a follow-on extraction run. Tracked separately; not blocking the chapter ingest.
  • (−) The placeholder CONTEXT.md example citation form ([[DP/2-1-Fall-of-Man#32|3.2]]) becomes obsolete and any past plan that referenced it needs translation to the new grammar. No vault files currently use it (DP folder was empty), so impact is documentation-only.