ryo-executor 0.1.0

[experimental] Mutation execution engine for RYO - parallel execution, conflict detection, workspace management
Documentation
//! Executor: MutationSpec を実行して結果を返す
//!
//! # Architecture
//!
//! ```text
//! MutationSpec (Declarative)
//!//!//! ┌──────────────────────────────────────────┐
//! │  MutationSpec + ParallelBlueprint        │
//! │  - Declarative mutation specs            │
//! │  - Dependency graph                      │
//! │  - Conflict detection                    │
//! └──────────────────┬───────────────────────┘
//!//!//! ┌──────────────────────────────────────────┐
//! │            Executor                       │
//! └──────────────────┬───────────────────────┘
//!//!     ┌──────────────┼──────────────┐
//!     ▼              ▼              ▼
//! ┌────────┐   ┌──────────┐   ┌────────────┐
//! │CoreExec│   │MutateExec│   │BlueprintEx │
//! │Read    │   │AddFn     │   │Parallel    │
//! │Grep    │   │Rename    │   │            │
//! │Glob    │   │...       │   │            │
//! └────────┘   └──────────┘   └────────────┘
//! ```

mod blueprint;
mod blueprint_executor;
mod cascade_convert;
pub mod conflict;
mod context;
mod core;
mod orchestrator;
pub mod registry;
mod spec;
mod traits;

// Re-export ryo-verification for backwards compatibility
pub use ryo_verification as verification;

pub use blueprint::{BlueprintBuilder, Conflict, ConflictKind, DependencyGraph, ParallelBlueprint};
pub use blueprint_executor::{
    suggest_strategy, BlueprintExecutor, BlueprintResult, ExecutionStrategy, SpecResult, SyncError,
};
pub use cascade_convert::convert_cascade_specs;
pub use conflict::{find_conflicting_pairs, group_by_conflicts, specs_conflict, target_conflicts};
pub use context::ExecutionContext;
pub use core::CoreExecutor;
pub use orchestrator::{
    classify_for_parallel_execution, partition_by_item_refs, suggest_orchestration, ConflictInfo,
    ExecutionOrchestrator, OrchestratedResult, OrchestrationStrategy, OrchestratorError,
    OrchestratorErrorKind,
};
pub use spec::{
    EnumToTraitStrategy, InsertPosition, ItemKind, MatchHandling, MutationSpec,
    MutationTargetSymbol, Scope, SelfParam, SpecRelation, SpecRelationKind, StmtInsertPosition,
    TypeContext, TypeTransform, VariantKind, Visibility,
};
pub use traits::{CompositeExecutor, Executor, ExecutorError};