Zettle — Vault Rulebook

This file is the source of truth for how the vault is structured. Every AI session reads this first. Every rule here is enforceable; deviations are bugs.

For why each rule was chosen, see _meta/adr/.


Mission

A Zettelkasten-style knowledge vault for solidifying belief in Unification Church teachings through atomic-note distillation, thread-based wrestling with counter-arguments, and shareable publication. AI manages structure and hygiene; user owns ideas and judgment.

Note typology

Seven types. AI may not invent new types without an ADR.

TypeFolderPurpose
Resource/resources/{class}/Raw cited text (book chapter, transcript, speech)
Atomic — reference/reference/One idea, grounded in a resource citation
Atomic — experience/experience/One idea, from observation/conversation/intuition (no findable source)
Thread/threads/Compound argument: claim + reasoning + counter + response
Sermon/sermons/{pastoral,worship-redirect}/Output artifact derived from threads
Question/questions/Open inquiry, gains status: answered when a thread resolves it
Person/persons/Thin index of who said what
Glossary term/glossary/Defined vocabulary (e.g. indemnity, Sungsang)

Atomic note schema (reference & experience)

Hard cap: 300 words body. If you exceed, it’s a thread, not an atomic. One claim per note — atomic means atomic.

---
title: Fall of Man as Misuse of Love
type: atomic
provenance: reference         # reference | experience
tags: [fall, love, free-will] # closed registry — see _meta/tags.md
sources:                       # required for provenance: reference
  - "[[DP/2-1-Fall-of-Man#32|3.2]]"
  - "[[Bible/Genesis#36|3:6]]"
attribution: ""                # required for provenance: experience (free text)
related:
  - "[[indemnity-definition]]"
created: 2026-05-19
---
 
**Claim.** One sentence stating the idea.
 
**Elaboration.** One to two short paragraphs unpacking it, with inline [[citations]].
 
**See also.** Optional.

Rules:

  • Filename = slug (e.g. fall-as-misuse-of-love.md). No timestamps in name.
  • No status: field. Atomic notes are factual extractions, not personal positions. Wrestling lives in threads.
  • Citations appear in BOTH sources: frontmatter AND inline body. AI keeps them in sync.
  • provenance: reference requires sources:. provenance: experience requires attribution:.

Thread schema

Cap: 1500 words. Beyond that, split.

---
title: Why the Fall Required Restoration through Indemnity
type: thread
tags: [fall, indemnity, restoration]
atomics:
  - "[[fall-as-misuse-of-love]]"
  - "[[indemnity-definition]]"
created: 2026-05-19
---
 
## Claim
One sentence.
 
## Reasoning
Prose weaving the linked atomics. Every `[[atomic]]` is load-bearing.
 
## Counter-argument
The strongest opposing view, steel-manned. **Must cite a real critic** with source. If no source found but argument is valid, include with disclaimer: *"Note: source not located — provisional."* Outlandish/strawman counters: delete.
Prefer one counter; multiple allowed only if all are independently strong.
 
## Response
How you answer — or honestly: **"Still wrestling — [specific unresolved point]."** Empty response = bug.

Sermon schema

---
title: Easter 2026 — Resurrection as Restoration
type: sermon
sermon-kind: pastoral      # pastoral | worship-redirect
occasion: "Easter Sunday 2026-04-05"
duration-target: 15min
threads:
  - "[[why-the-fall-required-restoration]]"
created: 2026-05-19
---
 
## Hook
## Beats
## Call / Prayer

No word cap. Sermons are storytelling, linked back into threads.

Question schema

---
title: Does indemnity contradict grace?
type: question
tags: [indemnity, grace]
status: open               # open | answered
answered-by: ""            # link to thread when resolved
priority: interesting      # critical | interesting | minor
created: 2026-05-19
---
 
**Question.** ...
**Why it matters.** ...
**Current best guesses.** ...

Person schema

Thin index. Real content lives in atomics/threads that link here.

---
title: Sun Myung Moon
type: person
aliases: [SMM, True Father]
role: "Founder of Unification Church"
created: 2026-05-19
---
 
**Summary.** One paragraph.
 
## Referenced by
<!-- AUTO-GENERATED — do not edit. Regenerated on every batch finalize. -->

Glossary schema

---
title: Indemnity
type: term
aliases: [indemnity-condition, tangam]
korean: "탕감"
related:
  - "[[restoration]]"
created: 2026-05-19
---
 
**Definition.** One sentence.
 
**Expanded.** One to two paragraphs, citing canonical sources.
 
## Referenced by
<!-- AUTO-GENERATED — do not edit. Regenerated on every batch finalize. -->

Citation grammar

Per resource class. If a class isn’t listed, do not ingest until grammar is added here (with an ADR).

