blazingly-contract 0.3.1

Runtime-neutral, canonical API contracts for Blazingly
Documentation
# blazingly-contract

Runtime-neutral, canonical API contracts for Blazingly.

The crate owns the semantic source of truth shared by HTTP, MCP, AI
documentation, internal RPC, and future mesh tooling:

- versioned canonical encoding independent of declaration order;
- model, input, output, typed-error, dependency, and security metadata;
- aliases, nested validation, and stable custom-validator identities;
- pull-based streaming request-body inputs without a runtime dependency;
- MCP discovery and agent risk, confirmation, and idempotency policies;
- SHA-256 contract fingerprints;
- semantic compatibility reports.

It intentionally does not depend on Tokio, an HTTP server, an MCP transport,
proc macros, or runtime dependency injection. The default `std` feature can be
disabled for `no_std + alloc` consumers.

```rust
use blazingly_contract::{Compatibility, OperationContract};

fn verify_upgrade(previous: &OperationContract, current: &OperationContract) {
    let report = Compatibility::compare(previous, current);
    assert!(report.is_backward_compatible());
    println!("{}", current.fingerprint());
}
```

The Rust API follows SemVer. Canonical bytes and fingerprints are additionally
versioned by `CURRENT_CONTRACT_FORMAT_VERSION`; changing the crate version does
not silently change a contract fingerprint.

Version `0.3` uses canonical format `1.2`, which adds streaming-body input
metadata while preserving deterministic ordering and compatibility
classification.

Licensed under the MIT License.