Skip to main content

oris_agent_contract/
lib.rs

1//! Proposal-only runtime contract for external agents.
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Clone, Debug, Serialize, Deserialize)]
6pub enum AgentCapabilityLevel {
7    A0,
8    A1,
9    A2,
10    A3,
11    A4,
12}
13
14#[derive(Clone, Debug, Serialize, Deserialize)]
15pub enum ProposalTarget {
16    WorkspaceRoot,
17    Paths(Vec<String>),
18}
19
20#[derive(Clone, Debug, Serialize, Deserialize)]
21pub struct AgentTask {
22    pub id: String,
23    pub description: String,
24}
25
26#[derive(Clone, Debug, Serialize, Deserialize)]
27pub struct MutationProposal {
28    pub intent: String,
29    pub files: Vec<String>,
30    pub expected_effect: String,
31}
32
33#[derive(Clone, Debug, Serialize, Deserialize)]
34pub struct ExecutionFeedback {
35    pub accepted: bool,
36    pub asset_state: Option<String>,
37    pub summary: String,
38}