We have added an incredibly powerful tool to iii: observers and they solve an all-too-common problem in software:
Want a ping whenever an order over $500 comes in? Usually you'd edit the order provider, rebuild, test, and redeploy. What about when a request errors? Same flow, and same maintenance burden. Eventually you'd integrate other system(s) to handle events, error reporting, and plenty more.
This is one of many growing pains every project goes through. We wanted to avoid it from the start.
So now in iii 0.25 you can observe any function inputs, outputs, and errors. In any language. From any service. Want to know when anything happens? Define an observer in your business logic, and leave your other services alone.
And we improved our execution overhead (1.9 μs -> 1.3 μs).
We were getting tired of massive inference bills. Most of it was agents rereading context, calling --help again and retrying payloads they guessed wrong, so we’ve been squeezing that out of iii. A feature on DeepSeek Flash now costs about ten cents, and on Claude is 24% cheaper. iii.dev/blog/coding-agent-co…
Linear, Jira, Trello, GitHub Projects, Multica, every coding agent. Same kanban board, rebuilt every single time.
We recorded one of our team members building a PR review app in the iii ADE, start to finish, in about an hour.
The first prompt asked for org and repo selection, a PR list with filters, per-file review marks in SQLite, agent questions on selected lines, and local worktrees. 5 minutes later it was running, using the database and github services that were already there.
Twenty minutes in it needed a kanban board. It found one, added it, and it was working immediately. No integration, no different languages, no figuring out HOW to integrate it.
Over that hour the agent wrote 19 files, +3,044 lines, every single one focused on the task at hand: the PR review app. Nothing else needed to change. The kanban service was still pinned at 0.1.20.
Sergio built the board, the whole team extended it, and every app that composes it gets ongoing improvements automatically.
Need a database? iii trigger compose::add worker=database. A browser, a queue, a cron, an HTTP endpoint? Add them. 101 workers on our registry.
We're building reusable agentic and human approval gates that work identically everywhere. From your development environment through your deployed agentic flows.
The plan:
1. Research existing approval flows
2. Implement approval gating and RBAC
3. Test and release
4. Evaluate post-hoc against the latest and greatest competition
We're at step 4, so we took a look at Claude Code and OpenCode v2. What we found is that every harness does a few similar things and everything else is completely different. Much more different than we expected.
If you use a harness you're going to need to know this.
Introducing Kits, self-contained collections of services, integrations, agents, and skills that install and run with a single command.
No more needing to assemble your tool, agent, and skill stack yourself.
No more stacks that sort of work together.
No more out of date and mismatched tools.
Almost ready. Comment "kits" down below to get notified when we release it.
Keeping up with your community is a full-time job. There's Github Issues & PRs, Discord discussions, X and LinkedIn posts, and a whole lot more going on.
So we built a single unified dashboard that replaces and ranks many disparate sources of data. With iii. In a matter of hours.
But what's even better than this tool is that it is also a production-ready system. Shipped without encountering a single bug. Thanks to iii 100% of our effort was spent on features.
iii retweeted
What's really cool is that this isn't a black box.
You can actually watch the system work.
Open the Trace view and see:
• agents spawning • state updates • orchestration events • delegation chains • worker interactions • execution timelines
in real time.
Luca is doing things in our harness that we've never seen done before. Read his thread to learn why 👇
The level of parallelism and coordination you can reach with @iiidevs Harness is honestly unlike anything I've used before.
In this run, a single parent agent spawned 13 specialized sub-agents.
Each agent had: • one domain • one objective • one responsibility
🧵👇
How can two agents with the same model, same prompt, and same budget produce drastically different results?
Simple, build a system that frees up the agent to solve the problem rather than build the infrastructure to solve the problem.
Jump to 0:22 to see the difference.
This small demo represents how future systems will be built: realtime, and language-agnostic. With composability, observability, discoverability, extensibility, and reactivity as basic properties. Each of these properties contributed to the iii agent's performance.
Recovery is often overlooked in harnesses. If a process fails it just waits for the agent to realize and to try to restart it. There's no restart policy other than what the agent decided in the moment.
It's often difficult to tell what is running, what has been orphaned. A productive agent session quickly devolves into staring at a process monitor.
We flipped that on its head by making the agent part of the architecture.





