Bound the task
Fix the form that submits twice on a quick double-click. One user action must create one submission. Keep the existing validation and keyboard behavior, and leave billing and authentication untouched.
Practical ways to work with agents
Build checks into the workflow, so every result is tested against what you asked for.
ReactorJet shares practical guides, reusable components, and tools for people building and working with agents.
23publishedreadings
Tutorials, practical guides, concepts, and field notes for people building and using agents.
5documentedcomponents
Explore and build with a library of components for planning, policy, telemetry, security, and evaluation.
2tools toexplore
Compare coding plans, explore useful tools, and choose what fits the way you work.
One task, from request to result
A form submits twice when someone clicks quickly. Follow an agent fixing it, then see how a separate check decides whether the change can move forward. Select any step or switch the outcome to explore this example.
Fix the form that submits twice on a quick double-click. One user action must create one submission. Keep the existing validation and keyboard behavior, and leave billing and authentication untouched.
The component library
Start with a clear task, add a separate check, and keep the evidence. Explore each part below for a guide to using it in your own workflow.

Read the state before deciding what should move.

Keep every proposal bounded and reversible.

Judge the consequence outside the proposer.

Fail closed when evidence is incomplete.

Let the verdict shape the next iteration.

Keep the decision and its proof attached.

Surface the events that matter to the loop.

Make autonomy narrow, explicit, and visible.

Measure what the candidate is allowed to spend.

Bring people in at the consequential boundary.

Treat rollback as part of the workflow design.

See every state transition as it happens.
Put it into practice
Try the example below, then follow the guide to build a workflow in your own tools.
Build your first workflow
Start with one task and a clear success condition. Let the agent choose its steps, then use an independent check to decide whether the result is ready. The tutorial shows how to put those parts together.
Find out howThe same responsibilities can live in TypeScript, Python, shell scripts, or a workflow engine. These architecture sketches illustrate the pattern; package names and commands are examples, not installable ReactorJet APIs.
import { closeLoop } from "@reactorjet/core";
await closeLoop({
observe: repositoryState,
propose: boundedCandidate,
verify: heldOutEvaluator,
adapt: nextBestAction,
});New from ReactorJet
New models bring new possibilities. We connect the releases to practical workflows, useful components, and checks you can try yourself.
What this release changes in practice
More capable agents make it practical to delegate longer tasks, which makes clear outcomes and independent checks more useful than ever.
Tool calls and busy run logs measure agent activity; progress begins when the workflow can prove that the target state moved closer and stayed there.
When an agent asks for approval too often and without decision-ready context, the workflow trains people to click through instead of protecting the actions that deserve judgment.
What we are building toward · Biro
Biro is where this model is taking shape: one environment for expressing intent, directing agents, checking evidence, applying policy, and deciding what moves forward.
ReactorJet documents that work as it develops. As models improve and tooling matures, we are building and testing the controls, components, and workflows that make the model practical, then bringing them together in Biro.
FAQ
What ReactorJet is, what you can use now, and how to start building with the ideas.
ReactorJet is a public library for designing more reliable agent workflows. It brings together tutorials, reusable components, field notes, and working examples that connect intent, action, evaluation, policy, and deployment.
Yes. Use them as implementation patterns and adapt the interfaces to your stack. Each component explains the responsibility it owns, the evidence it expects, and the boundary it should not cross.
It can observe the result of its own action, compare that result with an explicit target, and use the verdict to choose the next move. A fixed automation sequence cannot do that.
No. It makes the decision boundary explicit. People set goals, define trust boundaries, and decide which verdicts may advance automatically. The system keeps evidence attached to every consequential change.
Outside the proposer whenever possible. Separating proposal from judgment reduces self-grading and makes failures easier to reproduce, audit, and contain.
Start with one bounded task, one measurable target, and one independent check. Add policy, approval, and recovery only where the consequences require them.
Start with something useful
Follow a practical tutorial, give the agent a clear task, and add an independent check you can use again.