Labs / Lab 09

Build a host-like CLI agent

Give the user one control surface that can list tools, request approval, and show what happened.

What this adds

Make the tool stack usable.

A host is where the user experiences the system. It exposes the tool registry, turns approvals into a first-class interaction, and records what the session did.

This is the point where the lower layers start to feel like a product surface instead of a bag of scripts.

Boundary

The host owns user interaction and approval. Tools, hooks, and protocols sit behind it.

Done when

A user can inspect available tools and explicitly approve or deny a tool call before execution.

Real-world analog

Aider is a strong real-world comparison: a CLI host that gathers context, routes capabilities, and keeps the user in the loop.

Why this matters

People do not use protocols directly. They use hosts that make those lower layers feel coherent and inspectable.

Next lab

Lab 10: add governance and evals.