kiro

Identity

  • Names: kiro / dev.kiro.cli.
  • Native format: kiro-cli-sqlite: conversations_v2 and legacy conversations, each with rewritten JSON value. Read both tables and WAL in one transaction. ACP/v3 and saved-chat JSON are separate formats.
  • Entity keys: Assistant message_id, tool tool_use_id or id, and request request_id stay native. Missing IDs derive from history index and projection role with capture scope. Stable native IDs retain cross-capture identity even when history positions shift.
  • Notes: additional_context is harness injection. Success and Error determine tool outcomes; truncation requires the native truncation marker. latest_summary records no retained boundary, so replacement extent stays unknown. Preserve its tuple and do not move a snapshot before source-positioned history in violation of ASR-034. Model selection is requested; absent usage, cost and message timestamps remain absent. Current conversation/context/checkpoint state is a tail snapshot.
Identity migration v3.2: prefer the nested native conversation_id when present, including for legacy rows. Only older rows without it use the native directory key with a stable installation namespace. Keep the key as provenance. This migration does not assert equivalence or continuity between old directory identities and UUID identities.

Position basis

Use only positions established by the stated format and mapping evidence. Current-state rows without transcript positions go at the end, as the snapshot tail. A protocol commit boundary takes precedence over physical EOF; uncommitted bytes are not a gap.

Destinations

kiro: native facts without a standard field

  • Links and lineage: tool_use_results joins the corresponding native tool-use ID only when unique. request_metadata belongs to its containing request and supports a native or derived inference. No fork, spawn, copy or root follows from shared directories, tangent state or similar UUID fields.

Usage

Select one report per native accounting identity only when this entry establishes that identity. Keep unjoinable or overlapping reports as native evidence. Declare incomplete semantic coverage. Schema defaults and placeholder zeros are not reported usage. Backend inclusion rules require evidence; do not infer them from a model name.

Lane and unassigned facts

Facts without established session ownership use manifest _meta["dev.kiro.cli/unassigned"] with the common shape. Selection may retain these facts with any session subset, including an empty subset, but must not imply session ownership. State the selection policy in the export report.

Losses

Declare every applicable loss under ASR-157. Missing model rendering, accounting joins, lineage or exact context boundaries remain losses when this entry does not qualify them. Unknown ownership is not itself lost data. Omitted unassigned facts use a documented vendor loss or report, not a new core category.

Evidence

Basis: source-verified at kiro_cli commit 15cc8f3cd18c4272925ce1c7053268eedff1ea0a (database/mod.rs, conversation and request definitions). Existing official 2.10.0 persistence evidence and authored v2/legacy fixtures; no new authenticated run or proprietary release conformance claim. Evidence applies only to the named formats and explicit mappings above. A real capture covers only exercised behavior. A no-model writer probe covers persistence, not model or tool execution. Authored tests do not qualify an agent version. Unlisted formats and link mappings remain unqualified.