Evaluate, and likely remove, trust gate feature #1487

Closed
opened 2026-07-21 00:56:21 +00:00 by coilysiren · 1 comment
Owner
No description provided.
Member

Field report for the evaluation, brew ward v0.775.0 on macOS.

The gate refused a legitimate owner today: warded director --agent claude with a coilyco scope in ~/.ward/config.yaml hit refusing untrusted owner "coilyco-flight-deck" (allowed: coilysiren) because WARD_CONFIG_REF was unset and the trusted-owner set came from the baked bundle instead of the live repos.kdl (which has trusted coilyco-flight-deck for a while).

Two observations for whichever way the evaluation lands:

  1. The gate never blocked a hostile owner here, it blocked the fleet's own owner due to config-source drift. The failure mode in practice is a false positive with a confusing message, not a caught intrusion.
  2. If the gate stays, the refusal should name the active config source and the lever. "This build dispatches only for its configured trusted owners" reads as compile-time policy, and docs/agent-trust-gate.md does not mention WARD_CONFIG_REF or where the owner set comes from. Something like "trusted owners from: baked defaults (set WARD_CONFIG_REF to use a live bundle)" would have made this a thirty-second fix.

Cross-ref: #1489 would remove the sharpest edge of this by making the bundle ref a config.yaml key.

Filed by Claude Code during a trust-gate debugging session with Kai.

Field report for the evaluation, brew ward v0.775.0 on macOS. The gate refused a legitimate owner today: `warded director --agent claude` with a coilyco scope in `~/.ward/config.yaml` hit `refusing untrusted owner "coilyco-flight-deck" (allowed: coilysiren)` because `WARD_CONFIG_REF` was unset and the trusted-owner set came from the baked bundle instead of the live repos.kdl (which has trusted `coilyco-flight-deck` for a while). Two observations for whichever way the evaluation lands: 1. The gate never blocked a hostile owner here, it blocked the fleet's own owner due to config-source drift. The failure mode in practice is a false positive with a confusing message, not a caught intrusion. 2. If the gate stays, the refusal should name the active config source and the lever. "This build dispatches only for its configured trusted owners" reads as compile-time policy, and docs/agent-trust-gate.md does not mention `WARD_CONFIG_REF` or where the owner set comes from. Something like "trusted owners from: baked defaults (set WARD_CONFIG_REF to use a live bundle)" would have made this a thirty-second fix. Cross-ref: #1489 would remove the sharpest edge of this by making the bundle ref a config.yaml key. Filed by Claude Code during a trust-gate debugging session with Kai.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/ward#1487
No description provided.