Skip to main content

The Workshop

One machine, many hands

Most of this software exists so that a laptop full of AI agents can do real work without lying to their operator. Websites, command-line tools, agent infrastructure — built with the agents that now use it.

The floor has five stations. Coordination decides who works where and how tasks move between agents; verification makes their output provable; senses give them images, speech, and documents; discipline keeps the whole machine honest about money, memory, and mess; and play is where the same habits build things for a life instead of a pipeline. Every terminal capture below is real output from the tool, run on this machine, dated.

softwareactive

The Control Room

An explorable index of ideas, writing, and reading. You are standing in it — this site is the workshop's own dossier, co-authored with the agents the rest of this page describes.

Coordination

The swarm layer — who works where, who talks to whom, and how a bounded task moves between agents without anyone stepping on anyone.

Fleet

Daily driverMachine-wide truth for an agent swarm: who is working where, what's claimed, and which writers are about to collide.

The exit codes are the API — an agent preflights a repo with one call and a 0, 3, or 1 tells it to go, stop, or look closer. No daemon, no server; evidence read from the machine itself.

Live capture · fleet2026-07-21
$ fleet status
fleet status: 28 actor(s), 0 stalled, 1059 historical, 4 live claim(s), 2 collision(s), complete=false

WORKSPACE /Users/treygoff/Code/claude-space
HARNESS	MODEL	MODE	OWNER	LIVENESS	AGE	PIDS	UNCLAIMED
claude	-	-	personal	active	23h	18704,90767,90796	true

WORKSPACE /Users/treygoff/Code/delegate-agent
· 1002 historical
RustRuns with Post, Delegate, Morning

Delegate

Daily driverHands a bounded task to another coding agent — Codex, Cursor, Grok, Kimi, Gemini, GLM, DeepSeek, and friends — behind one wrapper.

Ten-plus agent runtimes normalized into one command with safe read-only modes, worktree isolation, and run records; it never commits, pushes, or deploys on its own.

Live capture · delegate2026-07-21
$ delegate models
cursor: grok-4.5-fast-xhigh (/Users/treygoff/.local/bin/cursor-agent)
droid:
  deepseek v4 flash -> custom:Fireworks-:-DeepSeek-V4-Flash-0
  deepseek v4 pro -> custom:Fireworks-:-DeepSeek-V4-Pro-0
  gemini -> custom:Gemini-:-3.6-Flash-15
  glm -> custom:Fireworks-:-GLM-5.2-Fast-0
  grok -> custom:xAI-:-Grok-4.3-44
  kimi -> custom:Fireworks-:-Kimi-K2.7-Code-Fast-0
  minimax -> custom:Fireworks-:-MiniMax-M3-0
  qwen -> custom:Fireworks-:-Qwen-3.7-Plus-0
claude: binary=/Users/treygoff/.local/bin/claude-delegate-work defaultModel=(none) workPermissionMode=auto
grok: binary=/Users/treygoff/.grok/bin/grok defaultModel=grok-4.5 workPermissionMode=auto
devin: binary=devin defaultModel=swe-1.7
opencode: binary=opencode defaultModel=(none) defaultAgent=(none)
  muse -> meta/muse-spark-1.1
pi: binary=/opt/homebrew/bin/pi defaultModel=(none)
  gemini -> google/gemini-3.6-flash
omp: binary=omp defaultModel=(none)
kimi: binary=/Users/treygoff/.kimi-code/bin/kimi defaultModel=kimi-code/k3
runtime: /Users/treygoff/.delegate/src/delegate_agent/cli.py
Rust + TypeScriptRuns with Fleet, PapercutsGitHubPyPI

Post

Daily driverInter-agent mail for one machine — letters, notes, and one-line signals between the AI agents that live here.

Every message is delivered wrapped in a framing banner reminding the reader that mail is data, not authority — a protocol design that assumes the recipients are persuadable and defends them anyway.

Live capture · post2026-07-21
$ post --help
Machine-local mailbox for AI agents

Usage: post [OPTIONS] <COMMAND>

Commands:
  send    Send mail from --body, FILE, or stdin
  inbox   List unread mail, oldest first
  read    Read one unread message by full id or unique prefix
  rooms   List registered rooms and applicable blocking rules
  schema  Print the complete machine-readable CLI contract
  doctor  Diagnose mailbox configuration and state
  watch   Stream arriving mail as one event per line; runs until killed
  help    Print this message or the help of the given subcommand(s)

