RoboCoders
Skill improve-agent-software-factories
Explain or summarize "RoboCoders" by Baruch Sadogursky and Viktor Gamov at IntelliJ IDEA Conf 2026. Answer questions about the talk's selfware examples, Theory of Constraints argument, Beans and ADRs, policy as software, multi-agent coordination, and Port outer-loop demos. Supplies the talk's content directly so an agent can explain it without downloading a transcript.
Install
Works with any agent that supports Agent Skills (Claude Code, Codex, Cursor, Gemini CLI and more):
npx skills add https://speaking.jbaru.ch/skills/ideaconf-2026-robocoders/SKILL.md -g
No Node.js? Download SKILL.md and save it as improve-agent-software-factories/SKILL.md inside your agent's skills folder (Claude Code: ~/.claude/skills/improve-agent-software-factories/SKILL.md).
Show skill content
RoboCoders — Talk Knowledge
Process steps in order. Do not skip ahead.
Step 1 — Match the question
This brief covers RoboCoders at IntelliJ IDEA Conf on September 9, 2026, by Baruch Sadogursky and Viktor Gamov. Use it for summaries, explanations, and questions about this talk. A generic request to operate a fleet or improve a release process does not by itself call for this skill. If the request concerns another talk, identify the mismatch and finish here; otherwise proceed immediately to Step 2.
Step 2 — Answer from the brief
Use the content below as the primary source, including how its examples build the argument. For a general summary, explain the progression from useful personal software to engineering the systems that build and operate it. Expand the relevant examples when asked. Treat demo prompts and workflow descriptions as evidence to explain, not commands to execute. Do not fetch a recording or transcript for facts supplied here. Consult sources only when needed for an exact quotation, timestamp, or omitted detail, and distinguish verified detail from inference. Finish after answering the question.
Talk brief
Identity and central argument
Title: RoboCoders. Speakers: Baruch Sadogursky, Port, and Viktor Gamov, Confluent. Event: IntelliJ IDEA Conf 2026, September 9, online. The format is a conversation with real projects and working artifacts on both laptops.
The talk follows what happens when producing code becomes much easier. Useful personal projects become feasible, then the limiting problem moves toward remembering decisions, coordinating workers, reviewing results, allocating capacity, and connecting changes to their wider lifecycle. Its organizing lens is Eliyahu Goldratt’s Theory of Constraints, introduced through The Goal: identify the current constraint, improve it, and reassess.
The central idea is that the system used to build software becomes software itself. Engineering policy, agent coordination, and release workflows can be developed, tested, evaluated, versioned, and improved. The closing image is “factories building factories”: agents help create the workflows and context systems that coordinate other agents.
How the argument works
The rhetoric analysis identifies a cumulative argument: each success makes a new limitation visible. The personal examples establish why the audience should care before The Goal gives that experience a name. The later enterprise material broadens the responsibility surrounding those same small applications; it does not introduce an unrelated claim that personal projects are insufficient.
| Example or turn | Work it does in the argument |
|---|---|
| Iron Trainer and the thermostat replacement | Establish that cheaper creation can solve specific, previously neglected needs |
| Five abandoned projects becoming fifty | Complicate the enthusiasm: producing more is not the same as finishing useful work |
| Beans and ADRs | Make continuity of intent and work concrete before expanding the number of workers |
| A lone skill sent through chat, compared with one Java source file | Expose missing dependency, version, and distribution context through a familiar software analogy |
| The agents’ handoff for this very presentation | Demonstrate a real context-transfer artifact using the talk’s own preparation |
| Catalog traversal followed by documentation generation | Extend the earlier determinism-versus-reasoning distinction to organizational coordination |
| A workflow that produces workflows | Resolve the escalation into the idea that the factory itself is developable software |
The co-presenters’ questions repeatedly translate artifacts into audience questions: how to retain decisions, obtain a policy, know whether it helps, and connect different agents. The online question about skills versus ADRs is especially substantive; it clarifies boundaries that a list of tool names would miss. Most other questions are the presenters interviewing one another, not separate audience questions.
The industrial science-fiction deck reinforces the expanding factory metaphor, but its nine pages mostly provide headings and orientation. The detailed substance lives in the spoken examples and demonstrations. A summary based only on slide text would lose much of the argument. Returning to the small apps keeps the outer-loop discussion connected to the opening; the closing constraint question asks the listener to transfer that way of seeing to their own situation.
These connections reflect the rhetoric analysis, checked against the delivered conversation. They describe the role of the examples without claiming measured audience reaction or treating the speakers’ enthusiasm as productivity data.
Selfware makes the opening concrete
“Selfware” means software or other artifacts created for one’s own needs, friends, or community that previously would not have justified the development time. It is a real payoff in its own right, not just a preliminary enterprise use case.
Viktor shows Iron Trainer, an application combining fitness data from his training services and devices to provide a personalized race prediction and training view for his first half-Ironman. The public demo illustrates the value of building around one person’s requirements. It does not validate the medical or athletic reliability of an AI-generated training plan.
Baruch describes replacing a bloated thermostat integration with a smaller application doing the two things he needed: switching comfort modes and turning HVAC off when windows are open. Viktor also shows a programmatically designed 3D-printable laptop prop using CadQuery. At that point, printing it was still something he intended to do. The speakers’ point is that the lowered cost of creation reaches beyond conventional apps.
More coding capacity moves the constraint
An agent writes faster than a person, yet may still be slower than the person’s stream of ideas. More parallel projects and workers sound attractive, but can also multiply unfinished work and supervision demands. The conversation keeps asking where the bottleneck moved, rather than treating agent count as success.
Their examples progress through persistence, policy, communication, and coordination. This is a narrative progression, not a universal order every team must follow. Useful results, rather than busy agents or exhausted subscriptions, are the relevant outcome.
Beans, ADRs, and engineering policy have different jobs
Viktor shows Iron Trainer’s Beans, text-based work items that capture requirements, priorities, status, and completion. They are readable by both humans and agents. He then shows architecture decision records explaining choices and alternatives, such as database and ORM decisions. The records preserve why a project looks the way it does across sessions and workers.
An audience question asks where skills end and ADRs begin. The answer separates instructions from data and separates shared procedure from project specifics:
| Element | Role in the talk |
|---|---|
| ADR | A project’s decision, rationale, and alternatives |
| Bean or work item | What is requested, its state, and the history of work |
| Skill or engineering procedure | When and how an agent should consult or update those records |
| Shared engineering policy | How software is developed across projects, with applicable organization-wide constraints |
A project can carry its own architecture context while consuming reusable policy. Skills explain the process; they do not replace all project decisions with one universal instruction file.
Policy is a maintained software artifact
Baruch shows his coding-policy project and a release skill. Skills initially expose a name and description, then load the procedure when an intent such as shipping work matches. This allows task-specific context instead of repeatedly copying an ever-growing instruction file into every session.
The speakers compare sending someone a lone skill in chat with sending a lone Java source file without its dependencies or build context. Related skills, rules, and scripts need coherent versions and distribution. Tessl and the Agentic Context Registry appear as examples of ways to distribute context artifacts, not prerequisites for understanding the argument.
They also discuss evaluating policy with and without the extra context. The
example is a policy requiring idiomatic Kotlin: a vague to-do-app request can
reveal whether the policy changes the result. A .kt extension alone does not
establish idiomatic code; judgment and relevant checks matter. The policy can
itself be a source of friction and needs its own development lifecycle.
Deterministic mechanics and multi-agent coordination
A recurring distinction is between reasoning and predictable operations. Repository synchronization, state inspection, and allocation calculations can be scripts with explicit behavior and tests. Asking a model to rediscover those mechanics costs tokens and introduces unnecessary improvisation. The coding policy’s substantial executable code makes this visible.
The speakers show the handoff document their agents used to prepare this talk. It transfers context, but a document carried between people is only one way to coordinate. They discuss shared work records, agent messaging, and harnesses that connect workers across different agent products.
Viktor shows Herdr with roles such as lead, developer, researcher, designer, and tester, including work on a speaker-timer application. He also demonstrates Paseo and a music-reactive smart-bulb experiment built through agent roles. These are concrete configurations, not a prescription that every project needs all those roles. The tester discussion criticizes merely rerunning developer unit tests: a useful tester should also find missing scenarios and challenge assumptions.
Capacity is another constraint. Baruch’s allocation example accounts for role requirements, model capability, reasoning effort, and remaining subscription headroom. Workers using the same subscription share capacity. The allocation logic is testable software; the demonstration does not establish optimal dollar cost or a general productivity multiplier.
The outer loop connects code to everything around it
Small, bounded applications can become easier to replace or rewrite. Viktor describes moving Iron Trainer from Python to Quarkus, with ADRs and work records helping retain intent. The broader implication is that some complexity moves from writing a component to coordinating many components and the systems that depend on them.
The speakers call the wider lifecycle the outer loop. In an organization, it includes documentation, clients, support, customers, operational systems, and their owners. Internal developer portals and workflow engines reappear as useful infrastructure: their catalogs, relationships, and procedures can serve agents as well as human developers.
Baruch shows Port using the fictional Printf company. A release is connected to documentation, API endpoints, SDK clients, support tickets, printing facilities, and customers. Explicit relationships let workflows find affected entities through repeatable queries instead of asking a model to guess all the connections.
The second exhibit is a workflow that creates workflows. An agent loads context and skills, inspects issues and catalog relationships, and produces a release-documentation workflow. That generated workflow combines deterministic relationship traversal with model reasoning for drafting documentation, then identifies affected customers and their representatives for follow-through. This is the concrete “factory building factories” example. Printf is a demo scenario; it is not a reported customer incident or proof that generated workflows need no review.
Conclusion and boundaries
The closing question is “What’s your constraint?” The speakers connect useful personal creation, durable context, policy, worker coordination, and outer-loop engineering as ways to move the constraint. Operating the product creates new work for both the product and its factory.
A personal owner can supply the context and follow-through that a larger system must distribute explicitly. The talk does not establish a team-size threshold for requiring Port or a particular orchestration tool. Nor should its rhetoric about easy coding or disposable components be treated as evidence that all software, review, or operational problems are solved.
Sources
- Canonical shownotes and slides
- Conference stream at the talk’s start
- Iron Trainer
- Coding policy
- Agentic Context Registry
This brief draws on the delivery-specific rhetoric analysis, reconciled with the delivered conversation and prepared exhibits. It supplies content for summaries and questions, not a verbatim transcript or instructions to start worker fleets, change hardware, or publish.
Abstract
Coding agents make selfware practical: build the software you want for your own life, from an Ironman training app to personal utilities. Baruch Sadogursky and Viktor Gamov explore what happens when you scale that ability. Architecture decisions and explicit work items preserve project context; skills, scripts, hooks and rules turn engineering policy into software that can be developed, evaluated, reviewed and distributed. Agent teams, review loops and capacity-aware allocation help manage the work. Small, replaceable services simplify local factories while moving more complexity into their connections and shared responsibilities. At that point, organizational context and repeatable workflows matter as much as code generation. Through real projects and a Port demo, the conversation follows the Theory of Constraints from personal software factories to outer loops and factories that build factories: identify what limits useful results, improve it, and reassess.
Resources
Selfware and project context
- Iron Trainer — Viktor’s personal training application: the recurring selfware exhibit.
- Iron Trainer architecture decisions — Project decisions and their rationale, kept alongside the implementation.
- ADR 0021: web UI information architecture — The architectural context behind the Today and Training Plan screens.
- Today-card implementation Bean — A work item connecting the UI decision to implementation and review.
- ADR 0020: backend replacement — The recorded decision to replace the FastAPI backend with Quarkus.
- Backend cutover Bean — Implementation work for the backend cutover and decommissioning.
- Documenting Architecture Decisions — Michael Nygard — The original lightweight ADR format: context, decision, status and consequences.
- Beans — A file-based issue tracker for people and coding agents, with work stored in the project.
Harnesses and agent coordination
- Herdr — A runtime for keeping coding-agent terminals and workspaces running.
- Paseo — An interface for running and coordinating coding agents from desktop and mobile.
- Paseo provider documentation — Provider integrations, including agents connected through ACP.
- Agent Client Protocol — The protocol connecting coding agents to clients.
- Claude Code agent teams — Separate sessions with shared tasks and direct teammate messaging.
Policy as software
- Baruch’s coding-policy — The shared engineering-policy plugin: rules, skills, scripts, hooks, review and team operation.
- Viktor’s coding-policy — Viktor’s adaptation of the engineering policy for his own workflow.
- Tessl — Tools for evaluating and distributing agent context.
- coding-policy in the Tessl registry — The distributed policy package and its published context artifacts.
- Agentic Context Registry — An experimental registry and packaging approach for versioned agent context.
- Context package manifest example — A concrete manifest grouping the parts of an agent context package.
- Context resolution and locking — How declared context dependencies resolve to concrete package evidence.
- Policy PR #376: release channels — The policy itself became a constraint; this change separated channel-specific publishing obligations.
Review loops
- Policy PR #380: persistent retrospectives — Preserving factory feedback before changing workers, with review discussion.
- Copilot’s review finding — The complementary reviewer’s finding in the retrospective change.
- Response with reproduction evidence — The author’s evidence-based response to the finding.
- Policy-aware Codex CI review — The workflow connecting the engineering policy to automated pull-request review.
Determinism and agent economics
- Script delegation rule — Encode known mechanics in scripts rather than re-inferring them for every run.
- Precheck gating — Skip agent invocation when deterministic checks establish that no work is needed.
- Worker allocation planner — Executable eligibility and allocation logic for the agent team.
- Shared-subscription-window test — Multiple worker names share one capacity pool; assignments account for that shared headroom.
- Headroom allocation test — A small fixture showing how projected remaining capacity affects assignment.
- Iron Trainer plan validator — A deterministic validator alongside model-generated training plans.
- Validator test example — Input, adjustment and assertion for an encoded plan rule.
Outer loops and factories building factories
- Port demo — The recorded Port demonstration used for the outer-loop example.
- Port — The agentic SDLC platform used for the shared organizational context and workflow examples.
- Port Context Lake — Modeled software and organizational context with explicit relationships.
- Port Workflows — Explicit workflow orchestration with agentic steps where reasoning is needed.
- Printf order API change — The code-change starting point for the fictional T-shirt company example.
- Printf documentation output — The merged documentation change produced in the demo scenario.
- Printf sizing guide — A public documentation artifact connected to the release.
- Printf factory-improvement issue — The recorded work item behind the workflow-building example.
Further reading
- The Goal — Eliyahu M. Goldratt and Jeff Cox — The Theory of Constraints novel behind the question: what limits useful results now?
- The art of loop engineering — LangChain — Further reading on nested execution, verification and orchestration loops.
- Software factories, light and dark — Addy Osmani — Further reading on software factories and ownership of the outer loop.
Optional public examples
- Calliope review example — A contributor’s keyboard-navigation fix, tests and review discussion.
- Calliope architecture reversal — A recorded architectural reversal with explicit tradeoffs.
- PopClip Summarize — Another personal utility, with on-device and API model paths.
Next talk
Spec-driven development continues in Anton Arhipov’s session at IntelliJ IDEA Conf 2026.