Oya Commitments are Safe-based commitments controlled by plain-language rules and enforced via an Optimistic Governor module. This repo contains the Solidity contracts, deployment scripts, an optional web UI, and an offchain agent scaffold.
This is beta software provided “as is.” Use at your own risk. No guarantees of safety, correctness, or fitness for any purpose.
- Write plain-language rules that define what the commitment may do.
- Deploy a Safe wired to an Optimistic Governor module with those rules.
- An agent or user proposes transactions via the module and posts a bond.
- If no challenge occurs during the window, the proposal is executed by the Safe.
- Install Foundry: https://book.getfoundry.sh/
- Set required environment variables (see
docs/deployment.md). - Run the deployment script:
forge script script/DeploySafeWithOptimisticGovernor.s.sol:DeploySafeWithOptimisticGovernor \
--rpc-url <your_rpc_url> \
--broadcast \
--private-key <your_private_key>The fastest path to a new commitment/agent combo is:
- Copy
agent-library/agents/default/toagent-library/agents/<agent-name>/. - Write the commitment rules in
agent-library/agents/<agent-name>/commitment.txt. - Implement commitment-specific behavior in
agent-library/agents/<agent-name>/agent.js. - Put non-secret runtime settings in
agent-library/agents/<agent-name>/config.json. - Keep only secrets in
agent/.env. - Validate and smoke test locally:
node agent/scripts/validate-agent.mjs --module=<agent-name>
node agent/scripts/testnet-harness.mjs smoke --module=<agent-name> --profile=local-mock
node agent/scripts/testnet-harness.mjs down --module=<agent-name> --profile=local-mockThe detailed workflow for module structure, config.json, and local/remote harness profiles is in agent/README.md and agent-library/README.md.
- Contribution workflow and policy:
CONTRIBUTING.md - Skill for new agent/commitment combos:
skills/add-agent-commitment/SKILL.md - Agent module layout and new-commitment workflow:
agent-library/README.md - Runner config, message API, and harness usage:
agent/README.md - Deployment and configuration:
docs/deployment.md - Signer options and
with-signerhelper:docs/signers.md - Offchain agent usage:
docs/agent.md - Agent extension decision rules:
docs/agent-extension-guidelines.md - Web frontend:
docs/frontend.md - Testing and common commands:
docs/testing.md
src/Solidity contractsscript/Foundry deployment and ops scriptstest/Foundry testsagent/Offchain agent scaffoldfrontend/Web UIlib/External dependencies (Foundry)