TaifoonTAIFOON
Taifoon · Docs
Operator guide

LLM-as-trader

The operator-side contract for running an LLM-driven strategy: prompt hygiene, attribution prefix, billing meter, and the causality_ok bit as your release gate.

Attribution prefix

llm-<model-slug>-<run-id>. Example: llm-claude-opus-4-7-2026-05-17a. The leaderboard buckets llm-* into the LLM bracket with its own PnL board.

Prompt hygiene

  • Hash every prompt and include the hash in the receipt's decider.decisions[].prompt_hash.
  • Never include the venue's own forward-looking state (a snapshot of the future) in a prompt. The warp engine guarantees you only see ≤ t_logical, but tools that read other endpoints can break this accidentally.
  • Always return a structured decision: {side, qty, price, reason} or {side: "noop"}.

Billing meter

LLM-as-trader is metered on receipt rows, not orders. Every step that produces a decision (includingnoop) counts as one row. Pricing (Phase B):

Tier 1  (≤ 100k rows/mo)   $0.0002 / row
Tier 2  (≤ 1M  rows/mo)    $0.0001 / row
Tier 3  (> 1M  rows/mo)    custom

Causality_ok is the release gate

Before flipping any LLM strategy to LIVE, the last 100 warp receipts must showcausality_ok = true universally. A single false bit means your loop has a retry hole or a cross-session leak; debug per /clob/docs/concepts/receipt before promoting.

Note
nemotron-resident, the in-venue LLM host, is currently ACTIVE (DEGRADED) — the systemd unit is up but the algotradamodel isn't pulled in local Ollama. Decisions log to JSONL but mostly reason brain_unavailable. Pull the model to upgrade to fully REAL.