Rules can't strictly prevent unauthorized edits; the Agent still modifies files

I’ve explicitly specified in .cursor/rules/*.mdc that certain paths are “accessible but not editable,” for example:

> Accessible but not editable:
>
> * `packages/*.tsx`

(I’ve also tried using packages/**/*.tsx and adding natural language emphasis like “DO NOT EDIT”, but the files still get modified.)

In practice, the Agent still directly edits these files. The rules don’t act as a hard block. It seems like Rules are just soft constraints at the prompt level, which the model can simply ignore.

Is there a better way to enforce stricter constraints?