## About the project

Rin started from a very practical frustration: I was already using AI coding agents every day, but the real work was still manual orchestration.

A good session looked something like this: ask one model to make a plan, ask two other models to review the plan, split it into tasks, send implementation tasks to cheaper coding agents, review each task, fix the review findings, run tests, review the whole section, update memory, and repeat. The pattern worked, but I was acting as the runtime by hand.

Rin is my attempt to put AI coding agents into strict, reliable rails.

It is a local-first execution manager for coding CLIs such as Codex, Claude, Goose, Kimi, Cursor-Agent, and others. A planner model writes a small typed workflow, the Rust host executes it, workers run in isolated git workspace forks, tests and reviews gate the candidates, and every important step is recorded so the run can be inspected, replayed, or resumed.

The core idea is simple:

$$ \text{better autonomy} = \text{planning} + \text{isolation} + \text{review gates} + \text{memory} + \text{cost-aware routing} $$

I also wanted the system to be economically realistic. Expensive models should not be used for everything. In Rin, stronger models can plan, review, and synthesize, while cheaper or local models do bulk implementation, investigation, and repetitive checks. The goal is not “one giant model does everything”; it is a coordinated team where each model is used where it makes sense.

The newest layer is Rin (agent), a persistent supervisor for the coding cockpit. Rin is not another code-writing agent. She routes messages, watches the run, remembers how we work together, and eventually learns both relationship patterns and craft lessons from verified outcomes. The long-term goal is for the system to stop requiring me to repeat the same operating instructions every session.

I built the project as a Rust kernel plus Python orchestration layer and Type Script for CLI UI. Rust owns the hard parts: processes, workspaces, event logs, daemon control, replay/resume, routing, and side effects. Python owns the workflow authoring surface, so agents can express plans as small programs instead of vague prose. The boundary is intentional: the workflow can branch on execution facts, but it cannot freely inspect files or invent its own side effects.

The biggest challenge has been making autonomy safe enough to trust. AI agents are useful, but they drift, over-edit, repeat failed strategies, and hide uncertainty. Rin addresses that with isolated forks, typed yields, review loops, test gates, append-only events, single-source wire types, and a clear rule: planner proposes, runtime enforces, human approves.

What I learned is that “AI coding automation” is less about prompting one model harder and more about building the missing operating system around many imperfect agents: memory, routing, supervision, rollback, review, and cost control.

Rin is the tool I wanted as a daily developer: a cockpit where AI agents can do more of the boring coordination work themselves, while I keep control over the important decisions.

Built With

Share this project:

Updates