carryover 0.1.2

Zero-LLM-token context-handoff daemon — resume any AI session across Claude Code, Cursor, and Codex.
Documentation
name: CI

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

permissions:
  contents: read

jobs:
  build-test:
    name: build-test (${{ matrix.os }})
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        # macos-13 is GitHub-deprecated and has unreliable runner availability.
        # macos-14 (Sonoma, current floor) covers the macOS path going forward.
        os: [macos-14, ubuntu-22.04, ubuntu-24.04]
        rust: [stable]
    steps:
      - uses: actions/checkout@v4

      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy, rustfmt

      - uses: Swatinem/rust-cache@v2

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

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

      - name: build
        run: cargo build --release --all-features

      - name: test
        run: cargo test --all-features --no-fail-fast

      # README must keep the macOS Gatekeeper workaround documented; if a
      # future doc rewrite drops it, fail the build so the regression is
      # loud instead of silently leaving Mac users staring at a Gatekeeper
      # dialog with no instructions.
      - name: README has macOS xattr workaround
        run: grep -q "xattr -d com.apple.quarantine" README.md

      # detect_paths.sh ships in a follow-up; re-add this step there.