The live image
Autolith can inspect and change the running agent without a restart. Every change is journaled, exercisable, and then either kept as a private commit or discarded.
Make a change
self.redefine compiles and installs one complete
definition in the active image. self.set changes one
global value. Both take effect immediately and append to an
append-only mutation journal:
→ lisp.source TERMINAL-UI--DURATION-TEXT target self
← complete tracked DEFUN
→ self.redefine
(defun terminal-ui--duration-text ...)
← compiled and installed in the active image
→ self.exercise
(assert (string= "1d 2:00:00" ...))
← journaled assertion passed
Judge it
self.exercise runs one assertion-style check against a
pending change. self.diff shows everything pending,
collapsed to the effective state. Deliberate tuning can run as an
explicit experiment: state a hypothesis, measure, and record a
verdict without committing anything. self.discard
restores the newest change, so being wrong is cheap.
Keep it
self.commit persists pending changes as an immutable
private image commit: a manifest plus a complete executable replay
script, retained in a separate private Git history. A clean process
replays the script before the commit is selected. The tracked source
repository is never patched; selected private commits load after the
tracked system.