# Every agent turn is a validated render cycle over evolving Active State

The Turn Lifecycle combines exact History, change detection, reconciliation, bounded rendering and future effect revalidation while leaving model execution with the agent runtime.

Status: Local candidate · in review. Prelaunch; not a live service guarantee.
Validated local Turn Frames, reference preparation, and State profiling exist in the unmerged native-toolkit candidate. They do not intercept live AgentCore turns, submit model requests, persist managed Turn Receipts, or authorize external effects.

Reviewed: 2026-10-06.
Backend source: 16f1e66d303a43e245a5cff5c392e9ebd3adf201.
Native toolkit review candidate: fe3df1c237b48d04347b6f159cc49e2f0d830a2c (unmerged).
HTML: /docs/turn-lifecycle

> Do not make a long-running agent rediscover the world from scratch on every turn.

## Resolve → detect → reconcile → render → reason → revalidate

1. **Resolve** — Start from exact retained evidence, View definitions, source versions, freshness and authority inputs.

2. **Detect** — Identify which exact identities or fences changed. Provenance change is not automatically semantic change.

3. **Reconcile** — Propagate through declared dependencies and rebuild only supported affected State while fencing stale work.

4. **Render** — Prepare required reference evidence and bounded optional context as a separate model-facing representation.

5. **Reason** — AgentCore or another runtime invokes the model; Kam does not own the model or workflow engine.

6. **Revalidate** — The future action boundary checks the relevant ReadSet before consequential external effects.

## What the current native candidate actually proves

PR #176 adds local kam.local-turn-frame.v1 artifacts and canonical reference observations. Frames bind prior-frame identity, exact assessment and input hashes, evaluation time, State identity and preparation status.

Prepared local frames explicitly report modelRequestReady false, modelSubmission not_observed, turnReceipt not_committed, liveAuthorization not_checked and persisted false. The candidate is diagnostic infrastructure, not live runtime interception.

## Why did this turn rebuild?

The local profiler compares definition, membership, exact provenance, reported content hash, source fences, temporal inputs and selection disposition independently. Unsupported semantic sameness, provider cache hits and inferred decision causes remain not_observed.

The long-term DevTools direction is React-like change diagnostics for agent state: explain the source change, affected Views, reused evidence, rebuilt representation and logical versus physical retry work.
