#design

6 posts tagged with this.

Engineering · 11 min

What an agent needs after it works

Every framework can produce a working demo. The hard part is everything after — running on a schedule, getting better at the same task, and not billing you while idle. Three operational primitives that close the gap, and why the framework — not the user — should own them.

Chihab
Engineering · 9 min

Inbox: every channel, one agent

v0.25 lands inbound messaging on five platforms at once — Telegram, Slack, Discord, email, WhatsApp. The hard part wasn't writing five adapters. It was finding the one shape that made all five behave like the same thing.

Chihab
Engineering · 8 min

Smart routing: picking the cheapest model that can still do the job

Most agent turns don't need Opus. The problem is figuring out which ones do — at runtime, before you've spent the money. Here's how Tutti's SmartProvider does it, what we got wrong on the first try, and where it still falls short.

Chihab
Engineering · 5 min

Permission scopes the runtime actually enforces

Most frameworks document a permission model. Tutti enforces one. The difference is the runtime refuses to start when an agent has voices it didn't grant.

Chihab
Engineering · 6 min

Voices: the plugin model agent frameworks need

Most frameworks treat tools as a flat list. Every team rebuilds the same GitHub wrapper, the same Slack wrapper, the same Stripe wrapper. Voices are how Tutti stops that.

Chihab
Engineering · 7 min

Configuration over code: why score files beat Python graphs

Agent systems aren't general programs. They're a small set of repeating patterns. When you write them as code, the configuration disappears. When you write them as config, the system shape is the file.

Chihab