Every AI-generated commit signed, tested, and traceable to the prompt that created it. Pre-commit gates. Ed25519-signed certificates. Full audit replay. One binary. No services to run. No CI loop.
Every agent still delivers through a PR → CI loop designed for humans. When an agent opens a PR, CI finds an issue. You send it back. CI finds another. Each loop costs 5–15 minutes of human attention and the agent has lost context by the second iteration. Multiply by the number of agent PRs your team merges each week.
When compliance asks what the agent did — there's no answer. The PR says "refactor auth." CI shows green. The agent session is gone, the original prompt is gone. Nobody knows which gates ran, what the agent was asked to do, or what was suppressed. This is a compliance gap today, and a regulatory exposure under the EU AI Act.
provasign cert replay re-runs the gates at any time and returns a cryptographic verdict.# In Claude Code — the agent detects your platform, fetches the latest release, # verifies checksums, and wires everything into your project: claude "Follow the setup instructions at https://provasign.dev/assets/AGENT_SETUP_PROMPT.md" # In any other MCP agent — paste this URL and say "follow the setup instructions": # https://provasign.dev/assets/AGENT_SETUP_PROMPT.md
# Provasign bundles Grove as a library — one binary, no services, no ports, no tokens. curl -fsSL https://provasign.dev/assets/install.sh | GROVE_SUITE_PRODUCTS=provasign bash cd /your/project provasign init --stack=auto # scaffolds policy, generates Ed25519 key, # writes agent instructions into CLAUDE.md, .cursorrules, etc. provasign hook install # git pre-push backstop git add .provasign/ && git commit -m "Add Provasign configuration"
# Each product is a standalone binary — install whichever you want. curl -fsSL https://provasign.dev/assets/install.sh | bash cd /your/project provasign init --stack=auto && provasign hook install # certified delivery prism init && prism index # token-efficient context fuse install # symbol-level merge echo "*.go merge=fuse" >> .gitattributes