Adds all 6 ROOT 02 modules (Linux system administration, storage & filesystems, the Networking Mental Model, Linux network inspection, DNS & HTTP, Linux troubleshooting) — 37 activities, each with a real lesson, demonstration/guided exercise, knowledge check, hands-on Lab, and reflection. The Networking Mental Model module (M3) gets deliberately extra depth per its "critical module" designation, with no lab by design — conceptual mastery via knowledge check and guided exercise, matching root-05-m00's own precedent. Adds 6 new hands-on Linux/networking scenarios plus 2 MCQs: linux-service-inspection (inspects the platform's own real nginx without touching it — a genuinely safe, real service-inspection target that avoids ever risking the Lab's own connectivity), linux-service-lifecycle (start/ verify/stop a fully controllable service), linux-storage-inspection, linux-network-inspection (ip/ss/getent/curl, each framed as answering one specific diagnostic question), linux-dns-http-diagnosis (a genuine DNS-resolves-but-wrong-port failure, diagnosed and fixed), and linux-troubleshooting-framework (a real missing-config-file failure, resolved via the RootNode Observe/Evidence/Hypothesis/Test/Repair/Validate/Prevent framework). All tested end-to-end via the real scenario-validation API, including negative tests confirming they fail when unsolved. Wires rootnode-linux-networking-assessment (2 required + 4 random-draw scenarios) using the existing Phase 3B assessment engine. Co-Authored-By: Claude Sonnet 5 <[email protected]>
1.8 KiB
Demonstration: Every Step, In Order, On a Real Failure
OBSERVE
A startup script fails: /srv/demo/start.sh exits with an error. That's the specific, concrete
symptom — not "the service is down."
GATHER EVIDENCE
$ /srv/demo/start.sh
FATAL: config file not found: /srv/demo/config/settings.conf
The script's own error message IS the evidence — no guessing required.
FORM HYPOTHESIS
The config file at that exact path doesn't exist. That's the specific, testable hypothesis — not "something's misconfigured."
TEST
$ ls /srv/demo/config/
ls: cannot access '/srv/demo/config/': No such file or directory
Confirmed — the directory itself doesn't exist yet, not just the file.
REPAIR
$ mkdir -p /srv/demo/config
$ echo "mode=production" > /srv/demo/config/settings.conf
The minimal fix for the CONFIRMED cause — not a broader "reinstall everything" overcorrection.
VALIDATE
$ /srv/demo/start.sh
Started with config: mode=production
The original symptom is gone, confirmed with real output, not assumption.
PREVENT RECURRENCE
A real prevention step here: the script should probably check for and create its config directory on first run, or the deployment process should ensure the config exists before the service ever starts — naming this explicitly is what separates a real fix from a lucky one.
Instructor Notes
Demo goal: Show all seven steps applied in strict order to one concrete, realistic failure — the exact structure this module's Lab requires students to repeat themselves.
Approximate timing: 10 minutes live.
Common mistake to watch for: skipping straight to REPAIR (creating the file) without first articulating the hypothesis and testing it — even when the fix seems obvious, naming the hypothesis explicitly is the habit this module is building.