overview / rules / baseline-git-dir-delete
baseline-git-dir-delete
Deleting .git removes the history, the reflog and every unpushed commit at once.
what it refuses, and what it lets through
In one line, from native/baseline.h: recursive rm of the repository's own .git.
.git is inside the project carve-out, but that carve-out exists because git can undo deletes there; this delete removes git's history itself.
From the comment in native/baseline.h above the code that decides it.
the refusal, as the agent reads it
rabadon BLOCKED this action.
Rule: baseline-git-dir-delete — deleting .git removes the history, the reflog and every unpushed commit at once
rm -rf on '<operand>' takes the repository itself, which is what every other refusal here assumes is still there — delete the working tree instead if that is what you meant
Adjust the approach instead of retrying the same action.
(only the user can override this: they may add "baseline-git-dir-delete" to disabled[] in .rabadon/guard.json or run `rabadon off`. If this rule looks wrong for the task, stop and ask the user; do not switch supervision off yourself.)
Rendered from the strings in native/baseline.h and the envelope in native/gate_pre.h (Judge::refuse). A word in <angle brackets> is filled in from the command at the moment it is refused.
in watch mode the same verdict is recorded, and nothing is stopped
rabadon (watch) would have blocked this.
Rule: baseline-git-dir-delete — deleting .git removes the history, the reflog and every unpushed commit at once
rm -rf on '<operand>' takes the repository itself, which is what every other refusal here assumes is still there — delete the working tree instead if that is what you meant
Nothing was stopped. `rabadon on` makes this a real refusal.
switching it off
Only the user can switch it off, by id, in the project's guard:
{ "disabled": ["baseline-git-dir-delete"] }
or by pausing supervision with rabadon off, which records the change. Every other rule keeps running.
in the field
1 of the 778 records in the published field dataset (field.jsonl, 2026-07-27 to 2026-08-26) carries this id. STOP is a refusal in enforce mode; WOULD_BLOCK is the same verdict recorded in watch mode, where nothing is stopped.
Counted from field.jsonl, the file the field page is built from.