Overview
Conductor’s component versioning system (powered by Edgit) enables independent evolution of prompts, templates, and other components without coupling them to application code releases. This guide covers strategies, patterns, and best practices for versioning components effectively. Perfect for teams that need to:- Update AI prompts rapidly without code deployments
- A/B test template variations simultaneously
- Roll back specific components independently
- Maintain different component versions across environments
- Track component evolution over time
Quick Example
Why Component Versioning?
Independent Evolution
Components evolve at different speeds:Zero-Downtime Updates
Update components without restarting or redeploying:A/B Testing Made Simple
Run multiple versions simultaneously:Semantic Versioning
Version Format
Follow semantic versioning:vMAJOR.MINOR.PATCH
Prompt Versioning
Patch (v1.0.0 → v1.0.1): Minor fixes, no behavior changeTemplate Versioning
Patch (v1.0.0 → v1.0.1): Visual tweaks, no structure changeVersioning Strategies
Strategy 1: Latest Tag
Use@latest for rapid iteration:
- Always use newest version automatically
- Single reference point to update
- Fast iteration
- Unpredictable behavior if latest changes unexpectedly
- Harder to debug “it worked yesterday” issues
- No explicit version in code
- Development environment
- Rapid experimentation
- Non-critical workflows
Strategy 2: Pinned Versions
Explicitly pin to specific versions:- Explicit version control
- Predictable behavior
- Easy to track what’s deployed
- Simple rollback (just change version)
- Requires ensemble updates for component changes
- More coordination between teams
- Can’t update components independently
- Production environments
- Critical workflows
- Compliance requirements
- Multi-team coordination needed
Strategy 3: Environment Tags
Use environment-specific tags:- Update components per environment independently
- No ensemble changes needed
- Clean separation between environments
- Easy canary deployments
- Requires environment configuration
- Less explicit than pinned versions
- Need to track deployment tags separately
- Multi-environment setups (dev/staging/prod)
- Canary deployments
- Progressive rollouts
- Regional variations
Strategy 4: Hybrid Approach
Combine strategies for different component types:- Complex systems with varying criticality
- Different update frequencies per component
- Balance between stability and agility
Deployment Workflows
Workflow 1: Direct to Production
For low-risk updates:Workflow 2: Staging → Production
For tested updates:Workflow 3: Canary Deployment
Progressive rollout:Workflow 4: Blue-Green Deployment
Zero-downtime switchover:Multi-Version Testing
A/B Testing Framework
Test prompt variations systematically:Template Variations
Test email template designs:Version Tracking
Metadata Best Practices
Document component versions with rich metadata:Changelog Management
Maintain a changelog for major components:Deployment Tracking
Track what’s deployed where:Rollback Strategies
Instant Rollback
Roll back specific components immediately:Gradual Rollback
Shift traffic back gradually:Selective Rollback
Roll back for specific users or regions:Best Practices
1. Version Everything
Version all components, not just code:2. Test Before Promoting
Always test in lower environments:3. Small, Incremental Changes
Make small version jumps:4. Document Breaking Changes
Clearly mark and document breaking changes:5. Monitor Version Performance
Track metrics per version:6. Deprecation Policy
Establish clear deprecation timeline:Troubleshooting
Version Not Found
Problem:Version not found: prompt://analyst@v1.1.0
Solutions:

