Skip to main content

Quality & Testing

OpenPawz maintains enterprise-grade quality gates. Every commit is validated by a 3-job CI pipeline and must pass all checks before merging.

CI Pipeline

JobStepsTimeout
Rustcargo checkcargo testcargo clippy -D warnings15 min
TypeScripttsc --noEmiteslintvitest runprettier --check10 min
Securitycargo auditnpm audit5 min
All three jobs run in parallel on every push. All must pass.

Test Suite

LayerCountWhat’s covered
Rust unit tests124Cryptography, injection detection, DeFi primitives, access control, routing, retry logic
Rust integration tests40Session lifecycle, memory roundtrip, tool classification, config persistence
TypeScript tests366Risk classifier, injection patterns, command parsing, view modules, error handling
Total530

Rust Test Modules

ModuleDescription
security.rsAES-256-GCM encryption, key derivation, nonce generation
injection.rs30+ prompt injection patterns, severity classification
access_control.rsAgent policy enforcement, tool allowlist/denylist
retry.rsExponential backoff, circuit breaker, jitter
providers/Provider routing, fallback chains, streaming
channels/Bridge lifecycle, message routing, user sessions
trading/Honeypot detection, swap primitives, wallet signing
memory/BM25 search, vector similarity, temporal decay

Running Tests

# All TypeScript tests
npx vitest run

# All Rust tests
cd src-tauri && cargo test

# Single Rust test module
cd src-tauri && cargo test --lib security

# With output
cd src-tauri && cargo test -- --nocapture

Linting

# TypeScript
npx tsc --noEmit          # Type check
npx eslint .              # Lint
npx prettier --check .    # Format check

# Rust
cd src-tauri && cargo clippy -- -D warnings
cd src-tauri && cargo fmt --check
Zero clippy warnings enforced. Zero known CVEs. Dependabot enabled for automated dependency updates.

Enterprise Hardening

AreaImplementation
EncryptionAES-256-GCM with 12-byte random nonce per field. Key stored in OS keychain.
Error handling12-variant EngineError enum via thiserror — no Result<T, String> in the engine.
Retry logicExponential backoff with jitter (1s base, 30s max, 3 retries). Circuit breaker after 5 failures.
LoggingDaily rotation, 7-day pruning, structured format, in-app log viewer.
KeychainHard-fail on missing OS keychain — no silent plaintext fallback.
Warningscargo clippy -- -D warnings enforced in CI on every commit.
See ENTERPRISE_PLAN.md for the complete hardening audit.