cursor
Identity
-
Names:
cursor/com.cursor.agent. -
Native format:
cursor-agent-transcript;cursor-cli-transcriptnames the same CLI JSONL dialect.projects/<workspace>/agent-transcripts/<id>/<id>.jsonl. IDEstate.vscdband CLIstore.dbblob graphs are separate, unqualified formats. - Session ID: The matching full directory and filename ID is the native conversation key. No namespace. A renamed file alone cannot supply a different identity.
-
Entity keys: The transcript has no stable message IDs. Derive positional message and record IDs with
idScope: capture. Regeneration requires a new capture. -
Notes: Keep prompt wrappers verbatim. User role alone does not establish a human author. A prompt timestamp tag supplies only that prompt’s
ts, withtsSource: embedded_textandtsPrecision: min; require an explicit offset.is_errorsupplies result status when present. Exact MCP identity needs separately recordedprotocol, server and tool fields. Do not infer model calls, usage or external output bytes. Declare the missing fields and unsupported stores.
Position basis
Use only positions established by the stated format and mapping evidence. Current-state rows without transcript positions form the snapshot tail. A protocol commit boundary takes precedence over physical EOF; uncommitted bytes are not a gap.
Destinations
cursor: native facts without a standard field
Links
- Links and lineage: Admitted
tool_use.idjoinstool_result.tool_use_id,toolUseIdortoolCallIdonly when the aliases agree and one invocation owns the ID. These are fixture rules, not a claim about every Cursor release. No parent, child, copy or root mapping is qualified.
Usage
Select one report per native accounting identity only when this entry establishes that identity. Keep unjoinable or overlapping reports as native evidence. Declare when semantic coverage is incomplete. 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["com.cursor.agent/unassigned"] with the common shape. A selection may keep these facts with any subset of sessions, including an empty subset, but must not imply that a session owns them. 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: fixture-verified: the strict CLI transcript parser and fixtures inctxrs/ctx at 74f63227f1c7416607d704668f38b9c7c9de6a16, documented against layout 2026.06.24-00-45-58-9f61de7. No provider-version conformance claim.
Evidence applies only to the named formats and explicit mappings above. A real capture covers only the behavior that was exercised. A writer probe run without a model covers persistence only, not model or tool execution. Authored tests do not qualify an agent version. Unlisted formats and link mappings remain unqualified.