junie

Identity

  • Names: junie / com.jetbrains.junie.
  • Native format: junie-events-jsonl, sessions/index.jsonl and session-*/events.jsonl.
  • Session ID: Full native session directory ID, checked against index sessionId. No namespace is specified by the fixture evidence.
  • Notes: UserPromptEvent.prompt records user-role text; it does not prove human authorship. timestampMs belongs to its event. ResultBlockUpdatedEvent is display-only. Terminal/tool step command, details, exitCode and durationMs supply recorded fields. COMPLETED/FAILED/CANCELLED map only explicit statuses. File before/after values are snippets unless a whole-file contract is established; no applied outcome or actor is inferred. LlmResponseMetadataEvent.modelUsage is a usage summary, not a model call. AgentFailureEvent supplies error facts. Index taskName and createdAt supply current title and session start only.

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

junie: native facts without a standard field

  • Entity keys and links: SessionA2uxEvent.event.agentEvent identifies UI variants. The fixture parser groups updates by (preceding UserPromptEvent position, kind, stepId). This is a fixture-only UI-step contract; a derived call key does not claim a model-call ID. Keep physical source positions in assembly.sourceIds. 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.jetbrains.junie/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: Junie journal/index parser and authored fixtures in ctxrs/ctx at 74f63227f1c7416607d704668f38b9c7c9de6a16. No provider version is qualified. 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.