ClassSource folderResource file granularityCitation form
Divine Principle/resources/DP/one file per chapter (e.g. 2-1-Fall-of-Man.md)[[DP/2-1-Fall-of-Man\#3.2]]
Cheon Seong Gyeong/resources/CSG/one file per chapter, nested in book subfolder (e.g. Book01/csg-01-01-the-original-being-of-god.md) — hierarchy: Book (folder) → Chapter (file) → Section (H1) → Subsection (H2, numbered 1.1.)[[CSG/Book01/csg-01-01-the-original-being-of-god\#1.1.-the-incorporeal-god]]
Bible/resources/Bible/one file per book (e.g. John.md) — chapters as ## 3, verses as ### 16[[Bible/John\#3:16]]
Sun Myung Moon speeches/resources/SMM/one file per speech (date-location slug)[[SMM/1973-12-31-belvedere\#§4]] — official English (tparents.org) only for now
Transcripts/resources/Transcripts/one file per talk[[Transcripts/2024-03-15-pastor-kim-on-indemnity\#§3]] or [[...\#[12:34]]] for timestamps
BR — Believer’s Responsibility (Hendricks, 2010)/resources/Believers-Responsibility/one file per chapter (e.g. 01-church-growth-begins-with-god.md)[[Believers-Responsibility/01-church-growth-begins-with-god\#section-heading]]

UC secondary literature (BR class is the first; future books like Purpose-Driven Church, 365 Tao get their own short codes via their own ADRs).

Adding a new class requires: ADR + entry in this table + sample resource ingested for validation. If the class has nested folder hierarchy (Book → Chapter → …), also add an entry to the hierarchical config in quartz.config.ts — see ADR-0018.


Tag registry

Tags are a closed registry. AI may not invent new tags. See _meta/tags.md for the current list. Adding a tag requires:

  1. AI flags request in batch REVIEW.md with justification
  2. User approves
  3. Tag added to _meta/tags.md in same commit

Provenance rule

Every atomic is either reference (cites a resource) or experience (cannot be cited; based on observation, heard, intuition). They live in separate folders for visual separation. Migration between folders is rare but supported (link auto-update via Obsidian on rename/move).

Index notes (Person, Glossary)

Person and Glossary notes contain a ## Referenced by section that is auto-generated from wikilinks. AI maintains it during batch finalization. Pre-commit hook validates that ## Referenced by matches actual reverse links in the vault. Mismatch = commit fails.

No manual mentions: frontmatter field — wikilinks ARE the mention.


Workflow

Batch staging (review gate)

All AI-generated content lands in /staging/{batch-id}/ first, never directly in final folders. Each batch produces:

  • The proposed notes (atomics, threads, etc.)
  • REVIEW.md summarizing what changed, plus a Proposed work section (see below)

Batch ID naming. Use descriptive slugs: primary pattern is {resource-class}-{chapter-slug} (e.g., csg-01-03, br-07-methods-for-transitioning). For non-resource batches use a short topic slug (e.g., worship-leader-grilling). Sequential batch-0## IDs are deprecated.

User reviews in Obsidian/VS Code, edits or rejects in place. On approval, AI copies REVIEW.md to _meta/batch-reviews/{batch-id}.md, moves accepted notes to final locations, updates index notes, commits. Staging folder is retained in git. Skipping the archival step = process gap; must be noted in the commit message.

REVIEW.md — Proposed work section

Every batch’s REVIEW.md ends with three lists:

  1. Open questions raised — max 3, prioritized [critical | interesting | minor]. Each cites the specific note/source that triggered it.
  2. Proposed threads — when a tag cluster has 5+ atomics with no thread, suggest one (with seed atomics listed).
  3. Stale wrestling — threads with “Still wrestling” Response that haven’t been touched in 3+ batches.

Rejected proposals are logged in _meta/rejected-proposals.md so AI doesn’t re-suggest.

Ingestion review gate

When ingesting a new resource, AI shows: file count, heading structure, citation sample. User confirms before AI produces atomics from it. Prevents broken-citation cascades.


AI hard rules

Enforced by pre-commit hook (scripts/pre-commit-hook.py, installed as .git/hooks/pre-commit). AI cannot bypass — failed hook = failed commit = AI must fix and retry. See ADR-0017 for what is enforced vs deferred.

  1. No new tag without REVIEW.md flagging + user approval committed in same batch
  2. No atomic body >200 words
  3. No thread without ## Counter-argument AND ## Response sections (Response may say “Still wrestling — [reason]”)
  4. No counter-argument that lacks a cited critic OR a “source not located” disclaimer
  5. No citation that doesn’t match its class’s grammar rule above
  6. No commit that touches files outside the active staging batch (during a batch run)
  7. Person/Glossary ## Referenced by sections must match the vault’s actual wikilink graph

Model routing (script-only; chat mode just uses Opus)

When running scripts/process_batch.py:

  • Opus 4.7 — “Generate” tasks: atomization, thread synthesis, counter research, sermon drafting, judgment-on-meaning calls
  • Haiku 4.5 — “Check” tasks: schema validation, word count, tag lookup, index regeneration, citation grep, REVIEW.md cost report

Mnemonic: Generate = Opus. Check = Haiku.

Cost reporting

Every batch’s REVIEW.md ends with a cost table (input/output/cached tokens per phase + $ total). In pure-chat pilot mode, this is omitted; cost visibility is via Anthropic dashboard until the script lands.


Publishing

Quartz v4 → Cloudflare Pages. Auto-build on push to main via GitHub Actions. URL structure mirrors folder structure exactly.

Most folders publish (atomics, threads, sermons, questions, persons, glossary, resources, _meta/adr/, CONTEXT.md). Excluded via Quartz ignorePatterns: _meta/quartz/, _meta/rejected-proposals.md, staging/, resources-raw/, scripts/, README.md, .obsidian/. See ADR-0010 for the full list and rationale.

What this file is NOT

  • Not a tutorial. See _meta/adr/ for reasoning.
  • Not exhaustive. New patterns get added here as they’re decided (via ADRs).
  • Not optional. If AI ignores any rule above, that’s a bug to report and fix.