A public-health notification script fails with an undefined-variable error after someone renamed the LAB_FEED_URL environment variable but not every reference. What should the technician conclude?
Select an answer to reveal the explanation.
Short Explanation
Renaming the water main and leaving one house on the old pipe is how you get a dry tap—same with env vars. If LAB_FEED_URL moved and one call site still uses the old name, you get an undefined-variable blow-up. That is not a push-auth or mystery YAML story.
Full Explanation
An undefined-variable error after renaming LAB_FEED_URL but not every reference is a NameError-class (or language-equivalent) fault: the runtime looks up a symbol that no longer exists in the environment or scope. Partial renames are a common municipal automation failure mode—one dashboard, cron wrapper, or secrets map still injects the old name while the script expects the new one, or the reverse.
A YAML indent problem in an unrelated Helm chart would not produce an undefined-variable exception inside the public-health notification script. The municipal Git remote rejecting a push due to an expired SSH key is a transport/authentication problem at push time, not a runtime NameError during script execution. A missing colon on line one that prevents the interpreter from starting is a syntax/parse failure; here the script runs far enough to evaluate a missing name, which is runtime name resolution.
Exam caveat: environment variables are not the same as language locals, but from an ops-triage perspective both surface as “name not defined” when a rename is incomplete. Also distinguish missing env var (often empty string or KeyError on os.environ) from typo’d identifier in code; both require a consistency sweep across code, CI secrets, and deployment manifests.
Operational check: search the repo and deployment config for both old and new names, align LAB_FEED_URL everywhere, redeploy the notification job, and confirm the process environment on the worker lists the new variable and the script completes without NameError while still reaching the lab feed endpoint.