Skip to main content

Rust State

Admit the evidence before calling State current

Requiredness, freshness, retention, and invalidation are separate parts of the contract.

Preserve historical evidence. Refuse to reuse it as current when its conditions no longer hold.

Internal implementationReviewed 2026-10-06 · prelaunchRead this guide as Markdown

A bounded owner-configured View registry and reverse-dependency memberships are implemented in source. The managed execution path currently supports one required same-scope source; multi-source joins, public current-State serving, live Turn interception, and customer realtime subscriptions remain staged.

The View owns requiredness

A View declares exact source identities, required and optional dependencies, priorities, freshness windows, and selection limits. Observations report lookup results; they cannot change that policy. Current invalidation counters are supplied separately.

An omitted required observation blocks selection. Foreign sources, duplicate or missing fences, future observation times, and unexpected fields are rejected. A late read from an older fence is invalidated even when it arrives last.

Current means reusable evidence, not approval

  1. 1

    Missing or unresolved required evidence

    State is blocked with explicit issues and no usable selection identity. Missing evidence is not silently removed.

  2. 2

    Required references exceed the budget

    State blocks instead of trimming them. Optional references follow deterministic priority with explicit budget exclusions.

  3. 3

    Current evidence describes a failure

    The result may be current and still accurately report a failed security check. Admission is not a deployment decision.

Freshness differs from retention

A freshness deadline makes evidence stale. Its availability deadline makes it expired. A newer invalidation counter can invalidate it earlier. All deadlines are exclusive; a reuse deadline is an upper bound, not permission to ignore later changes.

Exact versions across several sources do not establish one atomic cross-source snapshot. The runtime must check current permissions and source conditions at the serving or conditional-commit boundary.

One internal View is connected to durable history

The server-owned trajectory-current View uses the durable scope head as its source fence. Rust authors the pointer and lifecycle/source-version conditions. Every pointer successor commits with an immutable Observation and change evidence. An unchanged eligible result reuses its prior pointer without another event.

Internal change delivery is bounded, queue-backed, and maintenance-redrivable. The affected-View planner admits membership pages of up to eight rows. A bounded adapter now reads memberships and atomically persists the Rust-authored cursor and pending tasks, with replay-safe continuation. Membership registration and pending dependent-View execution remain staged.

Measure the thing being limited

Internal admission accepts 1–32 dependencies, maxItems of 1–32, and maxReferenceBytes of 2–32,768. Reference bytes mean the UTF-8 JSON selected-reference array, including its metadata and punctuation.

This does not measure rendered prompts, model tokens, total response bytes, fetched payloads, or production latency. The native candidate’s Atlas displays the reference measurement without inventing a token conversion.

Agent-readable documentation manifest