Coding Agent Conversation Import

Backfill consented local coding-agent sessions into Conversations with normalized transcripts, usage, and durable retries.

Overview

Description

Coding Agent Conversation Import turns consented local coding sessions into durable Dots Conversations. It reads supported Claude Code, Codex, and Cursor histories, normalizes their provider-specific messages into one conversation envelope, scrubs secrets, and routes each session into the user’s Conversations Dotabase. Re-importing a grown or previously seen session updates its existing row instead of creating a duplicate.

The backfill is designed as a resilient pipeline rather than a one-shot file copy. Each session is processed independently, source-scoped checkpoints record progress, and contained failures are written to the sync error and dead-letter substrate so other sessions continue. Both hosted and daemon composition paths call the same transcript persistence core, preventing their normalization or destination behavior from drifting.

Selling Points

  • Brings valuable coding discussions into the same searchable knowledge space as other work.
  • Supports three major local coding-agent history formats behind one normalized conversation model.
  • Redacts secrets before routed content is persisted.
  • Updates existing conversations idempotently as session logs grow.
  • Continues a large backfill past isolated malformed sessions and records actionable failures.

User Story

As a developer adopting Dots after months of agent-assisted work, I approve my project history folders and run one import. My past sessions arrive as Conversations with consistent message structure and usage metadata, while a corrupt session does not prevent the rest of the history from becoming available.

Extension Surface

The rating is configurable because users choose consented source folders and backfill scope, while composition supplies routing, tenant, database, telemetry, and usage-resolution dependencies through packages/ingestion/src/coding-agent/backfill/index.ts. packages/ingestion/src/coding-agent/route/route-entity.ts resolves the home Dotabase destination. The provider reader roster is shipped code, not a user plug-in marketplace.

Capabilities & Limits

Capabilities include provider-specific parsing, common envelope assembly, transcript-to-Conversation routing, content-signature idempotency, secret scrubbing, usage aggregation, per-session error recording, and checkpointed retries. The import deliberately ignores unsupported non-session artifact kinds in the old adapter model. A real coding-agent Memory Bank producer is not shipped, and malformed or undocumented Cursor store shapes fail closed rather than fabricating conversation content.

Implementation Map

  • packages/ingestion/src/coding-agent/backfill/transcript-session.ts
  • packages/ingestion/src/coding-agent/backfill/index.ts
  • packages/ingestion/src/coding-agent/normalize/index.ts
  • packages/ingestion/src/coding-agent/route/route-entity.ts

Properties

Property
Value
product
dots-platform
extensibility
configurable
module
Conversations, Importers
packages
ingestion, dotabases, scrub
status
shipped
surface
background
summary
Backfill consented local coding-agent sessions into Conversations with normalized transcripts, usage, and durable retries.

Connections

Coding Agent Conversation Import · Explore connections

  • documented bytoConversations
  • documented bytoCursor Conversation Import
  • complementstoLive Coding Agent Conversation Sync
  • requirestoCoding Agent Source Detection
  • implemented bytorouteTranscriptSession
  • implemented bytobackfillTranscripts
  • implemented bytopackages/ingestion/src/coding-agent/backfill/transcript-session.ts
  • implemented bytopackages/ingestion/src/coding-agent/route/route-entity.ts
  • implemented bytopackages/ingestion/src/coding-agent/backfill/index.ts
  • requiresfromCoding Agent Usage Analytics
  • requiresfromLive Coding Agent Conversation Sync
  • requiresfromCoding Agent Source Detection
  • requiresfromCoding Agent Plan Extraction

Connected Records13

Complements
Documented by
Implemented by
backfillTranscripts
packages/ingestion/src/coding-agent/backfill/index.ts
packages/ingestion/src/coding-agent/backfill/transcript-session.ts
packages/ingestion/src/coding-agent/route/route-entity.ts
routeTranscriptSession
Requires
13 connections.

Documents