fix(modules-16,18,19,20): runner receipt on red, runnable M20 Part A, container caveats

- M19: `if: always()` on the "where did this run?" receipt step only (GitLab
  when: always noted) so it prints even when lint/test fail; real steps unchanged.
- M20: mark Part A optional with its runtime prereq (npx/Node or uvx/uv) named;
  Part B/C (Python SDK) carry the load-bearing path. Reconciled objectives/checks.
- M16: native-Linux bind-mount caveat (root-owned __pycache__; PYTHONDONTWRITEBYTECODE).
- M16/M18: prerequisite that the container engine/daemon must be RUNNING
  (docker --version is false reassurance; docker info; podman machine start).

Closes #41
Closes #42
Closes #45
Closes #46

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT
This commit is contained in:
2026-06-22 17:20:22 -04:00
parent 6691755060
commit 5166d58c20
5 changed files with 51 additions and 15 deletions
@@ -208,7 +208,10 @@ account. The five deploy steps are real; only the *target* is your laptop instea
**You'll need:**
- A container runtime from Module 16 — Docker or Podman. (Commands below use `docker`; if you run
Podman, `alias docker=podman` or substitute.)
Podman, `alias docker=podman` or substitute.) As in Module 16, the engine must be **running**
before you build or deploy — on macOS/Windows start Docker Desktop (or `podman machine start`);
`docker --version` succeeds even when the engine is stopped, so confirm it's live with
`docker info` first, or `deploy.sh`'s build step fails with "Cannot connect to the Docker daemon."
- The `tasks-app` from Modules 12, now a Git repo.
- `curl` (for the health check) and a bash-capable shell. On Windows, use WSL or Git Bash.
- Your AI assistant — by now, ideally editor-integrated (Module 4).