Module 02 · environment diagnostics
Debug the lab in front of the room
The browser cannot shell out, so this page is the drill: flip any check to failing to rehearse the error text and the recovery. The Python CLI runs the same checks for real against the machine in front of you.
$ python -m fde_toolkit diagnose
all checks passing
Core
- okPython 3
$ python3 --versionPython 3.11.x - okPackage install
$ python3 -m pip install -r requirements.txtRequirements satisfied - okGit
$ git --versiongit version 2.4x
Containers
- okDocker CLI
$ docker --versionDocker version 27.x - okDocker daemon
$ docker infoServer version reachable - okImage pull
$ docker compose up -dContainers healthy
Kubernetes
- okkubectl
$ kubectl version --clientClient v1.31 - okCluster reachable
$ kubectl get podsPods listed
Network
- okPort 8080 free
$ lsof -i :8080No listener - okNetwork / DNS
$ getent hosts pypi.orgResolved
Live recovery playbook
the critical skill
- 1.Announce the failure out loud and put a timebox on it (5 minutes) so the room keeps its rhythm.
- 2.Ask the participant to paste the exact error, not a paraphrase, into the chat.
- 3.Reproduce it on the shared screen — a failure walked through in public teaches more than a green lab.
- 4.Apply the known workaround; if there is none in 5 minutes, move that participant to the hosted fallback environment.
- 5.Log the issue in the retro module immediately, while the exact command and error are still on screen.
Escalation threshold
If one participant burns more than five minutes, move them to the hosted fallback and keep the cohort moving. If more than a third of the room hits the same failure, stop the lab, fix it on the shared screen, and escalate to the program lead afterwards — do not debug ten machines in series.