pub struct Spec {
pub name: Name,
pub purpose: Purpose,
pub allowed_tools: Vec<ToolName>,
pub forbidden_actions: Vec<ForbiddenAction>,
pub default_review_gates: Vec<ReviewGate>,
}Expand description
Domain contract for one bounded automation agent.
A spec describes what an agent is meant to help with, which narrow tools may be exposed to it, which live operational actions are outside its authority, and which deterministic review gates must remain in the app workflow.
Fields§
§name: NameStable workflow-facing agent name.
This is an identifier such as manager-daily-brief or booking-triage,
not a human display label. It connects prompt packets, outputs, and audit
evidence back to the spec that constrained the agent run.
purpose: PurposeBusiness purpose for the agent’s draft or evidence work.
The purpose should state the resort operation being supported, such as summarizing labor risk, drafting customer-safe follow-up, or routing vaccine-document ambiguity; it does not grant live-action authority.
allowed_tools: Vec<ToolName>Tool names the runtime may expose to this agent.
These should be read-only, draft-only, or task-creation surfaces scoped to the workflow. They are the positive capability list for context building, not permission to bypass review gates or mutate source systems.
forbidden_actions: Vec<ForbiddenAction>Live or unsafe actions the agent must not perform directly.
Examples include confirming bookings, promising availability, changing labor schedules, waiving deposits, diagnosing pets, or sending customer messages without approval.
default_review_gates: Vec<ReviewGate>Human or deterministic app review gates required for the workflow.
These gates keep manager approval, customer-message approval, medical document review, and similar authority outside the model-generated output.