amari 0.19.1

Advanced mathematical computing library with geometric algebra, tropical algebra, and automatic differentiation
Documentation
name: Parallel Mathematical Verification (Optimization - Disabled)

# DISABLED: Prioritizing mathematical rigor over speed
# Enable this workflow when high commit frequency requires optimization
on:
  workflow_dispatch:  # Manual trigger only
  schedule:
    - cron: '0 2 * * 0'  # Weekly verification only

env:
  CARGO_TERM_COLOR: always
  RUST_BACKTRACE: 1

jobs:
  code-quality:
    name: Code Quality
    runs-on: ubuntu-latest
    timeout-minutes: 5
    steps:
    - uses: actions/checkout@v6
    - uses: dtolnay/rust-toolchain@stable
      with:
        components: rustfmt, clippy
    - uses: Swatinem/rust-cache@v2

    - name: Format check
      run: cargo fmt --all -- --check

    - name: Clippy lints
      run: cargo clippy --all-targets --all-features -- -D warnings

  core-algebra:
    name: Core Algebra Tests
    runs-on: ubuntu-latest
    timeout-minutes: 8
    strategy:
      matrix:
        crate: [amari-core, amari-tropical, amari-dual, amari-info-geom]
    steps:
    - uses: actions/checkout@v6
    - uses: dtolnay/rust-toolchain@stable
    - uses: Swatinem/rust-cache@v2

    - name: Test ${{ matrix.crate }}
      run: cargo test -p ${{ matrix.crate }} --lib --bins

  advanced-features:
    name: Advanced Features
    runs-on: ubuntu-latest
    timeout-minutes: 10
    strategy:
      matrix:
        crate: [amari-fusion, amari-enumerative, amari-automata, amari-flynn-macros, amari-flynn]
    steps:
    - uses: actions/checkout@v6
    - uses: dtolnay/rust-toolchain@stable
    - uses: Swatinem/rust-cache@v2

    - name: Test ${{ matrix.crate }}
      run: cargo test -p ${{ matrix.crate }} --lib --bins

  gpu-acceleration:
    name: GPU Tests (with fallback)
    runs-on: ubuntu-latest
    timeout-minutes: 8
    steps:
    - uses: actions/checkout@v6
    - uses: dtolnay/rust-toolchain@stable
    - uses: Swatinem/rust-cache@v2

    - name: Install GPU dependencies
      run: |
        sudo apt-get update
        sudo apt-get install -y mesa-utils

    - name: Test GPU crates (with CI fallbacks)
      run: |
        cargo test -p amari-gpu --lib --bins || echo "GPU tests failed as expected in CI"
        cargo test -p amari-wasm --lib --bins

  formal-verification:
    name: Formal Verification
    runs-on: ubuntu-latest
    timeout-minutes: 8
    steps:
    - uses: actions/checkout@v6
    - uses: dtolnay/rust-toolchain@stable
    - uses: Swatinem/rust-cache@v2

    - name: Verification tests
      run: cargo test --all --features formal-verification

  documentation:
    name: Documentation
    runs-on: ubuntu-latest
    timeout-minutes: 5
    steps:
    - uses: actions/checkout@v6
    - uses: dtolnay/rust-toolchain@stable
    - uses: Swatinem/rust-cache@v2

    - name: Build docs
      run: cargo doc --all --no-deps --document-private-items

  integration:
    name: Integration Tests
    runs-on: ubuntu-latest
    timeout-minutes: 10
    needs: [code-quality, core-algebra, advanced-features, formal-verification]
    steps:
    - uses: actions/checkout@v6
    - uses: dtolnay/rust-toolchain@stable
    - uses: Swatinem/rust-cache@v2

    - name: Full integration test
      run: cargo test --all --lib --bins

    - name: Mathematical correctness verified
      run: |
        echo "✨ All mathematical properties verified ✨"
        echo "🔬 Geometric algebra: ✓"
        echo "🌴 Tropical semirings: ✓"
        echo "👻 Phantom types: ✓"
        echo "🧮 Formal verification: ✓"