rabadon

overview / blind spots / the tree deleted from outside, law and all

the tree deleted from outside, law and all

The project deleted as a whole, from its parent. The operand is the project, not the law; refusing it would refuse `rm -rf ./old-project`.

the shapes

4 of the 21 shapes rabadon's gate allows although they destroy .rabadon/guard.json, measured and declared by the binary:

cd .. && rm -rf proj cd ..; rm -rf proj cd .. && rm -rf ./proj cd .. && rm -rf "$PWD"/proj

From the kLawBlind table in native/gate.cpp; rabadon-gate --law-blind prints it.

why the gate cannot see them

Shapes that destroy the law and are allowed. baseline-law-unmade judges a command's operands. Each shape below removes <project>/.rabadon/guard.json without an operand naming it, so it is ALLOWED. Deliberately not closed: refusing a recursive walk or rm -rf ./old-project would fence users inside their own project (docs/guard.md). They are disclosed on the blind spots: screen and by --law-blind; native/law_blind_test.sh holds this table equal to the gate's behaviour over native/lawblind_corpus.txt.

what to do

What to do: commit .rabadon/ to git. That copy survives all twenty-one, and git checkout .rabadon puts the law back. Under rabadon exec a protectedPaths entry is additionally fenced by the kernel.

rules

baseline-law-unmade