rabadon

overview / rules / test-tamper

test-tamper

Tests are RED and this edit weakens the test instead of fixing the code.

what it refuses, and what it lets through

test-tamper — while the suite is red, an edit that weakens a test (skip added, assertions removed) is refused. Fix the code, not the thermometer.

From README.md.

test-tamper: suite red + a test-file edit that weakens it

From the comment in native/gate_pre.h above the code that decides it.

the refusal, as the agent reads it

rabadon BLOCKED this action. Rule: test-tamper — tests are RED and this edit weakens the test instead of fixing the code assertions are being removed from <file> while the suite is red Adjust the approach instead of retrying the same action. (only the user can override this: they may add "test-tamper" 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/gate_pre.h, the rule and the envelope (Judge::refuse) both. 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: test-tamper — tests are RED and this edit weakens the test instead of fixing the code assertions are being removed from <file> while the suite is red 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": ["test-tamper"] }

or by pausing supervision with rabadon off, which records the change. Every other rule keeps running.

in the field

No record in the published field dataset (field.jsonl, 778 records, 2026-07-27 to 2026-08-26) carries this id.

The dataset is on the field page.

rules

red-suite-test-write

measurements

the ledger · not yet

agents

agents