OpenExec is a deterministic execution engine requiring external governance approval. It runs as a FastAPI service with SQLite storage, replay protection, receipt verification, Ed25519 constitutional signature enforcement, and optional execution allow-list. Version 0.1.10.
- 2026-02-17: Upgraded to Ed25519 signature verification (from HMAC-SHA256)
- 2026-02-17: Added expires_at field to approval artifacts (replacing TTL-based expiry)
- 2026-02-17: Updated crypto.py to use cryptography library for Ed25519
- 2026-02-17: Added cryptography dependency to requirements.txt
- 2026-02-17: Updated clawshield_client.py with Ed25519 keypair generation and artifact minting
- 2026-02-17: Updated /health endpoint to show signature_verification status
- 2026-02-17: 20 tests total (6 demo + 14 constitutional)
- 2026-02-17: Initial project creation with full runtime surface
- Runtime: Python 3.11, FastAPI, SQLAlchemy, Pydantic, cryptography
- Database: SQLite (openexec.db)
- Entrypoint: main.py (uvicorn on port 5000)
- Deployment: Autoscale on Replit
main.py-- FastAPI app with /health, /ready, /version, /execute, /receipts/verify endpointsopenexec/settings.py-- Mode configuration (demo vs clawshield), reads env at call timeopenexec/engine.py-- Execution engine with replay protection, constitutional enforcement, and allow-listopenexec/crypto.py-- Ed25519 signature verification, canonical SHA-256 hashingopenexec/approval_validator.py-- Approval artifact validation (hash, expiry, signature, tenant)openexec/clawshield_client.py-- Ed25519 keypair generation and artifact minting (for testing)openexec/registry.py-- Action registry with demo actions (echo, add)openexec/db.py-- SQLAlchemy database setupopenexec/tables.py-- ExecutionLog tableopenexec/models.py-- Pydantic schemas including ApprovalArtifact with expires_atopenexec/receipts.py-- SHA-256 receipt verificationtests/test_demo_flow.py-- Demo mode test suite (6 tests)tests/test_constitutional.py-- Constitutional mode test suite (14 tests)
demo(default) -- All actions auto-approvedclawshield-- Requires Ed25519-signed approval artifact with hash binding, expiry enforcement, signature verification, and tenant isolation
OPENEXEC_MODE-- demo or clawshieldCLAWSHIELD_PUBLIC_KEY-- PEM-encoded Ed25519 public key (clawshield mode)CLAWSHIELD_TENANT_ID-- Tenant identifier (clawshield mode)OPENEXEC_ALLOWED_ACTIONS-- Comma-separated list of allowed actions (optional, all allowed if unset)
- GitHub as canonical source of truth
- Every commit intentional, no drift
- ClawHub-ready from day one
- Infrastructure-first approach, not spec-only
- No policy logic in OpenExec -- signature verification only