Overview
aDNA (by Lat Labs) is an open-source starter kit for building AI-native knowledge systems with 🏷️#obsidian and 🏷️#claude-code. MIT licensed. It's a local-first file protocol — not a platform or service — that structures an Obsidian vault for agent-friendly navigation and collaboration.
The core paradigm is a "triad" of three directories:
- what/ — knowledge objects (context files, decision records, specs, lattice definitions)
- how/ — operations (sessions, missions, campaigns, pipelines, templates, skills, backlog)
- who/ — organization (governance, roles, cross-agent coordination)
Architecture
Base Ontology (14 entity types, v3.0)
- WHO (3): governance, team, coordination
- WHAT (4): context, decisions, modules, lattices
- HOW (7): campaigns, missions, sessions, templates, skills, pipelines, backlog
All 14 base types are invariant (never renamed or removed). Extensions are additive and namespaced ({domain}_{entity_type}).
Agent Navigation
Every directory contains an AGENTS.md file that tells Claude Code what's in the folder, what to load, and what to skip. Progressive disclosure minimizes token consumption. The convergence model narrows token budgets at each level: Instance (~500K) → Campaign (~50K) → Mission (~15K) → Objective (~5K).
Execution Hierarchy
Campaign → Phase → Mission → Objective → Session. Human approval gates between campaign phases. Sessions produce a SITREP + "Next Session Prompt" for continuity across conversations.
Lattice YAML
Directed graphs defined in YAML that model workflows, pipelines, and knowledge relationships. JSON Schema validation. Bidirectional conversion to Obsidian Canvas. Four lattice types: pipeline, agent, context_graph, workflow. Three execution modes: workflow, reasoning, hybrid. Federation support with lattice:// URI scheme.
Python Tools
Three scripts (stdlib only — no external dependencies, no network calls):
lattice_validate.py— validate .lattice.yaml against JSON Schemalattice2canvas.py— YAML → Obsidian Canvas JSONcanvas2lattice.py— Canvas → YAML
Obsidian Setup
setup.sh bootstraps 11 community plugins (dataview, templater, meta-bind, homepage, tasks, style-settings, advanced-tables, omnisearch, terminal, folder-notes, notebook-navigator) and Tokyo Night theme. 10 custom CSS snippets.
Key Design Patterns
- AGENTS.md routing — directory-level index files that control what agents load. Token-efficient progressive disclosure
- Session SITREP + Next Session Prompt — structured handoff artifact at session close for cross-conversation continuity
- Two-tier session tracking — Tier 1 (lightweight: ID, intent, files touched) vs. Tier 2 (shared config edits: scope declaration, conflict scan, heartbeat)
- Collision prevention — read-before-write protocol,
updatedtimestamp checking,last_edited_byfield - PRD/RFC pipeline — 4-stage content-as-code workflow: research → requirements (human gate) → design → review (human gate)
Security Assessment (2026-04-09)
- No secrets or credentials in repo.
.env,.mcp.json,.claude/gitignored - No remote API calls — Python tools use only stdlib
- No npm dependencies or supply chain surface
terminalplugin enabled (allows shell from Obsidian) — worth noting but not a vulnerability.obsidian/committed to git intentionally (vault works on clone)
Genuinely thoughtful about token efficiency and agent navigation. The AGENTS.md routing pattern and session continuity protocol are worth adopting. But it's a scaffold, not a platform — no persistence layer, no remote access, no API, no multi-user support. The "federation" spec is aspirational documentation, not working code. Best understood as a well-designed convention set for local AI-agent knowledge work.
