Nous.Decisions.Store.DuckDB (nous v0.17.2)

Copy Markdown View Source

DuckDB-backed decision graph store.

Nodes and edges live in two DuckDB tables; path, ancestor and descendant queries are recursive CTEs over the edge table (plain SQL — no DuckPGQ or other extension to install, so the store works on a stock duckdbex). Traversals are bounded (10 hops for a path, 100 for ancestors/descendants) and cycle-safe via a visited-path check.

Options

  • :path - database file path (default: ":memory:")

Quick Start

{:ok, state} = Nous.Decisions.Store.DuckDB.init([])
node = Nous.Decisions.Node.new(%{type: :goal, label: "Ship v1.0"})
{:ok, state} = Nous.Decisions.Store.DuckDB.add_node(state, node)