northroot-proof-engine 0.2.0

Core proof computation and validation library for PoSH (Proof of Shape) and PoX (Proof of Execution)
Documentation
# Northroot Proof Engine

Core proof computation and validation library for the Northroot Proof system.

## Overview

The Northroot Proof Engine provides foundational cryptographic and validation primitives for the modular proof architecture:

- **PoSH (Proof of Shape)**: Method transformation contracts
- **PoX (Proof of Execution)**: Run evidence and commitments

## Features

- Deterministic JSON canonicalization
- SHA-256 hash computation
- ed25519 signature handling
- Input validation functions
- Data shape hashing
- OTEL ID validation (legacy compatibility)

## Usage

Add to your `Cargo.toml`:

```toml
[dependencies]
northroot-proof-engine = "0.2.0"
```

## Documentation

- [5W1H Executive Guide]docs/5W1H_EXEC_GUIDE.md - Mathematical foundation and proof architecture
- [PoSH Mini Spec]docs/specs/PoSH_MINI_SPEC.md - Proof of Shape specification
- [PoX Mini Spec]docs/specs/PoX_MINI_SPEC.md - Proof of Execution specification
- [Recommended Types]docs/reccomended_types.md - Type recommendations for v0.2

## Version

**Current:** v0.2.0 (LOCKED)

This version is frozen and stable. Breaking changes will require a major version bump.

## Development

### Setup

```bash
# Install git hooks (run once)
./scripts/setup-hooks.sh
```

### Pre-commit Checks

Automatically runs on commit:
- Code formatting check (`cargo fmt`)

### Pre-push Checks

Automatically runs before push:
- Clippy linting (`cargo clippy`)
- Full test suite (`cargo test`)
- Release build verification (`cargo build --release`)

### Releasing

1. Update `CHANGELOG.md` with changes
2. Run the release script:
   ```bash
   ./scripts/release.sh <version>
   # Example: ./scripts/release.sh 0.2.1
   ```
3. Push the commit and tag:
   ```bash
   git push origin main
   git push origin v<version>
   ```

GitHub Actions will automatically:
- Run full CI checks
- Publish to crates.io
- Create a GitHub release

**Note:** You'll need to set the `CRATES_IO_TOKEN` secret in GitHub repository settings.

## License

MIT License - see LICENSE file for details.