The Binary Mind
Field notes from the GRAIL project
Lately I’ve been circling back to Claude Shannon; the quiet mathematician who gave us the concept of the ‘binary digit’, or bit. In his 1948 paper, A Mathematical Theory of Communication, he defined it as the most fundamental unit of information: the smallest possible decision. A single choice between two states.
A 1 or a 0.
It’s astonishing, really, how much of modern thought rests on that flicker between this simple expression of true and false. Everything that we know of today in the world of computing; things like digital logic, computation, communication, etc. all traces back to that simple concept.
A yes or a no.
And somewhere along the way, working on my agentic GRAIL platform, I have begun to see intelligence itself as nothing more than the emergent property of a series of binary choices.
So I started testing this idea inside GRAIL — to see how far a binary mind could go.
GRAIL is Binary
In GRAIL (Goal Resolution through Affordance-Informed Logic) everything boils down to that same binary pulse. A or B. True or false. Success or blocked.
In my examples, each goal-seeking GRAIL agent accomplishes its multistep goal by enacting that simple rule. No pre-planning, no statistical prediction, no deep search tree needed. Just a registry of affordances, a decision stack, and a binary view of the state of “the world”.
That’s the entire mechanism. And somehow, from that almost stark simplicity, behavior emerges.
I find that rewarding.
In my way of thinking, most of us don’t actually think our way through problems. Instead, we respond our way through them. We act, we sense, we adjust. We live by feedback, not foresight. Donald Norman’s Action Lifecycle formalizes this as a loop.
GRAIL is a Loop
So that’s what GRAIL does. Each agent is just a loop:
Pick the action off the stack and attempt to execute it.
If successful, pop the stack. If the stack is empty, we’re done.
If blocked, push the next action from the response onto the stack.
Repeat.
Everything else, the messy evaluations, the range checks, the subtleties, all live inside the executable services themselves. A temperature checker might test whether 2°C falls between -1°C and 1°C. It returns false. That’s all the agent needs to know. No gradient, no probability. Just true, meaning success or false, meaning try again.
This isn’t minimalism for its own sake. It’s a way to make sense of intelligence without mystifying it. And it is portable and scalable.
Once I saw this in action, I couldn’t unsee it. Everywhere I look, I see examples of this binary computation. Neurons firing. Ants navigating. People deciding. And so forth.
GRAIL is Intelligence
And maybe that’s all intelligence ever was: not a hierarchy of thought, but the warp and woof of choices; what Ted Nelson calls intertwingularity of reactions. We get smarter not by adding more processing, but by improving our reactions. We don’t operate by understanding the “whole world”. We just focus on the “world” in front of us; even when that world extends ahead in time.
I’m still refining the model. And, while I have built some pretty nice goal-seeking agents, I haven’t fully solved for steady-state agents yet; the ones that don’t stop when they reach the goal but keep checking, oscillating around it, like a heart beating or a thermostat pulsing on and off.
But I can feel it coming together. The rhythm is there. The simplicity holds.
GRAIL at Github
If you’re curious, I’ve started posting public demos and experiments in the GRAIL repository on GitHub. It’s still early, but the core loop is there. It’s a bunch of small agents making binary choices in a shared worldstate. Watching them run feels a little like watching logic come alive.
Shannon’s Lesson
Maybe that’s the real lesson of Shannon’s bit. That everything (meaning, memory, and motion) can begin from the smallest possible decision. One pulse. One choice. One flicker between true and false. And from that, the whole pattern of thought begins to unfold.
Let’s see what happens.


