A public-health Python service must keep Claude SDK behavior reproducible across clinic deploys. Which practice fits?
Select an answer to reveal the explanation.
Short Explanation
Clinic deploys hate surprises—pin the anthropic SDK in requirements so every box behaves the same.
Full Explanation
Pinning the anthropic SDK version in requirements for public-health clinic deploys keeps Claude client behavior reproducible across sites that must share the same intake, triage, and documentation automations. Locked versions make clinic A and clinic B resolve the same SDK APIs, default timeouts, and serialization quirks, which is essential when health workflows are validated once and rolled out to many locations. Pinning also enables controlled upgrades: the health IT team can promote a tested SDK revision deliberately instead of absorbing upstream changes on every install.
Allowing compatible SDK updates with floating version ranges in requirements fails because silent upstream changes can alter request shaping, streaming behavior, or error handling between clinics and break validated public-health paths. Standardizing the Python base image while leaving SDK version selection flexible fails conceptually because divergent resolution produces non-comparable incidents—one site’s bug may be an SDK drift artifact rather than a clinical logic defect. Recording SDK release notes in deployment docs while permitting minor version drift fails because permitting minor version drift introduces supply-chain and behavioral risk with no municipal change-control trail.
Exam caveat: pinning the SDK is necessary but not sufficient—model IDs, prompt assets, and gateway configs can still drift independently and must be versioned alongside the Python client. Operational check: build two clinic images from the same pinned requirements, compare installed anthropic package hashes, run the smoke suite against Claude on both, and require a change ticket plus dual-clinic retest before any SDK pin bump reaches production.