aatp 0.1.0

A tiny, zero-dependency, memory-safe binary transport for autonomous agents: framing with CRC32C integrity, zero-copy decode, a stateful session machine, dictionary compression, and a reversible obfuscation layer. #![forbid(unsafe_code)], no_std.
Documentation
# Contributing to AATP

Thanks for your interest. AATP holds a deliberately high bar; contributions are welcome as
long as they keep it.

## Ground rules

AATP is, and stays:

- **Zero-dependency** — no runtime *and* no dev dependencies. The tests and the
  fuzz/property harness use only the standard library and a hand-written PRNG.
- **`#![no_std]`** — the library must build for a bare-metal target.
- **`#![forbid(unsafe_code)]`** — no `unsafe`, anywhere.

A change that adds a dependency, breaks `no_std`, or introduces `unsafe` will not be merged.

## Development

```sh
cargo test --all          # unit + integration + doc tests
cargo fmt --all --check    # formatting (CI-enforced)
cargo clippy --all-targets -- -D warnings   # lints (CI-enforced)
cargo build --lib --target thumbv7em-none-eabihf   # no_std proof
```

Longer fuzz soak:

```sh
AATP_FUZZ_ITERS=1000000 cargo test --release --test fuzz
```

## The testing bar

New behaviour must be **tested to the same standard as the rest of the crate**:

- Every logical branch is covered — the project targets **0 survivors** under behavioural
  mutation analysis. If you add a comparison, a boundary, or a branch, add the test that
  pins it.
- Wire-critical constants (tables, keys, dictionary entries) are pinned by known-answer,
  snapshot, or digest tests, because mutation analysis does not reach literals.
- Parsers must fail closed on hostile input — never panic, over-read, or over-allocate.
  Add or extend a `tests/fuzz.rs` property if you touch a decoder.

## Pull requests

1. Keep PRs focused and describe what and why.
2. Ensure all CI jobs are green (fmt, clippy, the OS × MSRV test matrix, `no_std`).
3. Update `CHANGELOG.md` under `[Unreleased]`.
4. Update `AUDIT.md` / `.audit/` if you change the verification story.

## License

By contributing, you agree that your contributions are licensed under the
[MIT License](LICENSE).