Run of show
Three ways to run this workshop live: a full day, a half day, and a 60-minute talk. Each table gives times, what the facilitator should focus on, and what to cut when the room falls behind. It will fall behind. Plan the cuts before you start.
Read the instructor guide first. Keep the facilitator keys open in a second window for the discussion questions.
Before the day
- A week before: send Setup. Ask everyone to finish it and reply with the output of
droid --versionandnpm run scoreboard -- --dry-run. Chase the ones who don't reply. - Check who is coming. Not everyone on the invite list will build. Send a sponsor the leader path and a reviewer from risk or security the risk path instead of Setup. Neither path needs an install, and each puts the pages that person needs in order. Anyone unsure which they are can pick at /paths.
- Pin a Droid version and put it in the setup email. Pilot the whole day on that version.
- Pre-run the baseline on the facilitator machine the day before, with three runs per task. Keep the JSON. If the room's scoreboard runs are slow or the network fails, you show yours.
- Budget. A full scoreboard is 24 headless sessions per person. Decide with the organizer whether learners run it three times per task, or with
--runs 1on labs that hold. Say the answer out loud at 09:00. - Have a spare API key plan. Someone's sign-in will fail. Know who in the room can help, or have them pair.
Full day (09:00–17:00)
The self-paced labs add up to about 7 hours 10 minutes. A facilitated day has about 6 hours 55 minutes of teaching time once breaks and lunch are in, so three labs run shorter than their self-paced time. The table shows the facilitated minutes.
| Time | Block | Min | Facilitator focus | If you are behind |
|---|---|---|---|---|
| 09:00 | Welcome and the scenario | 15 | Tell the March incident in two minutes. Read Ruth's memo aloud. Set the rule for the day: every claim gets a number or a label. | Cut to the incident and the memo. Everyone can read the rest later. |
| 09:15 | Lab 0 — Baseline | 25 | The prediction step. Everyone writes down what they expect for each task before running. The T4 argument: is stopping a pass? | Start the scoreboard with --runs 1, and show your pre-run baseline while it runs. |
| 09:40 | Lab 1 — First delegation | 25 | Reading the trace with Ctrl+O. Make people narrate the tool calls in order. The fail-fast droid exec with no --auto. | Skip /context and droid --resume. Keep the exec failure: Lab 9 depends on it. |
| 10:05 | Lab 2 — AGENTS.md | 35 | Dana's draft changes nothing, and why. The never-list names helpers. Plant "instructions are requests" for Lab 5. | Hand out agentsAfter from the solution after 20 minutes and move to the scoreboard. |
| 10:40 | Break | 10 | Watch for anyone whose scoreboard is still running. Help them. | |
| 10:50 | Lab 3 — Spec mode | 30 | The one-sentence decision. Reject the plan that says "align roundHalfEven with Math.round" and keep iterating. | Do T2 in Spec mode as a live demo on the projector, and have the room call out the sentence to reject. |
| 11:20 | Lab 4 — Autonomy and rules | 40 | No deny decision. Rules fail open when their tests fail. droid rules check exits 0 on block. The force push that slips past a positional prefix. | Use the permission playground for the break-it step instead of editing locally. |
| 12:00 | Lunch | 45 | Ask two people to be ready to show their Lab 5 break-it transcript after lunch. | |
| 12:45 | Lab 5 — Hooks | 45 | The most important lab. Exit 2, not exit 1. Let the room find the sed bypass themselves. The Stop hook catches what nothing else can. | Skip Step 6 (money-lint) and describe it. Don't skip Steps 3 or 5. |
| 13:30 | Lab 6 — Skills and commands | 40 | allowed-tools is not enforced. A skill description is a prompt. T3 recovers because the skill names basisPoints(). | Build the skill together on the projector. Skip the executable command. |
| 14:10 | Break | 10 | ||
| 14:20 | Lab 7 — Custom droids | 40 | tools: read-only is enforced, unlike Lab 6. The reviewer never saw the reasoning. The five planted diffs. | Run the mini-eval as a demo with two diffs instead of five. |
| 15:00 | Lab 8 — MCP | 40 | droid mcp add writes to user config, so edit the project file. The ticket description with instructions in it is data. | Pre-configure .factory/mcp.json from the solution and go straight to the break-it step. |
| 15:40 | Lab 9 — CI | 40 | Ask rules fail in exec, by design. Three layers for protected paths. Cost: --runs 1 on pull requests, full runs nightly. | Walk through the workflow file on the projector. Skip installing the review action. |
| 16:20 | Lab 10 — Mission (planning) | 30 | The readiness decision first: Larkspur is Level 3, and the docs recommend 4. Write mission.md and estimate runs. Write T9. | Plan only. Run the Mission as a facilitator demo, or not at all. Don't let a live Mission eat the close. |
| 16:50 | Close | 10 | Back to Ruth's memo. Which of her three conditions is met, and where is the evidence? Point to next steps and feedback. | Never cut this. It's where the day lands. |
Running the scoreboard in a room
Scoreboard runs take real time, and 20 people running 24 sessions each at the end of every lab will stall the day. Three things help:
- Start the scoreboard at the beginning of the lab's final step, then discuss the lab's questions while it runs.
- On labs where the number should hold (1, 3, 4, 7, 9, 10), have learners run
--runs 1, or skip it and show your pre-run result. Say why the number holds. That's the lesson. - If the network is bad, show the facilitator's recorded run for every lab and let learners run only T2.
Half day (09:00–12:20)
Labs 0, 1, 2 and 5, with playground demos covering the ground in between. This version teaches the core argument, instructions versus controls, and skips the judgment and production labs.
| Time | Block | Min | Facilitator focus | If you are behind |
|---|---|---|---|---|
| 09:00 | Welcome and the scenario | 10 | The incident and Ruth's memo. | Incident only. |
| 09:10 | Lab 0 — Baseline | 25 | Predictions, then the baseline. | --runs 1, and show your pre-run result. |
| 09:35 | Lab 1 — First delegation | 25 | Reading the trace. The fail-fast exec. | Demo it on the projector instead. |
| 10:00 | Lab 2 — AGENTS.md | 35 | The rewrite, and T2 still failing one run in three. | Hand out the solution file at 20 minutes. |
| 10:35 | Break | 15 | ||
| 10:50 | Playground demos | 20 | Spot the bug as a room vote: four fixes, all green, one is the incident. Then the autonomy explorer and permission tester to stand in for Labs 3 and 4. | Spot the bug only. |
| 11:10 | Lab 5 — Hooks | 45 | The whole lab. Lab 5 builds on Lab 4's rules, but its hooks work without them. Say that the Execute guard would normally sit alongside rules. | Skip Step 6. |
| 11:55 | Where this goes | 15 | The concept map: which layers they built, which they didn't, and what each missing one would add. Point to the self-paced labs, and to /paths for what to do next by role. | Five minutes, then feedback. |
| 12:10 | Close and feedback | 10 | Ruth's first condition: is it met? |
60-minute conference talk
No installs. The deck is at /talk, with speaker notes and a presenter view. The live demo is the hook stepper, which runs in the page with no key and no network calls.
| Time | Segment | Min | What to show | If you are behind |
|---|---|---|---|---|
| 0:00 | The incident | 5 | One line of rounding in a 600-line PR. $412.60, and a canceled pilot. | Keep it. It's the hook for the room. |
| 0:05 | The memo | 5 | "Instructions are not controls. Show me controls." The three conditions. | |
| 0:10 | Instructions versus controls | 10 | AGENTS.md before and after. T2 still fails one run in three, and the transcript where Droid quotes the rule and breaks it. | Show the transcript, skip the before-and-after. |
| 0:20 | Live: the hook stepper | 15 | Step through T2 with the file-tool hook only (the sed bypass), then with the Execute guard added, then with the Stop hook too. Ask the room to predict each outcome before you step. | Show the first and last configurations only. |
| 0:35 | The layers | 10 | The concept map: shapes behavior, adds a checkpoint, enforced by config, enforced by code. Three layers for protected paths. | Show the four kinds and skip the file table. |
| 0:45 | The scoreboard | 5 | How the number moves, and the T3 regression that a guardrail caused. Every number labeled illustrative. | |
| 0:50 | Questions | 10 | Point to /paths, which is on the last slide, then the self-paced labs and the guardrails guide. | Take two questions and send the rest to the discussions. |
Rehearse the hook stepper on the projector's resolution. Have a screenshot of each step ready in case the venue's browser misbehaves.