repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
public Clawd ADK gateway launch mirror
stars
latest
clone command
git clone gitlawb://did:key:z6Mkq5mY...iFZ5/my-project-publ...git clone gitlawb://did:key:z6Mkq5mY.../my-project-publ...2fa351d6docs: add automaton and perps launch sources16d ago| #1 | # Goblin Mode OODA Trading Harness |
| #2 | |
| #3 | Devnet-only, paper-only trading harness inspired by `clawd-operator` and the Ralph OODA loop pattern. |
| #4 | |
| #5 | ## Safety Contract |
| #6 | |
| #7 | | Guard | Enforcement | |
| #8 | |-------|-------------| |
| #9 | | Paper mode only | `parseRalphConfig` rejects non-paper frontmatter | |
| #10 | | Devnet only | `parseRalphConfig` rejects non-devnet and `rejectMainnet` rejects mainnet RPC URLs | |
| #11 | | No key handling | The harness never reads keypairs, seed phrases, wallets, or signer files | |
| #12 | | One action per tick | Each tick validates exactly one JSON decision | |
| #13 | | One position at a time | `validate` rejects new opens while a position exists | |
| #14 | | Position cap | `size_lamports` cannot exceed `max_position_size_lamports` | |
| #15 | | Kill-switch | Loop halts after configured consecutive realized losses | |
| #16 | | Journaled state | Every tick appends JSONL to `src/ooda/journal/ticks.jsonl` | |
| #17 | |
| #18 | ## Run |
| #19 | |
| #20 | ```bash |
| #21 | cd automaton-main |
| #22 | pnpm install |
| #23 | |
| #24 | # normal paper OODA loop |
| #25 | pnpm ooda |
| #26 | |
| #27 | # goblin mode: aggressive, paper, devnet, no sleep |
| #28 | pnpm goblin |
| #29 | |
| #30 | # goblin dashboard |
| #31 | pnpm goblin:tui |
| #32 | ``` |
| #33 | |
| #34 | Direct commands: |
| #35 | |
| #36 | ```bash |
| #37 | npx tsx src/ooda/loop.ts --ticks 50 --sleep 0.25 |
| #38 | npx tsx src/ooda/loop.ts --goblin --ticks 100 --fresh |
| #39 | npx tsx src/ooda/loop.ts --goblin --ticks 200 --tui | npx tsx src/ooda/tui.ts |
| #40 | ``` |
| #41 | |
| #42 | ## Optional LLM Decisions |
| #43 | |
| #44 | Goblin mode will call Anthropic only when `ANTHROPIC_API_KEY` is present. Without it, the harness falls back to deterministic paper decisions. |
| #45 | |
| #46 | ```bash |
| #47 | ANTHROPIC_API_KEY=<your-anthropic-api-key> pnpm goblin |
| #48 | GOBLIN_MODEL=claude-opus-4-7 pnpm goblin |
| #49 | ``` |
| #50 | |
| #51 | LLM output is still validated before action. Invalid JSON, short goblin reasons, oversized positions, mainnet references, or key-material mentions are rejected and journaled as safe holds. |
| #52 |