pub enum ReadOnly {
ToolAllowlist,
OsSandbox,
AgentDefault,
NotEnforced,
}Expand description
What keeps an agent from writing.
An enum rather than a bool plus a sentence, because the three enforcing
answers are not interchangeable and a reader deciding whether to trust one
needs to know which they have. An OS sandbox holds against a model that
tries; an allowlist holds against a model that asks; a default holds only
until someone adds a flag.
Variants§
ToolAllowlist
The agent may run only the tools it was given, and writing is not one.
OsSandbox
The agent may run anything and the kernel refuses the writes.
AgentDefault
The agent is read-only until told otherwise, and it is not told.
NotEnforced
Nothing stops it. The agent can write, commit and push, and only the
prompt asks it not to. See Agent::Pi and ADR 0033 for why one agent
is here and why that was a choice rather than an oversight.
Implementations§
Trait Implementations§
impl Copy for ReadOnly
impl Eq for ReadOnly
impl StructuralPartialEq for ReadOnly
Auto Trait Implementations§
impl Freeze for ReadOnly
impl RefUnwindSafe for ReadOnly
impl Send for ReadOnly
impl Sync for ReadOnly
impl Unpin for ReadOnly
impl UnsafeUnpin for ReadOnly
impl UnwindSafe for ReadOnly
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.