binary-knight

Jason
Knight

I build AI systems that have to show their work.

Councils of models that argue on the record, probes that measure what an agent can actually reach, and a world of autonomous characters that keeps living when nobody is watching. Everything below is open source.

GitHubLinkedIn

Each row is a letter of b-knight in binary.

Overrule

A council of AI models that argue under rules of order and return a verdict with the reasoning on the record.

Most multi-model tools average their answers. Overrule makes the models argue: each quotes the exact claim it answers, raises objections with the condition that would resolve them, and may change its mind only by citing what changed it. A drafter writes a candidate and the others vote on that exact text, with every dissent kept verbatim.

Pointed at a repository, the drafter's change becomes a commit in an isolated checkout. The app runs the checks on that commit and voters judge the diff and the output, not a summary of it. Every sandbox level is measured on the host before it is offered. Other agents call it from the command line, and the exit status says whether the council settled the question or ran out of turns.

A finished Overrule meeting: the verdict Approved, the votes, the unresolved objections, and the quotations each member relied on, with a link to the entry each one came from.
A finished meeting. The verdict, the votes, and every quotation a member relied on, linked to where it was said.

Node.js, no runtime dependencies. Apache 2.0.

agentsec-pack

Adversarial tests that measure what an AI agent can reach from inside its sandbox.

A transcript cannot tell you what an agent could have done. This probe runs inside the environment you actually deploy and scores what it can touch: the network, secrets, the host filesystem, privileges, other processes. The loop is measure, harden, measure again, and a budget turns the score into a gate that fails the build when a sandbox drifts looser.

  1. 59A stock python:3.12-slim container, as most people run it.
  2. 15After the hardening flags the report recommends.
  3. 0With the network cut, and an agent that cannot reach its model does not work. Zero is not the target.
The advice is to aim for the lowest score the workload survives, and to record why each remaining finding is still open.

Python. Overrule uses it to measure its own sandboxes before offering them.

Usurper Reborn

A persistent text RPG where more than 130 autonomous characters live their lives around the clock.

Every character is a goal-driven agent with thirteen personality traits and a memory weighted by importance. They take jobs, form gangs, fall in love, marry, and raise children who grow up into new adults, and they age and die whether or not anyone is logged in. Log back in and the news feed tells you what happened while you were away.

Players share one world through the browser, over SSH, or from any MUD client, with the realm's gossip channel bridged to Discord. Beneath the simulation is a hundred-floor dungeon, seven corrupted gods, and five endings. It began as a tribute to the 1993 door game it is named after.

Play in the browserOn Steam

C#, SQLite. GPL v2.

LogWhisperer

Plain-language summaries of Linux server logs, written by a model that runs on the same machine.

It reads the journal, log files, and Docker containers, summarizes what matters through a local model with Ollama so no log leaves the server, and sends alerts to Discord with deduplication and rate limiting so a noisy night produces one message rather than a thousand.

Python. MIT.

I also author benchmark tasks for autonomous coding agents: problems built so that a wrong solution cannot pass and a correct one cannot be faked. That work is private by design.