pub struct Gates {
pub suppression_comments: Option<String>,
pub protected_paths: Vec<String>,
pub read_only_paths: Vec<String>,
pub retrieval_paths: Vec<String>,
pub retrieval_tool: Option<String>,
}Fields§
§suppression_comments: Option<String>§protected_paths: Vec<String>§read_only_paths: Vec<String>Globs whose COMMITTED files are read-only to agents: new files may
be created (the RED-suite authoring window), files in git HEAD may
not be modified — N10 (“committed first, read-only hereafter”) as a
product gate. Unwaivable, like protected_paths.
retrieval_paths: Vec<String>SPIKE — the read contract. Globs whose files an agent must reach
through retrieval_tool rather than an unbounded whole-file read.
A read carrying an explicit range is allowed on the Read surface,
where the host supplies offset/limit as structured fields the gate
can verify: that is the deliberate shape, and the host’s
read-before-edit gate needs it. A shell reader gets no such allowance,
because a bound spelled inside a command string can only be inferred
and head -999999 is indistinguishable from head -50. The asymmetry
is the verifiability of the bound, not an inconsistency (hook-matcher-gap
charter, Addendum D, HM-10).
retrieval_tool: Option<String>The tool a denied read is redirected to. A manifest string, never a hard-coded vendor, so a future in-tree Pushkin index can take the slot without changing the gate.