You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[FEATURE] preserve historical timestamps when ingesting archived transcripts
#2042
Type: feature / enhancement request (re-filed from maintainer's own PR during backlog cleanup)
Summary
Thread the original timestamp from JSONL transcript entries through the full observation pipeline so archived sessions get their real dates, not the import time
Add resolveEntryTimestamp() to TranscriptEventProcessor that checks schema-configured fields and common JSONL timestamp paths
Add override_timestamp_epoch to ObservationData, PendingMessage, and the /api/sessions/observations endpoint
PendingMessageStore.enqueue() uses the override timestamp for created_at_epoch when provided, falling back to Date.now()
Motivation
When importing archived transcript JSONL files (e.g., from ~/.claude-mem-backup/archives/), all observations were stamped with the current time instead of their original dates. This made historical session data useless for timeline queries and date-based search.
Test plan
Import an archived JSONL transcript and verify observations get the original timestamps from the entries
Verify live transcript ingestion still uses current timestamps (no override provided)
Verify the worker API accepts and correctly stores override_timestamp_epoch
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Type: feature / enhancement request (re-filed from maintainer's own PR during backlog cleanup)
Summary
timestampfrom JSONL transcript entries through the full observation pipeline so archived sessions get their real dates, not the import timeresolveEntryTimestamp()toTranscriptEventProcessorthat checks schema-configured fields and common JSONL timestamp pathsoverride_timestamp_epochtoObservationData,PendingMessage, and the/api/sessions/observationsendpointPendingMessageStore.enqueue()uses the override timestamp forcreated_at_epochwhen provided, falling back toDate.now()Motivation
When importing archived transcript JSONL files (e.g., from
~/.claude-mem-backup/archives/), all observations were stamped with the current time instead of their original dates. This made historical session data useless for timeline queries and date-based search.Test plan
override_timestamp_epoch🤖 Generated with Claude Code
Re-filed as an issue during the April 2026 backlog cleanup. Original: #1699
All reactions