# 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>
```
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.