Ideas · Builder Notes
Removing the graph engine to keep Kognita a control plane
Why I removed the Graphiti and Kuzu graph engine from Kognita alpha and narrowed it to policies, guidelines and governance records.
Kognita carried a graph engine that pulled in heavy dependencies and capped the OpenAI SDK below version 2. It did not belong in a control plane.
I removed the graph engine (ADR 0008), lifted the openai cap and dropped the extras that existed only for it. Removed names raise an error that points at the decision record and the 0.3.0 pin.
It was a breaking change, so the exit path mattered: anyone who needs the engine can pin the 0.3.0 release. The core also forbids importing the graph libraries.
The roadmap was mapped against the MAS Guidelines on AI Risk Management and the gaps were adopted. Removing a capability is easy to undo in git and harder to undo in users' heads. The pin and the error message are how I handled that.
What I'd do differently
I'd keep the core smaller from the start. The graph engine was never part of the control-plane idea, and removing it later meant a breaking change.
If you're building one
Scope is a design decision. A control plane should hold controls, not everything nearby.
Sources
Kognita is an open-source alpha. This note comes from Kognita PR #32, Kognita PR #33 in the Kognita repository.
