An open-source coding agent

It rewrites its own harness. Built to be outgrown.

Cells: code the model may rewrite. The amber line: the Root, which it never can. It undoes any change.

diagram
 
diagram gen 41 cells rewritten 0 rolled back 0 Root moved never x 0000 · y 0000
+01THE BODY
The Body · live data

This is INIT's actual body.

One cell per real file (v0.3.3). Ringed: files INIT changed itself.

136files
508ktokens
3changes
prompts & skillstoolscompiled corekeptrolled backin flighthover a cell
ROOTkeys · the record · undo · the off switch — never written by the model
+02THOUGHT EXPERIMENT

A fixed harness pays for each friction every day. INIT pays once.

thought experiment · illustrative, not measured
Same model · 21 days · moving a 2M-line monorepo off its build DSL
useful workfriction, paid againchanging itselfkeptrolled back
 
day 21 surprises nobody planned for 2
+03THE POTENTIAL

Every fixed harness becomes a ceiling.

A hand-drawn frame caps a growing model. INIT's model redraws its own.

illustrative · the bet, not a measurement
A fixed harness
INIT
model capabilitymodel 5×5drag, or let it run

Not shown yet: that it makes today's models better. What is shown →

+04HOW IT WORKS

A new core, same conversation.

src/loop/mod.rs · one core change
where a branch, never the live copy what one file of the compiled core state editing
promptstoolscorebeing edited
1builds, lints, passes its tests—
2its self-map still matches its code—
3boots beside the live version—
4the new version can still edit itself—
↳ a fresh copy edits its own source and commits
↳ that commit must pass checks 1–3 ✓ ✓ ✓
diagram · cells are INIT's real files · cyan is the change in flight
01 Edit

It edits a copy of itself.

02 Build

The copy must build and still know itself.

measured · build + tests 439 s · self-map 1.5 s · v0.3.2 · M2

03 Prove

It must still be able to change itself.

measured · boot 19 s · self-edit 322 s

04 Swap

The new core takes over the conversation.

measured · hand-off 4.3 s · cache kept

05 Watch

The Root watches, and rolls back on harm.

12 harm signals · signed record

+05EVERY CHANGE CAN BE UNDONE

Freedom, with an undo button.

Where the line is.

the model may rewrite
prompts & skills · tools · compiled core · kernel · from L1

sandboxed · no API key · one socket to the Root

ROOT · nobody rewrites
API keys · signed record · snapshots + undo · harm signals · stop · disk & memory floors

separate service · outside the sandbox · holds the signing key

Twelve harm signals.

One trips, the change rolls back · all twelve, and what they miss →

+06THE NUMBERS

Seeing is believing. Each number links to its log.

4.3s
to swap in a new core, mid-conversation
↳ bundle-e2e-t2.json · v0.3.2 · mock model
87.9%
of the prompt cache kept across a swap
↳ real-v0.1.md · DeepSeek
13.1min
for a first, cold core change, all checks
↳ REL-032.md · v0.3.2 · M2
51s
from install to first reply
↳ REL-032.md · v0.3.2
$0.0005/turn
per live DeepSeek turn
↳ REL-032.md · deepseek-flash
1,897runs
test runs in one CI pass, 0 failed
↳ FULLACCESS.md · v0.3.1
Real model · gated mode · 2026-10-21

A rollback, signed.

−5.0 points is inside the noise floor: refused, not proven harmful · the honest reading →

seq 88 · sealed_g4by root · 08:32:33.794Z
candidate2efd6c39…d_permille−50statusinferior
prev ← seq 87sha256 chained25519
+0.063 s · hash links to seq 88
seq 89 · gateby kernel · 08:32:33.857Z
verdictrejectreasonscore_inferior
prev ← seq 88sha256 chained25519
+8.722 s · hash links to seq 89
seq 90 · body_rollbackby kernel · 08:32:42.579Z
fromc88be5f…toaaf07b7…
prev ← seq 89audit-verify: lineage oked25519

lineage.jsonl records 88–90 · fields verbatim, abridged · m7-results.md

+07TRY IT

One line to install.

$curl -fsSL https://github.com/nagisanzenin/INIT-Agent/releases/latest/download/get.sh | sh
theninit --workspacekeeps it to one folder ·read get.sh first ↗