A Lisp-rooted command and reasoning layer for human-agent action.
Status: prototype, working, rough around the edges
Language: Common Lisp
Author: Aleksei Rybnikov (alX)
NOL is a small language and runtime designed around one idea: an agent shouldn't just say "done" — it should expose what it understood, what it did, what it didn't do, and what evidence exists.
The core principle is verifiable action. Every operation in NOL produces a result that can be inspected, traced, and reasoned about. No black boxes.
NOL runs on top of Unix. It is not trying to replace shells or Lisps — it is trying to be a thin, honest layer between human intent and machine execution.
nol/ — language semantics, AST, file format spec
nolcli/ — Common Lisp runtime and command surface
specs/ — architecture and capability specifications
docs/ — operational documents and runbooks
nolos-clock/ — minimal time/clock utility
The reference runtime. Written in Common Lisp (SBCL), loaded via ASDF.
nolcli/
├── core/ — parser, models, command canon
├── runtime/ — session, state, mutation, continuity, filesystem
├── bridge/ — HTTP and external intent layer
├── commands/ — CLI loop, slash dispatch, diagnostics
└── ui/ — ANSI rendering, help
To load:
(asdf:load-system :nolcli)Requires SBCL and Quicklisp. No other dependencies.
- canon over improvisation
- artifacts over vibes
- bounded changes over uncontrolled expansion
- every action leaves a trace
NOL is also the substrate for Nevis — an AI agent with its own identity, memory, and continuity architecture. NOL is what Nevis runs on.
Early prototype. The runtime works. The language spec is incomplete. Contributions, questions, and criticism welcome — especially from people who think differently about agent runtimes and Lisp.
Built with AI as a collaborator (Claude Code). That's not a disclaimer — it's just how this gets made.
"An agent that cannot show its work is not an agent — it is a rumor."