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.
| Type | Folder | Purpose |
|---|---|---|
| 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: referencerequiressources:.provenance: experiencerequiresattribution:.
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 / PrayerNo 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).
| Class | Source folder | Resource file granularity | Citation 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:
- AI flags request in batch
REVIEW.mdwith justification - User approves
- Tag added to
_meta/tags.mdin 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.mdsummarizing 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:
- Open questions raised — max 3, prioritized
[critical | interesting | minor]. Each cites the specific note/source that triggered it. - Proposed threads — when a tag cluster has 5+ atomics with no thread, suggest one (with seed atomics listed).
- 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.
- No new tag without REVIEW.md flagging + user approval committed in same batch
- No atomic body >200 words
- No thread without
## Counter-argumentAND## Responsesections (Response may say “Still wrestling — [reason]”) - No counter-argument that lacks a cited critic OR a “source not located” disclaimer
- No citation that doesn’t match its class’s grammar rule above
- No commit that touches files outside the active staging batch (during a batch run)
- Person/Glossary
## Referenced bysections 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.