Crate ricecoder_orchestration

Crate ricecoder_orchestration 

Source
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

§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;

Modules§

analyzers
Analyzer components for orchestration
error
Error types for the orchestration module
managers
Manager components for orchestration
models
Core data models for workspace orchestration