rx4 0.7.2

The agent harness engine — loop, tools, providers, sessions, permissions, computer-use
Documentation
name: CI

on:
  push:
    branches: [main]
  pull_request:
    branches: [main]

permissions:
  contents: read

concurrency:
  group: ci-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: git clone https://github.com/tschk/zkr ../zkr
      - uses: dtolnay/rust-toolchain@stable
      - run: cargo fmt --check
      - run: cargo clippy --all-targets --all-features -- -D warnings
      - run: cargo test
      - run: cargo test --no-default-features --features providers,builtin-tools,mcp
      - run: cargo test --all-features
      - run: cargo build --all-features --release
      - uses: EmbarkStudios/cargo-deny-action@v2
        with:
          command: check
      - run: |
          if cargo tree --no-default-features --features providers,builtin-tools,mcp -i praefectus; then
            echo "slim feature set must not pull praefectus" >&2
            exit 1
          fi
          if cargo tree --no-default-features --features providers,builtin-tools,mcp -i fff-search; then
            echo "slim feature set must not pull fff-search" >&2
            exit 1
          fi

  msrv:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: git clone https://github.com/tschk/zkr ../zkr
      - uses: dtolnay/rust-toolchain@1.88
      # fff-search -> neo_frizbee needs nightly AVX512; verify core compiles without it.
      - run: cargo build --no-default-features --features ipc