overview / rules / promise-anti-path
promise-anti-pathThe promise swore off this ground: <north_star>.
Promise: the goal contract enforced IN the session. .rabadon/promise.json declares the project's goal (drift.cpp measures it at session end). An edit on an anti-path is refused; edits outside the promised areas are challenged once per session. No promise, or a broken one: nothing to enforce (fail open).
From the comment in native/gate_pre.h above the code that decides it.
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.
Sealed: disabled[] in .rabadon/guard.json does not switch it off, and the refusal does not offer that way out. promise-tamper, promise-anti-path and guard-weaken cannot be switched off by disabled[] (sealed_rule): otherwise a supervised session could list the rules protecting the goal contract as ones it need not obey. They answer only to the operator editing the files by hand, which does not pass through this hook. promise-off-target stays switchable: a once-per-session challenge buys no integrity by being locked, and drift stays on the ledger regardless.
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.
| event | records |
|---|---|
| WOULD_BLOCK | 1 |
Counted from field.jsonl, the file the field page is built from.