capability-skeleton-validation 0.1.0

A Rust crate for validating the structural integrity between the GrowerTreeConfiguration and its corresponding Skeleton. It detects and categorizes deviations in depth, breadth, and probability distributions using numeric data.
Documentation
# Grower Skill Tree Skeleton Validation

The `capability-skeleton-validation` crate is designed to ensure structural integrity between a `Skeleton` and its `GrowerTreeConfiguration`. It evaluates the alignment of a predefined skeleton with its configuration parameters by identifying discrepancies categorized under various `DeviationFlag` types. This validation process is critical in fields where hierarchical structures or conditional probability distributions dictate the correctness of complex systems.

## Key Components

### DeviationFlag Enum
This enumeration identifies specific deviations, capturing differences between expected and actual parameters without relying on string data. Examples include:
- **Depth and Breadth Deviations**: Highlights excess or deficits in tree hierarchy levels.
- **Level-Specific Variations**: Tailors validations such as breadth and density to particular levels.
- **Weighted Branching and Probabilistic Deviations**: Ensures statistical conformity in branching patterns.

### SkeletonValidationReport
The `SkeletonValidationReport` provides a comprehensive validation summary:
- **Initialization**: `new()` initializes a report with no deviations.
- **Integrity Check**: `is_clean()` confirms total compliance with the configuration when no deviation flags are present.
- **Collective Updates**: Add individual or multiple deviations via `push()` or `append()` methods.

### Error Handling
The `SkeletonValidationError` enum encapsulates potential errors, enhancing the robustness of the validation ecosystem.

## Installation
Add the following to your `Cargo.toml` file:
```toml
[dependencies]
capability-skeleton-validation = "0.1.0"
```

## Usage
After importing the crate, utilize the `SkeletonValidationReport` to track and handle deviations:
```rust
use capability_skeleton_validation::{SkeletonValidationReport, DeviationFlag};

let mut report = SkeletonValidationReport::new();
let some_deviation = DeviationFlag::DepthExceeded { expected: 3, actual: 5 };
report.push(some_deviation);

if report.is_clean() {
    println!("The skeleton matches the configuration.");
} else {
    println!("Deviations detected.");
}
```

## Contributing
Contributions in the form of enhancements or bug fixes are welcome. Please ensure your code is well-tested and adheres to the style guidelines.

## License
This crate is provided under your preferred license. Please check the `LICENSE` file for more details.

---

*This README.md was generated by an AI model and may not be 100% accurate, though it should be pretty good.*