{
	"nodes":[
		{"id":"n1","type":"text","x":80,"y":120,"width":220,"height":90,"text":"User sessions\nwebchat\nDiscord\nTelegram"},
		{"id":"n2","type":"text","x":360,"y":80,"width":260,"height":180,"text":"OpenClaw runtime\n\nMain runtime\nMemory search\nCron\nWorkspace scripts"},
		{"id":"n3","type":"text","x":700,"y":40,"width":240,"height":140,"text":"Search + retrieval\n\nSearXNG :18803\nBrave MCP :18802\nOllama embeddings :18807"},
		{"id":"n4","type":"text","x":700,"y":220,"width":240,"height":140,"text":"Execution services\n\nllama.cpp Gemma :18806\nn8n-agent :18808\nwhisper.cpp :18801\nKokoro :18805"},
		{"id":"n5","type":"text","x":1020,"y":60,"width":220,"height":100,"text":"Obsidian API\n:27123\nShared vault bridge"},
		{"id":"n6","type":"text","x":1020,"y":220,"width":240,"height":140,"text":"Persistence + targets\n\nMinIO bucket zap\nGitea repo\nPi cluster swarm ns"}
	],
	"edges":[
		{"id":"e1","fromNode":"n1","toNode":"n2","label":"drives","fromSide":"right","toSide":"left"},
		{"id":"e2","fromNode":"n2","toNode":"n3","label":"retrieves from","fromSide":"right","toSide":"left"},
		{"id":"e3","fromNode":"n2","toNode":"n4","label":"executes via","fromSide":"right","toSide":"left"},
		{"id":"e4","fromNode":"n2","toNode":"n5","label":"reads/writes notes","fromSide":"right","toSide":"left"},
		{"id":"e5","fromNode":"n2","toNode":"n6","label":"backs up / syncs / deploys","fromSide":"right","toSide":"left"}
	]
}