# `SuperPi.Harness.Code`
[🔗](https://github.com/oleksandr/super-pi-beam/blob/v0.1.0/lib/super_pi/harness/code.ex#L1)

Coding harness (`super-pi-code`): mutates a repository, reversibly.

- `Permissions`, `ProtectedPaths`, `ConfirmDestructive`: the safety floor (execution modes,
  workspace boundary, secrets, destructive shell commands).
- `GitCheckpoint`, `AutoCommit`: stash checkpoints before edits and an atomic commit when a turn
  settles. `AutoCommit` is off. Turn it on with `{Plugins.AutoCommit, enabled: true}` in
  `extra_plugins` or a harness of your own.
- `Rules`, `Skills`, `Hooks`, `SlashCommands`: repository-native customization.
- `JevRouter`: model cascading. Planning and implementation models come from
  `config :super_pi, :planning_model` and `:implementation_model`.
- `Todo`, `PromptCustomizer`, `TranscriptLogger`.

It replaces `super-pi-workspace` and `super-pi-auto` of earlier releases. Both ids stay resolvable
as aliases. It is also the default harness (`SuperPi.Harness.default/0`).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
