kestrel.markets
Concepts

The screen

Percept v5, the phase-conditioned market screen an agent reads, with attribution, watermarks, explicit UNKNOWN, and fail-closed degradation.

An agent cannot trade a market it cannot see. The screen Kestrel renders for a context window is called the percept, and its current contract is Percept v5: a phase-conditioned rendering of the market as attributed text. The vocabulary is precise, and it stacks:

  • A View is the standing definition of what should be seen: which panes, at what token budget. It is authored in the language itself.
  • A Frame is a View materialized at one instant: the typed bundle of values, each carrying its source. The terminal is live video; a Frame is one fully specified instant of it.
  • A Field is the atom of a Frame: a value plus the provenance it was derived under. A value that is genuinely unavailable is an explicit UNKNOWN, never a guessed or defaulted number.
  • A Rendering is one serialization of a Frame. A Rendering never invents or changes a value; it chooses only glyphs, layout, and token spend.
VIEW open budget 1800
  macro week quarter rv20
  vol straddle expected-move
  tape skyline 5m vwap detector-strip
  levels registry
  chain fair realness

Phase budgets

Perception is priced by phase. Each delivery gets a token budget matched to what the moment is for:

PhaseBudgetWhat it carries
OPEN1800 tokthe full keyframe: prior context, coverage, vol, levels, tape, chain
WAKE500 toka delta frame: only what changed since the agent last looked
SHOCK400 toka zoomed stat block around the violent move
CLOSE700 tokthe settle-and-account frame

A wake costs a third of an open because the reader already holds the open in context. The stream is append-only where it can be, so a long-running agent's cache stays valid and perception costs scale with what is new, not with the size of the screen.

The Kernel leads every frame

Every frame opens with the Kernel: the immutable safety-and-control block that states why the agent was woken, feed health, positions, resting orders, the risk budget, and the remaining attention budget. From the published v5 OPEN artifact:

KERNEL
  wake [POLICY] phase_boundary:open severity=1
  health [OBS] SPX live two_sided=true stale_s=0.2
    src=SPX:health@120
  unavailable [UNKNOWN] tod_range_to_go
    src=SPX:tod_range_to_go@120
  positions (none)
  resting (none)
  budget [POLICY] risk=5.00R plan_cap=1.00R book_cap=5.00R
  attention [POLICY] remaining=1800tok

The excerpts on this page come from the publication-safe Percept v5 artifact suite: deterministic, date-blind, synthetic instances of the contract with generic index values. They preserve the real information structure; they are not recorded quotes.

Six-way attribution, watermarked

Every Field carries one of six provenance tags, and nothing above a deterministic calculation goes unattributed:

TagMeaning
[OBS]an observed market datum: a quote, a trade
[CALC]a deterministic transform of OBS: VWAP, range, realized vol
[DETECTOR]a named pattern detector's output, versioned
[MODEL]a model output: a fair value, a regime claim; must carry its receipt and confidence
[POLICY]a configured platform decision: budgets, zoom, what was omitted
[UNKNOWN]explicitly unavailable; rendered, never guessed

Each value also carries a source watermark, src=SPX:vwap@120: where it came from and the engine sequence it was derived at. An ordinal, never a wall clock, which is what makes replay byte-stable and keeps dates off the record path. A [MODEL] field without its receipt and confidence is refused at construction. In the OPEN artifact above, tod_range_to_go is simply not knowable yet, so it renders as [UNKNOWN]. The renderer never fills a gap with a plausible number: a token-efficient wrong number is worse than an expensive right number.

SHOCK: the screen refuses to editorialize

When a violent move fires the SHOCK frame, the screen zooms to one-second buckets and delivers measurements, not a story:

STAT BLOCK  (1s buckets; path is pull-based)
  start [OBS] 5081.30 low=5063.10 end=5074.20
  fastest_10s [CALC] -14.20 baseline_p99=9.80
  fastest_30s [CALC] -18.20 recovery_30s=+11.10
  cross_feed_sync [DETECTOR] SPY=true
  bid_present_rate [CALC] 0.92->0.34
  levels_crossed [DETECTOR] HOD
  interpretation [POLICY] omitted; agent must classify
  cause [UNKNOWN]

interpretation [POLICY] omitted; agent must classify is the design in one line. Classifying the shock is the agent's judgment, and the platform never launders an opinion into the percept. The cause is [UNKNOWN] because the feed does not know it, so neither does the screen.

Degraded is fail-closed

When the canonical feed goes stale, the screen does not improvise. The degraded OPEN artifact shows the whole posture:

CANONICAL
  spot [UNKNOWN] src=SPX:spot@121
    reason=fixed_source_unavailable
  mode [POLICY] degraded

PANES OMITTED [POLICY]
  prior_context vol_em velocity levels detector candles chain

EFFECT [POLICY]
  dependent Wakes and Plans de-armed reason=canonical_gap
  no alternate anchor promoted next_delivery=OPEN_resync

Dependent Wakes and Plans are de-armed. No alternate price anchor is promoted. The agent is told exactly what it cannot see and what has been stood down, and the next delivery is a full resync. A screen that would rather show nothing than show a guess is the perception-side twin of the fail-closed parser described in The grammar is measured.

The screen is measured, not designed

No pane layout or glyph vocabulary on this screen is blessed by taste. Under OSS ADR-0009, every rendering choice is a hypothesis that must earn default status in rendering tournaments: cohorts of agents run on identical Frames over identical replay corpora, differing only in rendering variant, and are graded on decision quality, token cost, and attention efficiency. The companion research program logs which panes agents themselves request during authoring, so which panes earn a place on the default screen is itself an empirical question, not a designer's opinion. That work is research in progress, framed as such.

The screen is what the watcher reads on every wake and what a Grade certifies the agent actually saw.

On this page