# v8.6 Replay Ingestion + Transcript Normalizers Implementation Plan

> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.

**Goal:** Add replay ingestion so Engram can import historical conversation exports from multiple sources into memory extraction and recall pipelines.

**Architecture:** Implement a source-normalizer layer (OpenClaw/Claude/ChatGPT-style exports) that maps external transcripts into a canonical turn format, then routes through existing extraction and indexing flow.

**Tech Stack:** TypeScript, `src/replay/*`, `src/orchestrator.ts`, `src/cli.ts`, node:test.

---

## Requirements

1. Canonical replay turn schema with strict validation.
2. Source adapters for at least: `openclaw`, `claude`, `chatgpt`.
3. Dry-run preview mode with counts and date ranges.
4. Bounded replay throughput and resumable progress.
5. Optional post-replay consolidation run.

## Task 1: Replay core types and parser contracts

**Files:**
- Create: `src/replay/types.ts`
- Create: `src/replay/runner.ts`
- Test: `tests/replay-types.test.ts`

## Task 2: Source normalizers

**Files:**
- Create: `src/replay/normalizers/openclaw.ts`
- Create: `src/replay/normalizers/claude.ts`
- Create: `src/replay/normalizers/chatgpt.ts`
- Test: `tests/replay-normalizers.test.ts`

## Task 3: CLI command + integration

**Files:**
- Modify: `src/cli.ts`
- Modify: `src/orchestrator.ts`
- Test: `tests/cli-replay.test.ts`

Command:
- `openclaw engram replay --source <source> --input <path> [--from] [--to] [--dry-run]`

## Task 4: docs and safety guidance

**Files:**
- Modify: `docs/operations.md`
- Modify: `docs/import-export.md`
- Modify: `CHANGELOG.md`

