ziksaka-mcp/2025-09-10
ShippedTyped edges over naive vault links
CostEvery capture step got slower for humans.
MCPknowledge-graphschema
Constraint
Agents querying the vault needed causal truth, not a bag of wikilinks. A dossier that treated "attended" and "blocked-by" as the same edge type would invent precedence the notes never claimed. The schema had to force a type and a timestamp on every edge before tools like get_dossier shipped.
Options
- Keep Obsidian's native links as-is and let the model infer relationship type from surrounding prose.
- Require typed edges (relation + timestamp) at write time, and reject or quarantine untyped links from agent-facing tools.
- Store a separate "agent graph" beside the vault and sync it on a schedule, leaving human notes untouched.
Chose
Option 2. The tradeoff: every capture step got slower. Seeds and meeting notes that used to be a quick [[Name]] now need a relation. Humans feel the friction. Agents stop hallucinating causality. I accepted the write-time tax because the read-time lie was more expensive once an agent acted on it.