Expand description
RiceCoder Multi-Project Orchestration Module
This module provides workspace-level operations across multiple projects, enabling coordinated changes, dependency management, and cross-project analysis.
§Overview
The orchestration module coordinates workspace-level operations including:
- Workspace scanning and project discovery
- Cross-project dependency analysis
- Batch operations across multiple projects
- Impact analysis for changes
- Configuration and rules management
- Version coordination
- Status reporting
§Core Components
OrchestrationManager: Central coordinator for all workspace operationsWorkspaceScanner: Discovers projects and their metadatamodels: Core data structures for workspace orchestrationerror: Error types for orchestration operations
§Path Resolution
All path operations use ricecoder_storage::PathResolver for consistent
workspace navigation and portability across different environments.
§Example Usage
ⓘ
use ricecoder_orchestration::{OrchestrationManager, WorkspaceScanner};
use std::path::PathBuf;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let workspace_root = PathBuf::from("/path/to/workspace");
// Create and initialize the orchestration manager
let manager = OrchestrationManager::new(workspace_root.clone());
manager.initialize().await?;
// Scan the workspace for projects
let scanner = WorkspaceScanner::new(workspace_root);
let projects = scanner.scan_workspace().await?;
println!("Found {} projects", projects.len());
// Shutdown the manager
manager.shutdown().await?;
Ok(())
}Re-exports§
pub use analyzers::Change;pub use analyzers::ChangeDetails;pub use analyzers::ChangePropagationTracker;pub use analyzers::ChangeType;pub use analyzers::DependencyAnalyzer;pub use analyzers::DependencyGraph;pub use analyzers::DependencyInfo;pub use analyzers::DependencyValidator;pub use analyzers::ImpactAnalyzer;pub use analyzers::ProjectChange;pub use analyzers::ProjectDetector;pub use analyzers::ValidationReport;pub use analyzers::Version;pub use analyzers::VersionConstraint;pub use analyzers::VersionValidator;pub use analyzers::WorkspaceScanner;pub use error::OrchestrationError;pub use error::Result;pub use managers::AggregatedMetrics;pub use managers::BatchExecutionConfig;pub use managers::BatchExecutionResult;pub use managers::BatchExecutor;pub use managers::ComplianceSummary;pub use managers::ConfigLoadResult;pub use managers::ConfigManager;pub use managers::ConfigSchema;pub use managers::ConfigSource;pub use managers::ConflictResolution;pub use managers::ExecutionLevel;pub use managers::ExecutionOrderer;pub use managers::ExecutionPlan;pub use managers::OrchestrationManager;pub use managers::ParallelizationStrategy;pub use managers::ProjectHealthIndicator;pub use managers::ProjectOperation;pub use managers::RulesValidator;pub use managers::RuleViolation;pub use managers::StatusReport;pub use managers::StatusReporter;pub use managers::SyncConflict;pub use managers::SyncLogEntry;pub use managers::SyncManager;pub use managers::ValidationResult;pub use managers::ValidationRule;pub use managers::VersionCoordinator;pub use managers::VersionUpdatePlan;pub use managers::VersionUpdateResult;pub use managers::VersionUpdateStep;pub use managers::ViolationSeverity;pub use models::DependencyType;pub use models::HealthStatus;pub use models::ImpactDetail;pub use models::ImpactLevel;pub use models::ImpactReport;pub use models::Operation;pub use models::Project;pub use models::ProjectDependency;pub use models::ProjectStatus;pub use models::RuleType;pub use models::Transaction;pub use models::TransactionState;pub use models::Workspace;pub use models::WorkspaceConfig;pub use models::WorkspaceMetrics;pub use models::WorkspaceRule;