Prerequisites
- Node.js 20+ and npm
- Python 3.11+ and uv
- Foundry (for contract builds):
curl -L https://foundry.paradigm.xyz | bash && foundryup - Mantle Sepolia RPC access (public endpoint OK for dev)
1. Clone and enter the repo
2. Configure environment
.env):
Minimum web variables (
apps/web/.env):
See Run locally for the full variable reference.
3. Install dependencies
4. Start the worker
curl -s http://localhost:8000/health → {"status":"ok"}
5. Start the web console
6. Run one cycle and replay it
- Open Console → click Run cycle (or
POST http://localhost:8000/run-cycle). - Note the
cycle_idin the worker logs (apps/worker/logs/events/events_*.jsonl). - Open Replay →
/app/replay?cycle=<cycle_id>and expand all nine nodes. - If execution succeeded, cross-check the tx hash on Mantlescan Sepolia.
Troubleshooting
Worker health fails — CheckMANTLE_RPC_URL reaches Sepolia; try https://rpc.sepolia.mantle.xyz.
Run cycle returns policy_rejected — Start with WORKER_MODE=dry_run and LLM_PROVIDER=local_rules; inspect violations in replay’s Policy validation node.
Web console shows idle telemetry — Confirm VITE_WORKER_URL matches the running worker and CORS is open (default in dev).
No DecisionLogged event — Ensure AGENT_IDENTITY_ADDRESS, AGENT_TOKEN_ID, and funded TREASURY_EOA are set; see Agent identity.
