Skip to content

iFlow

iFlow stores its durable conversation as project JSONL. Hansard enforces the single structural cohort found across the 104 stable releases that contain this writer instead of treating inherited Gemini-era prompt logs as complete sessions.

Source Use it for
iflow iFlow project transcripts and compaction records.

Hansard scans exact projects/<project>/session-<uuid>.jsonl journals. A bare inner session id is not produced by the audited writers and fails closed. The importer validates the append-only record forest, orders records by their source timestamps with physical order as a tie-breaker, and replays user and assistant text, user images, exactly linked tool calls and results, and compaction records. Content on both sides of a context compaction remains part of the archived conversation instead of being replaced by the summary alone. Identical tool-call parts repeated by the writer’s incremental stream snapshots are counted once, while conflicting repeats fail closed.

Shared Gemini-era prompt logs and echoed slash commands do not define a full iFlow conversation, so the importer does not promote them into extra sessions. Unknown or malformed transcript-bearing records fail the candidate instead of being skipped. Empty semantic records, provider caveats, and slash-command echoes are counted with explicit exclusion reasons. Project attribution uses the recorded working directory; the project folder name remains only a lossy grouping hint. The exact accepted JSONL bytes and detected cohort are preserved for raw replay. Reimporting updates the same durable session when its transcript has grown.

Terminal window
hansard import --source iflow --since all
hansard index rebuild

After the import finishes, open Conversations and selectFilter & sort. Set Source toiFlow, choose the backfill window underTime, and use Folder when the same harness appears in several projects. Select a result to inspect its messages, tool calls and results, files, commits, model and usage fields, and source provenance in one conversation view.

For a local source that should stay current, open Settings → Indexing & Imports. Automatic follows detected local harnesses; Custom lets Sources scannedselect an explicit set. Explicit cloud and account-export sources do not turn into background network jobs here. If the expected result is absent after resetting the conversation filters, return to the terminal import in this guide and add --explain-skips where supported.

  • User and assistant text, user images, tool calls and results, and compaction boundaries.
  • History before compaction rather than retaining only the latest context.
  • Working-directory attribution and source timestamps recorded in the journal.
  • Exact source bytes, detector facts, and record accounting for raw replay.
  • Interactive iFlow runs currently write empty usage values, so their token totals remain zero rather than being estimated.
  • Gemini-era logs.json prompt history has no assistant turns and is not imported as a second conversation.
  • Slash-command echoes recorded as assistant output are excluded from visible turns.
  • The five audited prompt-only releases before the project journal writer do not provide a complete session transcript and are not imported as one.

Parser suffix 2 requires a clean source reimport so existing sessions receive the strict cohort and source-snapshot metadata:

Terminal window
hansard import --source iflow --since all
hansard index rebuild