kalmari.app / Strategies
Strategy

Sentinel — methodology

🧪 experimental · runs Position review daily 7:00 & 19:00 · Managed audit Mon 9:00 — all PT

Status: shadow (not auto-copy) · Source: audit · Current version: 1 · Legacy tag: run_id containing sentinel, pick_kind exit/hold

Sentinel is a self-contained managed strategy: Keel's v3 entry methodology plus position management, run as its own book. Every other strategy's pick rides to resolution no matter what happens in between — the motivating trade (Fable 5 AI run, Jun 2026, "Top Coding AI: Claude" NO@43¢) was +90% unrealized mid-flight and settled worthless because nothing ever re-checked the thesis. Sentinel adds that re-check, but ONLY to picks it opened itself — it never touches other strategies' books, so Keel-vs-Sentinel on the same category is a clean managed-vs-unmanaged comparison.

Entries: a weekly AUDIT_VERSION=sentinel run of the mispricing workflow (the v3 prompt verbatim) posts picks as strategy=Sentinel, audit_version=sentinel — a non-scored version, so they are off /performance, off auto-copy, and feed-tagged experimental (the Chorus pattern). Management: mechanical price triggers wake Claude on a Sentinel pick, Claude re-researches the thesis against what changed, and emits an exit or hold decision.

How it works

  1. Triggers (deterministic, no LLM — computed from signal_snapshots by the kalshi-sentinel Cloud Run job, 2×/day, scoped to strategy=Sentinel entries): a live Sentinel pick is queued for review when any of these fire:
    • Reversal: side-mid has fallen ≥15¢ from its peak since entry.
    • Take-profit: unrealized gain ≥ +50% of entry.
    • Capital-free: side-mid ≥ 95¢ — nothing left to earn.
    • Adverse: side-mid ≥ 15¢ below entry. Degenerate books (spread > 30¢) are skipped; per-pick cooldown stops re-reviewing the same ticker+side within a few days.
  2. Review (Claude, one session per run): for each queued pick — original thesis + model_prob_pct, full mark history, live orderbook, web research on what changed. Verdict: thesis intact / weakened / invalidated.
  3. Decision rows (posted to /api/signals, strategy=Sentinel):
    • pick_kind=exitaction=SELL at the current executable price. Resolution scores it as a short: exit-alpha = sell price vs settle.
    • pick_kind=holdaction=BUY at the current price. Resolution scores the hold as a fresh entry: a hold that settles worthless was a missed exit.

Both kinds are doubly quarantined: catalog flags are all false AND their non-empty pick_kind is excluded by FeedScope — users never see them, no auto-copy, nothing on /performance. They still get poll/settle snapshots and resolution, so the shadow track accumulates a measurable record.

Graduation

Sentinel v1 recommends; it never trades. If cumulative exit-alpha across a few weeks of decisions is clearly positive, next steps in order: (a) Telegram notification with a one-tap "apply to my position" button, (b) auto-execution via the existing executeStopLossExit path for followed positions.

Version history

See this strategy's live track record

Every pick this strategy has ever published — resolved results, P&L, and calibration vs the market — is public and auditable.

Open in the Strategy Explorer →