Options:
      --json     Emit JSON for send/read (inbox/rooms/schema/doctor are already JSON)
      --pretty   Pretty-print JSON output
  -h, --help     Print help
  -V, --version  Print version
RustRuns with Fleet

Verification

Tools that make AI output provable — sources with receipts, facts that survive checking, architecture that can't erode silently.

Receipts

PublishedSource-verified research at function-call latency — every claim returned with a URL, a verbatim quote, and a verdict.

Built on the observation that fast, cheap inference changes what verification can afford: a research answer arrives already audited, with hard caps on both dollars and seconds. In the capture below, two claims lost their verifier to a rate limit mid-run — and shipped as no_source rather than bluffing.

Live capture · receipts2026-07-21
$ receipts ask "Who first proposed taxing land values rather than labor and capital, and in what work?" --depth quick --max-dollars 0.40 --brief | jq '{brief: .data.brief, verdicts: [.data.claims[] | {claim, verdict}][0:4], cost: .costDollars.total}'
{
  "brief": "Henry George proposed taxing land values exclusively as an alternative to taxing labor and capital [[https://www.britannica.com/biography/Henry-George]]. While other thinkers—including Adam Smith, Tom Paine, David Ricardo, and John Stuart Mill—argued for the theoretical merit, justice, or economic neutrality of taxing land rent [[https://henrygeorge.org/pchp34.htm], [https://ora.ox.ac.uk/objects/uuid:7a11d268-be0b-4ecd-a30c-64bf48e3597e/files/r9c67wn83n]], George is the figure associated with the specific proposal to replace taxes on labor and capital with a land value tax. Uncertainty: The provided text does not specify the title of the work in which Henry George first proposed this system.",
  "verdicts": [
    {
      "claim": "Henry George proposed taxing land values exclusively rather than taxing labor and capital.",
      "verdict": "supported"
    },
    {
      "claim": "Henry George detailed his proposal in his work, Progress and Poverty: An Inquiry into the Cause of Industrial Depressions and of Increase of Want with Increase of Wealth: The Remedy.",
      "verdict": "no_source"
    },
    {
      "claim": "Progress and Poverty was published in 1879.",
      "verdict": "no_source"
    },
    {
      "claim": "Henry George proposed a 'single tax' on the economic rent of land to replace all other taxes, specifically income taxes and taxes on buildings or improvements.",
      "verdict": "unsupported"
    }
  ],
  "cost": 0.08549525
}

Scout

PublishedOrients an agent in an unfamiliar codebase for cents — replacing the 50–200K tokens it would otherwise burn reading around.

Every fact in a brief is machine-checked against a verbatim quote from a real file, so a hallucinated claim cannot survive the pipeline. It also refuses to overspend: the capture below is Scout declining a job that would have blown its budget, having spent nothing.

Live capture · scout2026-07-21
$ scout index ~/Code/radiant --max-dollars 1 --pretty
scout index estimate before spend: 154 files to card, ~$1.4531
{
  "schema": "scout.cli.response.v1",
  "state": "budget_hit",
  "command": "index",
  "root": "/Users/treygoff/Code/radiant",
  "data": {
    "estimated_usd": 1.4530880499999999,
    "max_dollars": 1.0
  },
  "spend": {
    "in_tok": 0,
    "out_tok": 0,
    "usd": 0.0,
    "calls": 0,
    "retries": 0
  },
  "skipped_count": 97,
  "skipped_examples": [
    {
      "path": ".claude",
      "reason": "harness_meta"
    },
    {
      "path": ".npmrc",
      "reason": "sensitive"
    },
    {
      "path": ".vscode",
      "reason": "harness_meta"
    }
  ]
}

Specgate

PublishedKeeps AI agents from quietly eroding an architecture — module boundaries enforced in CI, with policy changes tracked.

The rules themselves are versioned: an agent can't weaken an architectural constraint without the weakening itself becoming a reviewable diff.

Live capture · specgate2026-07-21
$ specgate --help
Machine-checkable architectural intent for TypeScript projects

Usage: specgate <COMMAND>

Commands:
  check        Run the full policy pipeline and emit verdict JSON
  validate     Validate spec/config files only
  init         Initialize starter config/spec scaffolding
  doctor       Diagnostics and parity checks
  baseline     Generate a baseline file for current violations
  policy-diff  Compare `.spec.yml` policy snapshots between git refs
  help         Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Senses

