tabnine
Identity
-
Names:
com.tabnine.cli; short aliastabnine. -
Native format:
tabnine-chat-jsonl, a Gemini-family recording dialect. Gemini writer pins do not qualify Tabnine. -
Session ID: First native header
sessionId, not a shortened filename. No namespace is specified by the fixture evidence. -
Notes:
thoughts[].descriptionsupplies reasoning. Message tokens are usage summaries because one-model-call boundaries are unproved. Explicit success/completed/error/cancelled tool statuses map; missing outcome is unknown.startTimesupplies session start. Saved checkpoints are outside this journal mapping and require a declared loss.
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
tabnine: native facts without a standard field
Links
-
Entity keys and links: Message
id;toolCalls[].id, name and args. A result embedded in the same unique call object supplies raw output, not proof of model rendering. A later record with the same message ID replaces the entire earlier record; retain revisions or declare the loss when folding them. Reused call IDs across effective messages are ambiguous. -
Lineage: The fixture describes
kind: subagentandchats/<parent>/<agent>.jsonl, but has no native versioned writer contract for delegation. Retain header kind and parent-directory evidence; leave normalized spawning absent pending qualification. No copy or root mapping is qualified.
Usage
Use recorded per-message totals as ausage_summary covering that message. These totals do not establish that the message corresponds to a single model call. Keep alternate totals in native evidence, and do not add them to the selected summary.
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. Rules for what a backend includes in its usage counts require evidence; do not infer them from a model name.
Lane and unassigned facts
Facts without established session ownership use manifest_meta["com.tabnine.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. For omitted unassigned facts, use a documented vendor loss or report; do not create a new core category.Evidence
Basis: fixture-verified: JSONL parser and authoredtabnine-cli fixtures in ctxrs/ctx at 74f63227f1c7416607d704668f38b9c7c9de6a16. Schema notes refer to installer bundle 0.25.1; this is not a native capture or proprietary version-level 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.