proserpina 0.3.0

Multi-agent critique and cross-examination pipeline for documents requiring intellectual rigor — provider-agnostic interaction-graph engine with pluggable LLM backends
Documentation
# Contributing to Proserpina

Thank you for your interest in contributing! Proserpina is an Industrial Algebra
project, dual-licensed under Apache-2.0 and a commercial license.

## Contributor License Agreement (CLA)

Proserpina is licensed under Apache-2.0, with a CLA that enables commercial licensing. To enable this model, **all
contributors must sign a Contributor License Agreement (CLA)**.

The CLA grants Industrial Algebra the right to relicense your contributions
under the commercial license, while you retain full copyright ownership of your
contributions. Without a CLA, your contributions cannot be incorporated
v3 terms, which would prevent Industrial Algebra from offering a commercial
license for the combined work.

### How to Sign

1. Download the CLA from: https://github.com/Industrial-Algebra/.github/blob/main/CLA.md
2. Sign and email to: cla@industrial-algebra.org
3. Include your GitHub username in the email

Pull requests from contributors who have not signed the CLA cannot be merged.

## Development Setup

```bash
git clone https://github.com/Industrial-Algebra/Proserpina
cd Proserpina
cargo build --all-features
cargo test --all-features
```

The default build (no features) is sync, key-free, and network-free — it pulls
in zero HTTP/async/rand/toml deps. HTTP, the roster, and the summarizer are all
behind the `backend-http` feature.

## Conventions

- **Rust edition 2021**, nightly toolchain (`rust-toolchain.toml`).
- **Test-driven.** Write the failing test first, watch it fail, then implement.
  No implementation code without a failing test.
- **Never panic in library code.** Every fallible public operation returns
  `Result<_, ProserpinaError>`.
- **Additive feature gates only.** Features add capability; they never remove
  existing API. Document every feature in `src/lib.rs`.
- **Every public item is documented**, with `# Examples` / `# Errors` sections.
- **Apache headers** (`// Copyright (C) 2026 Industrial Algebra` +
  `// SPDX-License-Identifier: Apache-2.0`) on every `.rs` file.

## The Four CI Gates

All four must pass, on **both** default and `--all-features`:

```bash
cargo fmt --check
cargo clippy --all-features -- -D warnings
cargo test --all-features
cargo doc --no-deps --all-features
```

## Git Workflow — IA Gitflow

```
feature/* ──PR──► develop ──release PR──► main
```

- Branch from `develop`; open PRs against `develop`.
- Human review only — no auto-merge.
- Releases: release PR `develop``main`, tag `vX.Y.Z` on `main`.

## Pull Request Process

1. Sign the CLA (above).
2. Implement with TDD; ensure all four gates pass on both feature sets.
3. Document new public items; update the CHANGELOG under `[Unreleased]`.
4. Open the PR against `develop` with a clear description + verification.

## License

By contributing, you agree that your contributions will be licensed under the
same dual-licensing model as the project (Apache-2.0 + CLA).