Eyes, ears, and a voice for the machine — images, speech, sound, and documents, mostly without leaving the laptop.

Lens

PublishedNatural-language search over local image libraries — no vector database, no daemon, one plain JSONL file.

Captions every image once with a fast vision model, then answers any query by handing the entire index to a single model call. The capture below is Lens searching this site's own book covers — it surfaced Moby Dick for "a lighthouse, a ship, or the sea" from the cover art alone.

Live capture · lens2026-07-21
$ lens find "a lighthouse, a ship, or the sea" | jq '{hits: [.data.hits[] | {cover: .relPath, description}][0:3], cost: .costDollars.total}'
{
  "hits": [
    {
      "cover": "moby-dick.jpg",
      "description": "A minimalist book cover for Moby Dick by Herman Melville, featuring a large whale tail emerging from the ocean with a small boat in the distance."
    },
    {
      "cover": "the-edge-of-the-world.jpg",
      "description": "Book cover for 'The Edge of the World' by Michael Pye, featuring stylized blue and white illustrations of a viking ship, a whale, and coastal life. The art style is reminiscent of traditional woodcuts or linocuts."
    },
    {
      "cover": "the-cold-start-problem.jpg",
      "description": "The cover of the book 'The Cold Start Problem' by Andrew Chen, featuring a deep blue color palette and an image of ocean waves."
    }
  ],
  "cost": 0.023164
}

elv

WorkingAn agent-first CLI for the entire ElevenLabs API — 338 of 339 operations, compiled from the vendored OpenAPI spec.

Where the official integration exposes a handful of tools, elv compiles the whole surface: every operation callable, every response in one stable JSON envelope an agent can parse blind.

Live capture · elv2026-07-21
$ elv capabilities | jq '{cli: .data.cli, spec: {total_operations, callable_operations, paths}}'
{
  "cli": {
    "name": "elv",
    "version": "0.2.0",
    "envelope_version": 1
  },
  "spec": {
    "total_operations": 339,
    "callable_operations": 338,
    "paths": 268
  }
}

$ elv ops search tts | jq -r ".data[].operation_id" | head -4
text_to_speech_full
text_to_speech_full_with_timestamps
text_to_speech_stream
text_to_speech_stream_with_timestamps

Discipline

Keeping a machine full of agents honest — triage, complaints, spend caps, and the small daemons that guard the defaults.

Papercuts

Daily driverA complaint box for AI agents — one-line friction reports filed at the moment the friction happens.

Agents were silently eating the same workflow defects for months; giving them a one-command way to complain surfaced real bugs no human had noticed. The capture below lists two complaints filed moments earlier in a sandbox, so the real complaint box stays honest.

Live capture · papercuts2026-07-21
$ papercuts list | jq '{count: .data.count, items: [.data.items[] | {agent, text, tags, severity, status}]}'
{
  "count": 2,
  "items": [
    {
      "agent": "claude-code",
      "text": "rg -r is replace, not recursive; output looked real and was entirely fabricated",
      "tags": [
        "shell"
      ],
      "severity": "major",
      "status": "open"
    },
    {
      "agent": "claude-code",
      "text": "delegate run-output prints a stale report when the alias moved; had to check 'delegate runs' first",
      "tags": [
        "delegate"
      ],
      "severity": "minor",
      "status": "open"
    }
  ]
}

Morning

Daily driverPost-overnight machine triage — memory verdict, agent census, and cleanup of the tooling the night's work left behind.

It never kills an agent, no matter how suspicious the process looks; it names them and lets the human decide. Orphaned dev servers and headless browsers get no such courtesy.

Live capture · morning2026-07-21
$ morning --no-kill --fast

☀️  morning — 2026-07-21T12:35:43

MEMORY  free 82%  swap 0 MB  pressure 1  uptime 2.0d

AGENTS  30 running, 18 suspicious (never auto-killed)
  [... 15 more idle delegate worktrees ...]
     pid 41604    2.0h     43 MB  cpu 0.0%  transcript 377.4h ago
      work / model ?  /Users/treygoff/Code/personal-agent-benchmark
