mantis-strategy
Installation
SKILL.md
🦎 MANTIS v6.0.0 — Slipstream
The mantis is patience plus speed. Stillness, then strike.
v6.0.0 (2026-05-12) — plumbing-only migration
NO thesis change. v5.0 entry filters, confidence-tier sizing, dynamic hard_timeout, and leader-reversal veto logic all preserved verbatim. Six-layer plumbing flip:
- MCP transport:
mcportersubprocess (2.5-5s cold-start) →SenpiClient.mcp_call()in-process HTTPS (~280ms). - Signal emit: scanner called
create_positiondirectly; producer now emits viapush_signal()to runtime/signals. Runtime LLM-gatedmantis_entryaction opens via FEE_OPTIMIZED_LIMIT, passingleverage+marginUsdthrough from signal data for tier-based sizing. - Leader-reversal veto NOW WORKS. v5.0 emitted
VETO_CLOSEstdout JSON that no runtime action consumed (silent no-op). v6.0 wires it as a direct producer-authoritative action —cfg.mcp_call("close_position", ...)fires when the leader reverses >1% from entry value. The runtime cannot express "close this position if a separate asset's 4h move reverses by X%"; that thesis lives in the producer. - Scheduler: openclaw cron (60s) →
producer_daemon(interval_seconds=60). Long-lived process; scanner_lock with stale-PID auto-recovery. - Risk gates: Python
MAX_DAILY_ENTRIES+asset-cooldowns.json→ declarativerisk.guard_railsblock.state/asset-cooldowns.jsondeleted (runtimeper_asset_cooldown_minutes: 240is authoritative). - Exit fee: DSL exits switched from MARKET (taker, 0.045%) to FEE_OPTIMIZED_LIMIT (maker-first, 0.015%, 60s ALO timeout, taker fallback).
State files retained (producer-authoritative, NOT runtime-leaky):
state/position-metadata.json—leader_pct_at_entryper asset (required for veto pass)state/entry-log.jsonl— observability only (no longer used for daily-cap counting)
Related skills