Study, not Check
The third step asks what did we learn?, not did it pass?. An LLM judges the result against the Plan’s expected evaluation and records a verdict: met partial unmet.
# Windows x64 · Linux x64 · macOS (Apple Silicon) npm i -g @webnori/pdsa pdsa version
How it works
A PDSA cycle is four commands. plan makes the LLM commit to a verifiable expected outcome; study
judges the result against it (met / partial / unmet); act decides whether to reinforce. Every step is
written to a per-project Kùzu graph DB — so the learning compounds across runs.
Features
Study, not Check
The third step asks what did we learn?, not did it pass?. An LLM judges the result against the Plan’s expected evaluation and records a verdict: met partial unmet.
Graph memory, per project
Every Plan/Do/Study/Act node and REINFORCES edge lands in an in-process Kùzu graph DB at
{LocalAppData}/pdsa-cli/{project}/graph.kuzu. Read it back with Cypher; visualize it with pdsa view.
Recall as a metric
Progress isn’t vibes — it’s an expectation hit-rate (met / cycles-with-a-verdict), surfaced in
status, eval, and the viewer.
Bring any LLM
OpenAI API keys, keyless open-weight endpoints (ollama · vLLM · LM Studio), GPT OAuth, Codex, or your
already-logged-in Claude Code (claude -p). No LLM? Inputs are still recorded.
One native binary
A Native AOT single executable with Akka.NET and Kùzu bundled — shipped to npm as @webnori/pdsa
for Windows, Linux, and macOS (Apple Silicon).
Drop-in for Claude Code
Ships a ready-to-use skill (.claude/skills/pdsa). Say “pdsa” in a session and the agent runs its work
as Plan→Do→Study→Act, accumulating graph memory. pdsa init installs it anywhere.
Architecture
The reusable AkkaGraphLoop.Core (PDSA engine + Kùzu interop) is shared by the CLI, the graph viewer,
and the learning samples — sitting on the Kùzu embedded graph DB and pluggable LLM providers.
See it
pdsa view serves a local, self-contained viewer of the recorded graph — Study nodes colored by verdict,
REINFORCES edges, a project switcher, and a live hit-rate badge.

pdsa view — verdict-colored Study nodes, REINFORCES edges, and an expectation hit-rate badge.Community
pdsa grew out of akka-graph-loop — a learning project on
Akka.NET Streams graphs. Come say hi, ask questions, and follow along.