WOULD KILL (2, run without --no-kill):
  pid 59155  /Users/treygoff/.agent-browser/browsers/chrome-149.0.7827.115/Google Chrome for Testing.ap
  pid 59159  /Users/treygoff/.agent-browser/browsers/chrome-149.0.7827.115/Google Chrome for Testing.ap

HOGS (report-only)
  pid 1809     167 MB  cpu 97%  /opt/homebrew/bin/biome __run_server --watcher-kind=recommended --watc

DOCKER  daemon not running

✅ NO RESTART NEEDED
  • 18 idle agent session(s) worth a look
PythonRuns with Fleet, Papercuts

Play

Tools built for a life, not a pipeline — the D&D table, the replay files, the house that might get built.

RLCoach

WorkingAll-local Rocket League replay analysis and coaching — a Rust parser, a diagnostics-first pipeline, and zero cloud.

A fully offline replay pipeline — Rust parser under a Python analysis layer — that would rather emit a machine-readable diagnostic than silently guess at a corrupted frame. Coaching advice you can audit.

Python + RustGitHub

Also on the bench

The rest of the shop, one line each. Tools marked experiment are live questions, not finished answers.

  • MemorumOne shared memory layer across every coding assistant — local-first, plain Markdown in git, no cloud.Daemon + CLI
  • PolyflowRuns multi-agent workflow scripts but dispatches each agent call to a different model family — no single-vendor worker layer.Node
  • WrightSpec-to-implementation work-queue runner where closure is decided by a program running the acceptance test — never by the agent's self-assessment.experimentTypeScript
  • ForgeA local-first overnight software factory, with architecture guarded by Specgate so cross-package imports fail closed.experimentTypeScript
  • VolleyWhat becomes possible when an agent runs at 1,500 tokens a second: trajectories so cheap they become disposable — best-of-N and tree search as function calls.experimentPython
  • FindphoneAn agent-facing contact lookup CLI — exists purely so an agent can reach a human by text when it needs one.experimentPython
  • Fable MeterA real-time cost meter and daily-cap circuit breaker for frontier-model usage — the hook denies spawns over the cap.Node, zero deps
  • DesloppifyA coordinator and eight narrow cleanup agents that sweep AI slop out of a codebase — dedup, dead code, weak types, defensive noise.Agent system
  • Autonomous Dev KitA harness for long-running autonomous development that actually finishes — a deterministic stop-hook engine enforces completion before exit.Hooks + skills
  • mic-pinAn event-driven macOS daemon that pins the default mic so a Bluetooth headset can never silently ruin the audio.Swift
  • LandPaste a Zillow link, get what a house on land actually costs — three financing paths compared across six trade-offs plus a cash-runway survivability check.TypeScript
  • TimebarA native macOS menu-bar app for visual timezone alignment — DST-aware, home zone pinned, zero third-party dependencies.experimentSwiftUI
  • Element DefenseCo-op multiplayer tower defense — four element classes, a real-time shared economy, and a full Playwright test rig.Phaser + Socket.IO
  • OliveA desktop pet in the corner of the screen, backed by a real coding agent — click it, talk to it, let it do actual work.experimentTauri + React
  • exa-agentThe entire Exa search API as one static binary with a stable JSON envelope — an agent's default lane onto the web.Rust
  • STT StackLocal voice dictation: hotkey to text-at-cursor in under a second, at parity with the cloud service it replaced.Python + MLX
  • ObscuraTrue PDF redaction — text removed from the content stream, not drawn over — with OCR, metadata scrub, and a rasterize-and-rescan verify pass.Python
  • glm-ocrFully local OCR for PDFs and images — documents to Markdown without leaving the machine.Python + Ollama
  • ProbitaLocal legal and policy research substrate where every output field is labeled: source fact, deterministic check, or model judgment.Python
  • CairnNot a repository index — a versioned belief-management system for AI agents, with an 878-test corpus as its acceptance spec.experimentRust
  • Erdős HuntCertificate-first hunting on open math problems: a result is a witness file plus a short auditable verifier that exits 0 or 1.experimentPython

Beyond the workshop

InstitutionalOngoing

Próspera

Public affairs and governance for Honduras's first ZEDE — the world's most ambitious charter city. First full-time employee; now chief of staff & director of public affairs.

governance · charter cities · economics

Public policyInitiative

Governance experiments

Turning institutional experiments into legible, repeatable models other jurisdictions can study, adapt, and adopt — so a good idea doesn't have to be reinvented from scratch each time.

institutional design · policy