kestrel.markets
Views

Scanner View

The single-name deep read. What the PM's discovery half sees when a universe-wide scan fires — levels, series-summary, prior-context, and the tape — and why a scan-fire screen leads with trend, not a chain.

The Scanner is the PM's discovery half. A Scan is a Wake whose scope is a whole universe rather than a single Coverage — all of NYSE and NASDAQ at move(1d) > p99, say — wide and slow. When one fires on a name, the Scanner does the single-name deep read that decides whether the PM should author a new leaf — a Book with its Coverage, thesis, and budget — into the pod, or leave the name alone.

The seat

Task. Read one name deeply on a minutes-latency budget; separate a real move from a head-fake; and hand the PM a leaf worth authoring — or ignore it. The Scanner is a filter on the pod's attention: most scan fires should end in "leave it," and the screen is built to make that call quickly and honestly.

Timescale. Minutes, single-name. Slower than the Watcher's seconds, faster than the Strategist's session framing — a distinct budget for a distinct job, which is why it reads its own screen rather than the framer's.

When it fires. On a scan-fire wake: a universe-scoped trigger, not a Coverage on a name the pod already holds. It is a wake View, seated to the PM — the discovery counterpart to the PM's allocation cockpit (see the PM View).

The View

VIEW scan-fire
  levels
  series-summary
  prior-context
  tape 5m

The order is built for the "real move or head-fake?" question. levels fixes where the name is in its own day. series-summary gives the numeric trend directly — drift, slope, close-vs-VWAP, and a velocity distribution — a machine-legible read of the move that a bar-chart alone cannot convey to an embedding. prior-context sizes the move against the prior close. tape 5m shows the recent shape. There is deliberately no chain and no acting kernel: the Scanner holds nothing and prices nothing, so a screen weighted toward positions would be noise. It reads to decide whether to engage, not to manage an engagement.

With seatViews: "founder" set, a scan-fire wake seated to the PM resolves to this View; an authored View still wins, and with no seat the wake falls back to the phase default.

The screen

scan-fire · wake 1renderWakeDelta · kestrel-renderer/8 · byte-real
==== SAFETY / CONTROL KERNEL (non-configurable; leads every frame) ====
  frame=WAKE
-- WAKE --
  reason=scan fire: SPX move(1d) > p99 — gap-and-go candidate  severity=routine  deadline=T-210m to close
-- DATA-HEALTH --
  SPX: bid_present_rate=1.000 two_sided=true stale_s=0.2 dark=false
  unavailable capabilities: none
-- POSITIONS / INVENTORY-CLAIMS --
  flat — no positions / inventory claims
-- RESTING ORDERS --
  none resting
-- BUDGET / REMAINING-R --
  remaining_R=5.00  plan_envelope=1.00  book_envelope=5.00  owner_envelope=10.00
  sizing: UNKNOWN (no sizing headroom)
-- OWNER ENVELOPE + ACTS --
  owner_envelope=10.00
  owner acts: none this session
-- L0/L1 ENGINE LOG --
  engine actions: none
-- PREDICTOR / REGIME CLAIMS --
  no predictor / regime claim wired

KESTREL · wake 1 · 6m since last · T-210m to close · regular · 12:30 ET · reason: scan fire: SPX move(1d) > p99 — gap-and-go candidate

levels · SPX
  spot 5142.70  ·  prior_close 5108  ·  hod 5144  ·  lod 5119  ·  vwap 5131.20  ·  or 5121–5138

series-summary · SPX
  window 11 buckets · 1m each
  drift +4.90 (+0.10%) — close 5137.80 → 5142.70
  close-vs-vwap +11.50 (+0.22%) — close 5142.70 vs vwap 5131.20
  slope +0.49 pts/bucket (least-squares over 11 closes)
  velocity 1-bucket |move| p50=0.50 p90=0.90 max=1.00 n=10

prior-context · SPX
  vs prior close: UP +34.70 (+0.68%) — spot 5142.70 vs prior close 5108

tape 5m · axis 5136.90→5144 · anchor @ 12:24 ET
12:24  ──████████████████──
12:29                  ─███████████████───
12:30                                ─██───────

Open vs wake

The Scanner's screen is a wake screen with a discovery slant. Like every frame it leads with the safety kernel — here flat, holding nothing — but its market panes are trend-and-context, not inventory: series-summary and prior-context where the Watcher's screen carries delta and a chain. The difference is the task. The Watcher manages a position it holds; the Scanner decides whether a position should exist at all. Both are wakes; the seat is what makes them different screens.

The Scanner reads the equity-index variant here — a single US equity name on equity-rth. The same discovery read extends to futures, perpetuals, and FX through the same View grammar as those variants ship (see the variant axis); a perpetual's screen, for instance, names the absence of a daily close in prior-context rather than inventing one.

On this page