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
- Triggers (deterministic, no LLM — computed from
signal_snapshotsby thekalshi-sentinelCloud Run job, 2×/day, scoped tostrategy=Sentinelentries): 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.
- 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. - Decision rows (posted to
/api/signals, strategy=Sentinel):pick_kind=exit→action=SELLat the current executable price. Resolution scores it as a short: exit-alpha = sell price vs settle.pick_kind=hold→action=BUYat 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
- v1 (Jul 2026) — triggers + review + shadow decision rows. Risk-reducing recommendations only (exit/hold; never add).