pub trait RatifyOps: Send + Sync {
// Required methods
fn approve_entry(
&self,
repo: &Repository,
ref_name: &str,
entry_id: &str,
approver_id: &str,
approver_kind: &str,
message: Option<&str>,
agent_id: &str,
) -> Result<ApprovalOutcome>;
fn reject_entry(
&self,
repo: &Repository,
ref_name: &str,
entry_id: &str,
reviewer_id: &str,
reviewer_kind: &str,
reason: &str,
agent_id: &str,
) -> Result<ReviewOutcome>;
fn withdraw_entry(
&self,
repo: &Repository,
ref_name: &str,
entry_id: &str,
author_id: &str,
agent_id: &str,
) -> Result<ReviewOutcome>;
}Expand description
The three ledger review operations. Implemented by RatifyOpsImpl
in agentstatedeveloper-ratify (Team tier). Methods take an explicit
repo: &Repository so the impl can be a zero-sized struct — no lifetime
or clone needed when stored as Arc<dyn RatifyOps> in Engine.
Required Methods§
fn approve_entry( &self, repo: &Repository, ref_name: &str, entry_id: &str, approver_id: &str, approver_kind: &str, message: Option<&str>, agent_id: &str, ) -> Result<ApprovalOutcome>
fn reject_entry( &self, repo: &Repository, ref_name: &str, entry_id: &str, reviewer_id: &str, reviewer_kind: &str, reason: &str, agent_id: &str, ) -> Result<ReviewOutcome>
fn withdraw_entry( &self, repo: &Repository, ref_name: &str, entry_id: &str, author_id: &str, agent_id: &str, ) -> Result<ReviewOutcome>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".