An AI-first Obsidian vault framework that weaves captured sources into reviewed knowledge, generated wiki pages, and a connected multi-topic graph.
The framework treats Markdown as the durable source format and separates captured material, reviewed knowledge, and generated synthesis. It is intentionally model-agnostic: your vault should outlive any particular AI provider.
[!IMPORTANT] This repository contains example content only. Create a new private repository from this template before adding personal, confidential, or copyrighted material.
Core model
Owner Asset / absolute HTTP(S) URL / Inbox / Daily
|
v
Source processing (editable intake)
|
v
Owner review (direct or signed source_review)
|
v
Current-byte Asset revalidation
|
v
Concept draft -> owner claim/citation review -> optional evergreen
|
+------------------+
v v
Wiki MOCs
|
v
Projects / Areas
- One vault, many topics. Technology, food, travel, career, and other subjects connect through links and metadata instead of separate vaults.
- Evidence before synthesis. Source material is preserved; durable claims point back to it.
- Human-reviewed truth.
Knowledge/is canonical. AI may draft there, but a human changesstatustoevergreen. - Generated pages are replaceable.
Wiki/pages declare their inputs and can be rebuilt when models or prompts improve. - Agents are governed.
AGENTS.mdand.agents/policies/define what an agent may read, create, or change. - One root by default. The active Codex session runs bounded skills sequentially; custom read-only agents are an owner-approved advanced option.
- Skills are reusable. Repo-scoped skills route capture, distillation, synthesis, auditing, and orchestration consistently.
- Asset or URL intake. Owners may supply local files in
Assets/or record absolute HTTP(S) URLs;$capture-vault-sourcecreates editable processing Sources without fetching, copying, or overwriting resources. - Plain Markdown wins. The vault remains usable without a plugin, database, or hosted service.
Repository map
| Path | Purpose | Default owner |
|---|---|---|
Inbox/ |
Unprocessed capture | Human + agent |
Assets/ |
Owner-supplied binary evidence | Human-led; agent read/bind only |
Sources/ |
Editable processing intake, then faithful append-only reviewed records | Human; agent creates processing intake |
Knowledge/ |
Atomic, cited concept notes | Human-reviewed |
Wiki/ |
Regenerable synthesis | Agent-generated |
MOCs/ |
Maps of Content and navigation | Shared |
Projects/ |
Time-bound outcomes | Human-led |
Areas/ |
Ongoing responsibilities | Human-led |
Daily/ |
Chronological observations | Human-led |
Archive/ |
Inactive material | Shared |
Templates/ |
Note templates | Maintainers |
.agents/ |
Prompts, policies, and workflows | Maintainers |
.codex/ |
Project-scoped agent and orchestration configuration | Maintainers |
schemas/ |
Machine-readable frontmatter contract | Maintainers |
See Architecture for the full lifecycle.
How Loreloom compares
Andrej Karpathy's LLM Wiki gist is an intentionally abstract design pattern, Loreloom is the repository-and-vault framework documented here, and Karpathy LLM Wiki is Greener-Dalii's third-party Obsidian plugin inspired by the gist.
| Dimension | Karpathy's LLM Wiki gist | Loreloom | Karpathy LLM Wiki plugin |
|---|---|---|---|
| Form | An intentionally abstract idea file/prompt whose user and agent design the implementation | A GitHub template and Obsidian vault with schemas, validators, policies, skills, and portable core settings | A third-party Obsidian community plugin that implements an AI-generated wiki |
| First setup | Paste the gist into an agent and collaborate on structure and tooling | Create a private template copy, install Git and uv, run the read-only doctor, then open the repository root in Obsidian |
Install and enable the plugin, then configure a supported cloud or local LLM provider |
| Knowledge boundary | Raw sources are immutable; the LLM owns and maintains the derived wiki; human review policy is left to the implementation | Reviewed Knowledge/ notes are canonical; agents may draft them, while Wiki/ is regenerable synthesis from declared inputs |
Original vault notes are not modified; generated pages live under wiki/, and reviewed: true protects a generated page from overwrite |
| AI interface | Any external agent chosen by the user | The external root Codex session and terminal validators; no in-Obsidian AI command or query UI | Obsidian command-palette and side-panel workflows for ingest, query, lint, and maintenance |
| Retrieval | index.md first, with optional search such as qmd; no retrieval implementation is required by the gist |
Wikilinks, MOCs, declared Wiki inputs, and ordinary file search; no required embedding database or built-in query service | Lexical/LLM seed selection followed by Personalized PageRank over the generated wiki-link graph; no embedding index |
| Governance | A co-evolved schema/instruction file; enforcement depends on the implementation the user builds | Frontmatter schema, provenance, Asset hashes, Source review, human promotion gates, Git review, and optional advanced signed approvals | Plugin settings, lint/maintenance operations, contradiction states, and reviewed-page overwrite protection |
| Model and platform contract | Defined by the implementation the user chooses | Shipped Codex config has no model pin; core doctor/validator coverage runs on Ubuntu, macOS, and Windows with Python 3.11/3.13; advanced guarded changes require POSIX or WSL | The user configures a provider; manifest metadata declares Obsidian 1.11+ and isDesktopOnly: false |
| Best fit | Building a minimal custom system from the original design pattern | Provenance-sensitive, Git-reviewed knowledge where human authority boundaries are the main requirement | Convenient in-Obsidian ingestion, generated-wiki navigation, and conversational query |
Choose the gist to design a bespoke system, the plugin for in-Obsidian AI operations, or Loreloom when traceability and review boundaries are the primary requirement. Loreloom's contracts are detailed in Architecture, Frontmatter schemas, and Advanced multi-agent execution.
External plugin facts above were checked on 2026-07-20. Volatile release, download, star, and test counts are intentionally omitted; use the linked primary sources for current details. The Obsidian community registry entry currently says the plugin has not been manually reviewed by Obsidian staff. It is not authored by Obsidian or Andrej Karpathy.
[!WARNING] Do not install Karpathy LLM Wiki into a Loreloom vault during onboarding. The plugin defaults to
wiki/, while Loreloom managesWiki/; those names can resolve to the same directory on case-insensitive filesystems, and the two generated layers follow different authority rules. Use separate vaults rather than combining them without a separately designed integration.
Start your own vault
On GitHub, choose Use this template, create a private repository, and do not include every branch. Use a fork only to contribute framework changes.
Clone your new repository by HTTPS or SSH and enter its root:
git clone https://github.com/YOUR-NAME/YOUR-PRIVATE-VAULT.git cd YOUR-PRIVATE-VAULTInstall Git and uv from their official installers, then check both.
uvprovisions the required Python automatically.git --version uv --versionRun the read-only readiness check:
uv run --locked python scripts/doctor_vault.pyContinue only when the final line is
Core readiness: READY. The public framework checkout intentionally fails itsremote-privacycheck; use a private template copy for personal material.In Obsidian, choose Open folder as vault and select the repository root. Portable core settings for Properties, Templates, Daily Notes, attachments, and link updates are already committed. No community plugin is required.
Follow Build your personal vault to complete one Asset → reviewed Source → draft Concept → MOC cycle. For optional read-only personalization help, use the single bootstrap prompt in .agents/prompts/00-bootstrap-vault.md.
Framework contributors may clone the public repository, but must keep personal material out of it:
git clone https://github.com/yi-john-huang/loreloom.git
cd loreloom
uv run --locked python scripts/doctor_vault.py
The public-origin failure is expected in that checkout; the remaining checks still diagnose framework readiness.
Validation
Run:
uv run --locked python scripts/doctor_vault.py
uv run --locked python scripts/validate_vault.py
uv run --locked python -m unittest discover -s tests -v
The validator checks:
- required and type-specific YAML frontmatter;
- ISO dates and controlled values;
- unresolved Obsidian wikilinks;
- local Asset references, existence, hashes, and embedded attachment links;
- semantic rules such as reviewed evergreen Concepts and declared Wiki inputs;
- repository hygiene such as ignored private files.
For advanced owner-approved multi-agent changes, scripts/validate_change.py additionally compares the diff with an immutable pre-task HEAD and filesystem snapshot, then enforces exact output scope, protected paths, strict processing Source admission, append-only reviewed Sources, signed source_review, review/archive gates, and preserved Wiki human blocks. Gated approvals require a short-lived, path-specific receipt under protected Git metadata. Native Windows users run this advanced path in WSL. See Advanced multi-agent execution.
GitHub Actions runs the vault validator and adversarial guardrail tests on pushes and pull requests.
Python toolchain
.python-versionselects Python 3.13.pyproject.tomldeclares validation dependencies.uv.lockpins the complete cross-platform dependency graph and is committed.uv sync --locked --devreproduces the environment without changing the lockfile.- When intentionally updating dependencies, run
uv lock --upgrade, validate, and commitpyproject.tomlanduv.locktogether.
What this framework does not do
- It does not automatically trust AI output.
- It does not copy entire web pages into a public repository.
- It does not require embeddings or a vector database.
- It does not prescribe PARA, Zettelkasten, or a single topic taxonomy.
- It does not make Git a real-time sync engine; choose sync separately from version control.
Comments