obsidian-vault/Invest-MyVexx/SPEC-052-TRADE-SPEC-EXIT-TO-BASE-SANDBOX.md

2.5 KiB

SPEC-052 — Invest Trade Specs + Alice Monitor + Exit-to-Base (paper sandbox)

SPEC-ID: 052-MYVEXX
Vincula: 049, 050, 051
Org Forgejo: myvexx (≠ ligbox)
Status: 🧪 Sandbox paper (2026-08-05)
Para: Roger

Objectivo

Permitir: escolher índice/crypto → Alice investiga → spec no Invest (alvo, alavancagem simulada, modo de saída) → motor monitoriza → ao atingir alvo fecha e volta à conta base (paper).

Contrato da Spec (Invest)

{
  "symbol": "NVDA",
  "asset_class": "equity",
  "entry_price": 100.0,
  "target_pct": 1.20,
  "leverage_sim": 1.0,
  "exit_mode": "aviso|semi|auto_paper",
  "stop_pct": null,
  "fill_timeout_sec": 300,
  "on_fill_fail": "abort_alert"
}
  • target_pct = +1,20% sobre entry_price (lucro percentual).
  • leverage_sim = factor só para P&L simulado (não broker live).
  • exit_mode: ver tabela abaixo.

Modos de saída (aplicar todos)

Modo Comportamento sandbox
aviso Ao alvo → alerted; não fecha sozinho
semi Ao alvo → ready_to_close; exige POST .../confirm_close
auto_paper Ao alvo → fecha já → closed_to_base

Live broker: proibido neste bridge (ALLOW_LIVE_BROKER=0).

Constraints (o “não realista” → regras)

  1. Alvo % = trigger, não garantia de fill.
  2. Alavancagem = simulada até paper broker explícito.
  3. Auto só em paper; live = degrau futuro + gate humano.
  4. Spec no Invest/bridge = fonte da verdade (Alice lê, não inventa).
  5. Equity vs crypto = mesmo contrato, adapters depois.
  6. Polling sandbox; websocket = Fase B+.

API sandbox (bridge :3100)

Método Path Função
POST /sandbox/specs Criar spec
GET /sandbox/specs Listar
GET /sandbox/specs/{id} Detalhe
POST /sandbox/specs/{id}/tick Actualizar preço (manual)
POST /sandbox/specs/{id}/simulate Simular path até alvo
POST /sandbox/specs/{id}/confirm_close Semi: confirmar fecho

Traefik: https://invest.myvexx.com/api/agents/sandbox/... (strip /api/agents).

Critério de done (sandbox)

  1. Criar spec NVDA alvo 1,20% modo auto_paper.
  2. simulate sobe preço ≥ +1,20%.
  3. Estado final closed_to_base + pnl_pct ≥ 1,20.
  4. Modos aviso e semi testados no mesmo motor.

Fora de escopo 052

  • Ordem live / UTA funded
  • UI React completa /agents (pode seguir em paralelo Fase A 051)
  • Fork profundo OpenAlice (bridge consome specs; Alice UI depois)