harness(rolepolicy): prove the DEPLOYED gate enforces the role policy
The role policy was unit-tested against the script the code generates. This probes the script the SERVER INSTALLED, inside a live mission container: the verifier's Write exits 2 with its reason, the lead's identical Write exits 0, the verifier's Read and another role's Edit exit 0, and the denial the deployed gate wrote names role-verifier-readonly and agent_type verifier. 5/5 on prod. Three of the four probes are negative controls. A gate that refused everything would pass the first and be worthless — the same trade the module's header refuses. 'Compiled in and CI-green' and 'enforced by the artifact in production' are different claims; the gap between them is this module's history. The record is matched with a shell glob on the raw JSON line, not a nested python -c: the first version could not survive quoting through bash, ssh and sh, and reported an empty record while the gate had written a correct one. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01WZb5A2kfVfjpdwSochkuHz
This commit is contained in:
co-authored by
Claude Opus 5
parent
ad67ce2fde
commit
70dbee662d
@@ -535,6 +535,19 @@ Rendered into the same guest script as the floor, so the shell and the
|
||||
Rust predicate cannot disagree; shell tests run the generated script and
|
||||
check that the lead's identical write is still allowed.
|
||||
|
||||
**Proven against the deployed artifact**, not only the unit-tested one
|
||||
(`rolepolicy` scenario, 5/5): payloads piped through the gate script the
|
||||
server actually installed, inside a live mission container. The verifier's
|
||||
`Write` exits 2 with the reason; the lead's identical `Write` exits 0; the
|
||||
verifier's `Read` and another role's `Edit` exit 0; and the denial the
|
||||
deployed gate wrote names `rule: role-verifier-readonly` and
|
||||
`agent_type: verifier`. Three of the four probes are negative controls on
|
||||
purpose — a gate that refused everything would pass the first one and be
|
||||
worthless. "Compiled in and CI-green" and "enforced by the artifact in
|
||||
production" are different claims, and the gap between them is this
|
||||
module's whole history (a gate installed and inert; an `--agents` list
|
||||
that silently did nothing until 2.1.243 rejected it).
|
||||
|
||||
**The real gap the paper names, and we do not have:** `arg_provenance`.
|
||||
Our gate sees a command string and cannot tell a URL the operator supplied
|
||||
from one a fetched web page supplied — so "no outbound action derived from
|
||||
|
||||
Reference in New Issue
Block a user