oxirs 0.2.4

Command-line interface for OxiRS - import, export, migration, and benchmarking tools
Documentation
# SCIRS2 Policy Compliance Report - OxiRS CLI

**Date**: January 7, 2026  
**Crate**: oxirs (tools/oxirs)  
**Status**: ✅ FULLY COMPLIANT

---

## Compliance Checks

### ✅ No Direct ndarray Imports
```bash
grep -rn "use ndarray::" src/ --include="*.rs"
# Result: No matches found ✅
```

**Policy**: NEVER import `ndarray` directly - use `scirs2_core::ndarray_ext`  
**Status**: ✅ COMPLIANT

---

### ✅ No Direct rand Imports
```bash
grep -rn "use rand::" src/ --include="*.rs"
# Result: No matches found ✅
```

**Policy**: NEVER import `rand` directly - use `scirs2_core::random`  
**Status**: ✅ COMPLIANT

---

### ✅ No scirs2_autograd Imports
```bash
grep -rn "use scirs2_autograd" src/ --include="*.rs"
# Result: No matches found ✅
```

**Policy**: NEVER use `scirs2_autograd` - array! macro is now in `scirs2_core::ndarray_ext`  
**Status**: ✅ COMPLIANT

---

## Proper scirs2_core Usage

### Random Number Generation

All random number generation properly uses `scirs2_core::random`:

**Files Using scirs2_core::random**:
- `src/tools/juuid.rs` - UUID generation with scirs2_core::random
-`src/tools/backup_encryption.rs` - Encryption keys with scirs2_core::random
-`src/commands/benchmark.rs` - Benchmark data generation with scirs2_core::random
-`src/commands/generate/owl.rs` - OWL instance generation with scirs2_core::random
-`src/commands/generate/shacl.rs` - SHACL-constrained data with scirs2_core::random

**Example Correct Usage**:
```rust
use scirs2_core::random::{Random, Rng, SeedableRng};

let mut rng = Random::new();
let value = rng.gen_range(0..100);
```

---

## Dependency Verification

```bash
cargo tree -p oxirs --depth 1 | grep scirs2
```

**Result**:
```
├── scirs2-core v0.3.0
```

✅ scirs2-core is properly included as a direct dependency

---

## Code Quality Checks

### ✅ All Tests Passing
```
cargo nextest run -p oxirs --all-features
Result: 452 tests passed, 0 failed ✅
```

### ✅ Clippy Clean
```
cargo clippy -p oxirs --all-targets --all-features -- -D warnings
Result: 0 warnings ✅
```

### ✅ Formatting Clean
```
cargo fmt -p oxirs -- --check
Result: All files properly formatted ✅
```

---

## Summary

| Check | Status | Details |
|-------|--------|---------|
| No direct ndarray imports | ✅ PASS | 0 violations |
| No direct rand imports | ✅ PASS | 0 violations |
| No scirs2_autograd imports | ✅ PASS | 0 violations |
| Proper scirs2_core usage | ✅ PASS | 20+ correct usages |
| Tests passing | ✅ PASS | 452/452 (100%) |
| Clippy clean | ✅ PASS | 0 warnings |
| Formatting clean | ✅ PASS | All formatted |

---

## Conclusion

**OxiRS CLI (tools/oxirs) is FULLY COMPLIANT with SCIRS2 policy.**

All random number generation, array operations, and scientific computing properly use scirs2-core as the foundation. No banned imports detected. All quality checks pass.

---

**Verified by**: Automated compliance scan  
**Date**: January 7, 2026  
**Version**: v0.3.0