Self-evolution has two rungs (full design: ../docs/SELF_EVOLUTION.md):
pi/skills/, written
with skill_write; Pi discovers, injects, and invokes them (/skill:name). Most growth
happens here, with no code.make skill-check.Agent-authored code skills live here. Balaur can propose one, but a human approves it before it runs.
TEMPLATE.skill.ts
into code-skills/proposed/<name>.ts on a git branch (never the live process).make skill-check FILE=code-skills/proposed/<name>.ts
(denylist scan + capability header + compile). The automated half of the gate.main, then balaur /reload loads the skill.git revert. The skill was always just a commit.@capability: header (reads / writes / network).child_process, eval, raw secret access, or network outside the allowlist.See ../docs/SELF_EVOLUTION.md for the full design and the
roadmap to more autonomy.