Skip to content

Demo Runbook

Terminal window
# 1. Reset database
cd packages/backend
npx convex run seed:reset
# 2. Start all apps
pnpm dev

Verify:

  • 3 batches created (001=normal, 002=critical, 003=high)
  • 15 LIMS tests scheduled
  • No pending proposals

Open MES App → Batches

“We have three batches in production today for Insulin Lispro. Batch 002 is for a critical customer—a major hospital chain running low on inventory. If we don’t deliver on time, they’ll switch to a competitor.”

Show the batch priorities:

  • Batch 001: Normal (routine production)
  • Batch 002: Critical (hospital chain)
  • Batch 003: High (standard order)

“Unfortunately, Batch 001 just experienced a 200-minute delay in upstream manufacturing. Let’s see how this affects our critical customer’s batch.”

Execute (not visible to audience):

Terminal window
npx convex run scheduling/testing:triggerSchedulingAgent \
'{"batchId": "LISPRO-API-YYYYMMDD-001", "delayMinutes": 200}'

(Replace YYYYMMDD with today’s date)

Wait 5-10 seconds for agent to compute.


Navigate to: LIMS App → Approvals

Click the pending proposal.

“The AI detected the delay and computed multiple strategies. It’s recommending ‘Minimize Cumulative Delay’ which results in about 6 hours of total delay across all batches.”

Point out:

  • Batch 002 (critical) shows a cascade delay of ~140 minutes
  • The AI explains why: resource conflicts with the delayed batch

This is the demo highlight.

“Wait—Batch 002 is for our critical customer. Is there an option that gets Batch 002 out without any delays?”

Click on “Aggressive Priority (Batch 002)” scenario card.

“Yes! The AI computed an option that completely protects Batch 002. But look at the trade-off: total delay jumps from 6 hours to 23 hours. That’s why it wasn’t recommended—but the choice is ours.”

Key message:

“The AI doesn’t just give one answer. It shows the trade-offs so you can make an informed decision based on business priorities.”


Either:

  • Approve the recommended strategy (balanced approach)
  • Or select the aggressive option to protect Batch 002

Navigate to: MES App → Batches

“The schedule updates flow automatically to all systems. Full audit trail of who approved what and when.”


If using the voice agent for approval:

Agent calls: “I have a schedule change proposal. Batch 001 has a 200-minute delay that cascades to Batch 002. I’m recommending the minimum cumulative delay option.”

Manager asks: “Can we protect Batch 002 completely? That’s for a critical customer.”

Agent responds: “Yes, there’s an aggressive priority option that eliminates Batch 002’s delay. However, total delay increases from 6 hours to 23 hours. Would you like me to apply that instead?”


Between demos:

Terminal window
cd packages/backend
npx convex run seed:reset

IssueSolution
No pending proposalsWait 10s, then check Convex dashboard for errors
Wrong batch IDsUse format LISPRO-API-YYYYMMDD-00X with today’s date
Scenarios not showingRun seed:reset and trigger again