Model-Version Pinning, Prompt Versioning & Plugin Dependencies
CoreManage Claude application configuration as versioned artifacts · Difficulty 2/5
Explanation
Model-Version Pinning
Pin an explicit model ID (e.g., claude-sonnet-4-5) in production rather than a floating alias like "latest." A floating alias is a reproducibility hazard: a silent model update on Anthropic's side can change behavior underneath an application that never touched its own code. The discipline is to pin the version and upgrade deliberately, only after re-running evaluations against the pinned prompt/model pair.
Prompt Versioning
Treat prompts as artifacts with version history, the same as source code: diffable, reviewable, and revertible. This is what makes it possible to correlate a quality change in production to a *specific* prompt change, rather than guessing which of several untracked edits caused a regression.
Plugin Dependencies
Track which plugins and MCP servers a project depends on, and at what versions, exactly like any other software dependency (a package in a lockfile). An untracked plugin update is just as capable of silently changing behavior as an untracked model update.
Common exam traps
- Relying on a floating "latest" model alias in production. A silent model update can change behavior; the correct pattern is pinning the version and gating upgrades behind re-run evals.
- Assuming prompt changes don't need version history because they're "just text" -- without versioning, a regression can't be traced back to the specific edit that caused it.
- Treating plugin/MCP-server versions as unimportant background detail rather than a dependency that needs the same tracking discipline as any package dependency.
Key Takeaways
- Pin an explicit model ID in production; a floating "latest" alias is a reproducibility hazard
- Gate every model upgrade behind re-run evaluations rather than adopting new releases automatically
- Version prompts like code so a quality regression can be traced to a specific prompt change and rolled back
- Track plugin/MCP-server dependencies and their versions like any other software dependency
Glossary Terms
Related Concepts
The SDLC for Claude Applications: Evaluation, Pinning & Monitoring
Claude applications follow the standard SDLC: requirements, design, implementation, testing/evaluation, deployment, operation, maintenance
CLAUDE.md and settings.json as Versioned Project Configuration
CLAUDE.md is project/repo memory for Claude Code and belongs in version control, reviewed like code