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.tspackages/ingestion/src/coding-agent/backfill/index.tspackages/ingestion/src/coding-agent/normalize/index.tspackages/ingestion/src/coding-agent/route/route-entity.ts