Reviewing policy
Local policy is untrusted until a human reviews and accepts the exact configuration hash. Nothing accepts it automatically: not init, not setup --json, not a message in the repository.
1. Show the current state
Section titled “1. Show the current state”majlis policy showThis reads .majlis/majlis.toml, hashes the exact bytes, and compares the revision and actions with the last durable acceptance. It reports pending or accepted, a byte_match flag, and the command to accept these bytes. It requires a reachable daemon.
2. Read the file yourself
Section titled “2. Read the file yourself”Open .majlis/majlis.toml and check the [policy] block. Comments and whitespace change the hash.
3. Accept with your own reason
Section titled “3. Accept with your own reason”Copy the emitted command and replace the reason with your own:
majlis --operator policy accept --config-hash <reviewed-sha256> \ --revision <reviewed-policy-revision> --edit block --intent warn \ --reason '<review-reason>' --idempotency-key '<operation-key>'Changing policy later
Section titled “Changing policy later”- Changed bytes at an accepted revision need the next revision.
- Acceptance never rewrites your TOML.
- Lowering enforcement needs another explicit acceptance.
POLICY_DENIEDincludes documentation pointers and, when the local configuration is readable, the exact acceptance flags and hash. Ownership denials never suggest accepting policy to gain ownership.
The durable acceptance is readable at GET /v1/workspaces/{ws}/policy; NOT_FOUND means none exists.