Pipeline Migration Framework
Important Update: Accelerated Migration
The system has been migrated to use the pipeline architecture for all document formats.
Since the system is not yet in production, we've accelerated the migration process by modifying the migration manager to bypass the phased approach and use the pipeline implementation by default for all formats. This allows us to quickly transition to the new architecture while maintaining the ability to revert if needed.
If you need to use the direct builder approach for any reason, you can explicitly set disable_pipeline: true in your options when building documents.
The original phased migration approach is still preserved in the codebase and documentation for reference.
Overview
The Codexis project is transitioning from direct document builders to a pipeline-based architecture. This migration is being implemented using a phased approach to ensure:
- Backward compatibility with existing systems
- Feature parity across all supported formats
- Minimal disruption to users and workflows
- Controlled rollout with appropriate fallback mechanisms
Documentation
Framework Documentation
- Pipeline Migration Framework - Comprehensive technical documentation of the migration framework
- Pipeline Migration User Guide - Practical day-to-day usage guide for developers
- Pipeline Testing Guide - Detailed testing strategies and tools
Other Migration Resources
- Elixir Migration Tasks - Overall Elixir migration plan and progress
- Elixir Patterns - Migration patterns from Ruby to Elixir
- Integration Progress - Updates on integration progress
- Executive Summary - High-level overview for stakeholders
Migration Phases
The migration framework implements a phased approach:
- Phase 1: Parallel Operation - Both systems operate in parallel, with direct builders as default
- Phase 2: Primary Pipeline with Fallback - Pipeline as primary with direct builder fallback
- Phase 3: Pipeline-Only Operation - Pipeline exclusively with no fallback
Quick Links
- Web Interface:
/pipeline-migration - Status Command:
mix codexis.pipeline_migration status - Compatibility Testing:
mix codexis.test_pipeline_compatibility
Key Modules
Codexis.Pipeline.Migration.Manager- Central control point for phased migrationCodexis.Pipeline.Migration.PipelineAdapter- Compatibility adapter for pipeline architectureCodexis.Pipeline.Migration.ConfigMapper- Configuration translation between systemsCodexis.Pipeline.Migration.FeatureRegistry- Feature support tracking across systems
Getting Started
If you're new to the pipeline migration, start with the Pipeline Migration User Guide for practical instructions.