Duration: under 5 minutes
Audience: robotics engineers, safety reviewers, technical evaluators
Message: Spanda blocks unsafe AI at compile time, verifies hardware fit before deploy, and
simulates safe execution with runtime safety rules.
This is the flagship demonstration for Spanda v0.5 beta. Run it locally or adapt the script for conference talks and README videos.
| Step | Command | What the audience sees |
|---|---|---|
| 1 | Read source | A readable robot program with AI, safety, and deploy |
| 2 | spanda check (unsafe) |
Compile error: ActionProposal cannot reach actuators |
| 3 | spanda check (safe) |
Type check passes with safety.validate() |
| 4 | spanda verify --json |
Hardware compatibility report (memory, sensors, timing, battery) |
| 5 | spanda sim |
Robot moves; stop_if triggers near simulated obstacles |
| 6 | Fault injection | Verify warns when battery degradation is simulated |
| 7 | Mission continuity (optional) | spanda demo continuity — takeover at 72% checkpoint |
Build the native CLI (recommended):
npm run build:rust
export PATH="$PWD/target/release:$PATH"
Or use the TypeScript CLI wrapper:
npm install
npm run build
Open examples/showcase/killer_demo.sd.
Highlight four blocks:
ai_model planner — AI proposes motion; output is untrusted.safety { stop_if ... } — runtime rules including emergency stop.safety.validate(proposal) — only validated output reaches actuators.deploy SafePatrol to RoverV1 — program is bound to a hardware profile before ship.Key lines:
let proposal = planner.reason(prompt: "Plan safe forward motion", input: scene);
let action = safety.validate(proposal);
wheels.execute(action);
Show the minimal failure case (15 lines):
spanda check examples/showcase/ai_safety_violation.sd
Expected: non-zero exit; diagnostic mentions ActionProposal and SafeAction.
The unsafe program passes a raw proposal to the actuator:
wheels.execute(proposal); // error: requires SafeAction
Talking point: This fails in CI before hardware exists — not at runtime on a factory floor.
spanda check examples/showcase/killer_demo.sd
Expected: exit code 0.
The fix is one semantic step: validate before execute.
Human-readable report:
spanda verify examples/showcase/killer_demo.sd
JSON for CI integration:
spanda verify examples/showcase/killer_demo.sd --json
Expected: compatible with RoverV1; checks include memory, sensors, actuators, task timing,
mission battery estimate, and AI model requirements.
Talking point: “Will this program run on this robot?” is answered before flash/deploy — not after integration debugging.
spanda sim examples/showcase/killer_demo.sd
Expected: interpreter runs the patrol loop; when simulated lidar range drops below 0.5 m, the
stop_if rule triggers emergency stop behavior.
Talking point: Design → check → verify → sim is a single toolchain, not four separate tools.
The program declares:
simulate_compatibility {
fault BatteryDegradation;
}
Re-run verify and point out warnings or margin changes in the report when simulation mode evaluates degraded battery assumptions:
spanda verify examples/showcase/killer_demo.sd --simulate
Talking point: Deploy risk is visible in the verify report, not only in post-mortems.
When a fleet robot fails mid-mission, Spanda plans takeover and checkpoint resume:
spanda demo continuity
# or
spanda continuity examples/showcase/continuity/warehouse.sd \
--failed ScannerAlpha --progress 72 --trigger robot_failed
Talking point: Who can take over, at what progress, with what evidence — before operators guess.
set -e
spanda check examples/showcase/ai_safety_violation.sd && exit 1 || true
spanda check examples/showcase/killer_demo.sd
spanda verify examples/showcase/killer_demo.sd
spanda verify examples/showcase/killer_demo.sd --json
spanda sim examples/showcase/killer_demo.sd
spanda verify examples/showcase/killer_demo.sd --simulate
Keep the narrative focused. Do not include in the same 5-minute flow:
compile-nativeThose are documented elsewhere and dilute the core story: safety-typed AI + hardware verify + sim-first development.
| File | Role |
|---|---|
examples/showcase/killer_demo.sd |
Safe hero program — check, verify, sim |
examples/showcase/ai_safety_violation.sd |
Minimal compile-time failure |
docs/hardware-compatibility.md |
Deep dive on spanda verify |
docs/product-strategy.md |
Why this demo exists |
When the native CLI is built, run the golden path script or the showcase test suite:
./scripts/killer_demo_golden_path.sh
# or
npm test -- tests/showcase.test.ts
CI job: killer-demo-golden-path in .github/workflows/ci-integration.yml.
v0.5 beta — Curate killer demo program
Debug in VS Code: debugging.md — step through task every loops with
spanda-dap.