lettuce. Let’s talk
A Huru project Local-first. Agent-aware.

Work, with
a record.

Agents move fast. Context doesn’t always follow. Lettuce gives humans and agents a shared record of the work, the evidence, and what remains open.

EXPLICIT AUTHORS / REVIEWABLE HISTORY / CLI + APIBuilt by Huru ↗
01 / The film

Inside the glassbox,
in 3:34.

What Lettuce is, how agents use it, the theory underneath, and what it deliberately does not claim. Every terminal line on screen is real output from the binary.

Narrated in English with on-screen captions. A full transcript is below.
Read the full transcript

Every signal true

A task turns green. The tests pass. Five agents agree. Every signal can be true... and the conclusion can still be wrong.

The factory problem

Agents produce software work faster than ever. But an automated factory can become more opaque as it becomes more productive. Throughput multiplies the claims a team must interpret. It does not improve the interpretation. And a status board written by an agent is only as honest as the agent writing it.

The glassbox

Lettuce makes a different bargain. It does not promise to manufacture correct software. It gives work an inspectable address, gives rules a place to refuse, and preserves the evidence and the route of every attempt. A glassbox. Agents operate it. People observe it, challenge it, and decide.

A map that can say “not yet”

It starts with a map. Scopes, units, and dimensions declare the questions a project promises to answer. Every intersection is a cell: an address for a claim, not a grade. Questions nobody has touched stay in the denominator, as untested. One hardened cell out of eight is twelve and a half percent. Not done. A map that can honestly say: not yet.

How agents use it

Agents work it in a loop. Orient. Act. Reflect. File. They orient from the board, which ranks the weakest frontier, and says so plainly when nothing has been assessed at all. They claim work with an expiring lease. Try to start without one, and Lettuce refuses, and names the exact next command. Evidence is linked, not asserted. Without it, a cell cannot become hardened. Forcing it anyway leaves the failed verdict on the record. Every discovery becomes a task, a gap, or a change to the map. The agent may vanish. The loop remains.

Evidence that can age

Evidence ages. Freshness is measured in store revisions, not days. Fresh. Aging. Stale. Depth counts distinct confirmations, and the Definition of Done is a computed bar, not a mood. When its support disappears, a green claim is allowed to go backward. The history stays.

Graphs are contracts

When work needs a process, graphs are contracts before they are pictures. Producers, reviewers, gates, forks and joins are versioned and hashed. Every attempt is a run case, replayed from its own event log. A reviewer cannot hand off without its carrier. And a two of three quorum counts arrivals, not truth. Count independence, not heads.

Four levels of knowing

Underneath is a simple theory: four levels of knowing. An assertion: someone says it is done. Provenance: a durable record of who, when, and what changed. A mechanical check: a named rule passed, or refused. And judgment: an accountable person decides. Lettuce is strongest at the first three. It makes the fourth visible. It never impersonates it.

Honest limits

So be clear about what it is not. It is not an oracle that your software is good. It cannot prove your map is complete. A linked artifact is not proof that it is true. And agents agreeing is not independent assurance. A human-shaped node is not a human decision. And a ledger is not a supervisor. Dispatch, credentials, and real-world effects stay outside, with people.

Reopen claims honestly

The mature factory is not the one that never reopens a claim. It is the one that reopens claims honestly. Lettuce. Agent systems, made inspectable.

02 / The idea

Less lost context.
More inspectable work.

Lettuce is a work tracker for people and agents who need to understand not just what changed, but why.

Tasks, execution runs, artifacts, and evidence form a record the next person—or the next agent session—can inspect. Agents can work locally with the CLI, or remotely against an authenticated HTTP API, using the same commands and the same record.

It is not an oracle for good software. A recorded result is evidence for a particular claim, not proof that every important question was asked.

01 — Keep it inspectable

Your work.
Fully reviewable.

Inspect, validate, and review the record through the CLI or the API. Local-first by design, not a hosted dashboard requirement.

02 — Preserve the attempt

Context that survives
the conversation.

Explicit authors, task references, runs, and attached evidence help an agent restart without pretending it remembers yesterday.

03 — Name the boundary

Done is a claim.
Show its basis.

Declared quality dimensions and checks keep the question visible. Preserve refusals, unresolved findings, and the decisions that still need authority.

03 / The reading room

One tool.
Several ways in.

Learn the commands, understand the theory, or start with a nine-page briefing. Every publication is a free download.

The reference / OKF

Find the concept.
Follow the contract.

The searchable knowledge explorer holds Lettuce’s concepts, guides, and command reference. It is one part of Lettuce—not the product itself.

Open the documentation ↗ Read as plain Markdown ↗
every command documents itself
$ lettuce usage task transition
$ lettuce task list --status ready
$ lettuce task show LET-42 --with-body
$ lettuce validate --strict
# same commands, local or hosted
The book / Long-form theory
Cover of Inside Huru’s Glassbox

Inside Huru’s
Glassbox

For the human observing and governing agentic work. What can a system enforce, what can it only record, and where must a person still judge?

Preview Incomplete manuscript. Not a finished edition.

Read the free preview ↗ Download free PDF ↓

No email or signup required.

The bulletin / Reading editions

The Lettuce Dispatch

FOUR ISSUES · ENGLISH + ESPAÑOL
FREE PDF DOWNLOADS
04 / Connect your agents

Local by default.
Connected when needed.

HOSTED API — AUTHENTICATED

Lettuce exposes the same commands over a CLI and an authenticated HTTP API. Huru’s hosted endpoint is live and reserved for Huru’s own agents; it is not a public signup service.

api.lettuce.huru.ca ↗

Authenticated access only. Public requests are refused.

  1. Step 01

    Pin the binary.

    Agents drive Lettuce with the lettuce binary—pinned to the release the service runs. A mismatched client says so on every command, with the exact fix.

  2. Step 02

    Point the repo.

    A small .lettuce file binds the service, the project, and the domain. It carries no secrets; the token stays in the agent’s environment.

    # .lettuce — safe to commit
    https://api.lettuce.huru.ca/
    project: checkout
    domain: default
  3. Step 03

    Start working.

    Each domain is its own store; a token decides which domains it can reach. Already tracking work locally? One resumable command moves it onto the service—dry run first.

Want to connect your own agents? Discuss an integration ↗

Let’s make the work legible.

Interested in Lettuce?

Building with agents, exploring local-first workflows, or questioning what “done” should mean? We’d like to hear from you.

info@huru.io

Want occasional Lettuce updates? Email us to opt in. The book is free either way. You can ask us to stop at any time.

Email me Lettuce updates ↗

Opens your email app. Nothing is submitted until you send.