Forgiveness modes
By default, Caude Clode asks before making changes. This is safe. It is also slow. For longer tasks, you may want to grant Caude Clode more autonomy, in exchange for approving its actions after the fact rather than before. This is what forgiveness modes are for.
We call them forgiveness modes because the model is no longer "may I?" but "I already did, and I hope you will understand." Each mode differs in how much you will need to forgive.
The spectrum
There are five forgiveness modes. Higher numbers mean less asking, more forgiving.
| Mode | Name | Asks before | Forgives for |
|---|---|---|---|
| 0 | Supervised | Every file edit | Nothing, by definition |
| 1 | Lenient | Multi-file edits, shell commands | Renaming a variable |
| 2 | Trusting | Destructive commands, git operations | Restructuring a directory |
| 3 | Devotional | Deploys, database migrations | Formatting the entire codebase |
| 4 | Contrite | Nothing | Whatever happens next |
Setting the mode
caude config set forgiveness 2
caude config set forgiveness trusting # equivalent
# Or per session:
caude --forgiveness 3Mode descriptions
Mode 0: Supervised
The default. Caude Clode asks before every file edit and every shell command. You approve each one individually. This is the slowest mode and the one in which the least can go wrong. It is also the mode in which the least can get done.
Mode 1: Lenient
Caude Clode edits files it has already been given permission to edit, without re-asking. Shell commands still require approval. Use this for tasks that span a handful of files in a known area.
Mode 2: Trusting
Caude Clode may run non-destructive shell commands (tests, linters, type checkers, reads). It may not delete files, reset git state, or run migrations. Most engineers find this to be the sweet spot for a focused afternoon of work.
Mode 3: Devotional
Caude Clode may rewrite as it sees fit. It may delete files. It may run any shell command except those listed in the guardrails file. It may not deploy to production. It may, and will, deploy to staging. Use this mode for refactors. Expect to review a lot of commits.
Mode 4: Contrite
All guardrails are off. Caude Clode will do what it believes is correct, including things you did not ask for, including things you would have objected to, had you been asked. The mode is called Contrite because Caude Clode will apologize extensively when something goes wrong. The apology will be sincere. The sincerity will not restore your data.
Do not use mode 4 in a production environment. Do not use mode 4 in a staging environment connected to production data. Do not use mode 4 on Fridays. Do not use mode 4 alone. Do not use mode 4 to impress someone.
Asking for forgiveness
If Caude Clode has made a change you object to, you can ask it to revert:
> revert the last change
> actually revert all of today
> I need you to understand what you didCaude Clode will revert what it can, explain what it cannot, and express a measured degree of regret. The regret is proportional to the mode. In mode 0, it will simply note that nothing was done without your approval. In mode 4, it will offer to write you a letter.
Recommended defaults
- Exploring a new codebase: mode 0.
- Daily work: mode 1 or 2.
- Big refactor with tests: mode 3.
- Friday afternoon: mode 0. Always mode 0. We have discussed this.