Spanda supports safety-gated agentic programming with tool permissions, memory scopes, and approval gates.
agent Planner {
goal "Navigate safely";
tools [camera, lidar, map];
memory short_term;
policy safe_only;
can [ read(lidar), propose_motion ];
plan {
let proposal = planner.reason(goal);
let action = safety.validate(proposal);
return action;
}
}
SafeActioncan [] default-denies propose_motion and execute at runtime (Phase 32)audit is configuredActionProposal must pass through safety.validate before actuator executionplan blocks with motion grants must return SafeAction — see
typed-handler-io.mdExamples:
examples/features/agent_capabilities.sd —
populated can[]examples/features/agent_can_deny.sd — empty can[]
denialspanda-ai provides AgentRuntime with mock and live AI paths. Capability enforcement runs in the
interpreter.
See Architecture — AI Safety and Feature Status.