Goal: Declare deployment targets and verify your program fits the hardware before you ship.
Examples:
examples/integration/verify_walkthrough.sdexamples/hardware/rover_deploy.sdexamples/showcase/hardware_compatibility.sdFull reference: hardware-compatibility.md
A profile describes a physical or simulated target:
hardware RoverV1 {
cpu: CortexA78;
memory: 4 GB;
sensors [ Lidar, IMU ];
actuators [ DifferentialDrive ];
battery { capacity: 100 Wh; }
}
Built-in profiles include RoverV1, JetsonOrin, RaspberryPi5, and ESP32.
Link your robot program to a profile:
deploy VerifyRover to RoverV1;
The compiler records which robot runs on which hardware. Verification uses this mapping.
Runtime checks you want enforced during verification:
verify {
robot.velocity().linear <= 1.5 m/s;
}
These express invariants — max speed, sensor availability, memory headroom — as part of the program.
spanda verify examples/integration/verify_walkthrough.sd --target RoverV1 --json
spanda verify examples/integration/verify_walkthrough.sd --all-targets
spanda verify rover.sd --simulate
| Flag | Effect |
|---|---|
--target |
Check one hardware profile |
--all-targets |
Check every declared deploy |
--simulate |
Include fault-injection scenarios |
--json |
Machine-readable report for CI |
Verification checks sensors, actuators, memory, timing, battery, and AI model requirements against the profile.
spanda check examples/integration/verify_walkthrough.sd
spanda verify examples/integration/verify_walkthrough.sd --target RoverV1
spanda verify examples/showcase/hardware_compatibility.sd --json
hardware RoverV1 { } block to your project (copy fields from the walkthrough)deploy MyRobot to RoverV1;spanda verify src/main.sd --target RoverV1 and fix any reported mismatches