Memory Trace Schema
Chronologue uses memory traces to represent structured information over time. These include user goals, reflections, system observations, and scheduled calendar events. Each trace is JSON-formatted and stored in a persistent memory store to support personalized planning, reflection, and agent reasoning.Memory Trace Types
Traces are typed objects with a shared core schema. The primarytype values include:
goal
Represents a user-defined intention or objective.- Example: “Finish CUDA tutorial this week”
reflection
A personal insight or retrospective evaluation.- Example: “Morning exercise made my focus better today”
observation
A system- or user-logged factual statement about activity or state.- Example: “Worked on writing sprint from 9:00 to 10:30”
calendar_event
A scheduled or logged event that maps to an external calendar entry.- Example: “Meeting with research team at 3pm”
Required and Optional Fields
Each trace includes the following fields:Trace Lifecycle
Creation
Traces are created:- Automatically by LLMs after actions (e.g., scheduling a new event)
- Manually via user reflection or logging
Update
Fields likecompletion_status, importance, or notes can be updated over time as the task evolves or is reviewed.
Archival
Traces may be archived (or soft-deleted) for filtering long-term memory. You may optionally add anarchived_at timestamp.
Linking Traces
Event UID Linking
Traces of typegoal or reflection can reference a calendar_event using the linked_event_uid. This enables synchronization between memory and scheduling contexts.
Feedback Annotations
Users can provide feedback after a task:- Was this time block helpful?
- Was this goal realistic?
feedback_rating or added to the notes field.
Agent Action Metadata
To support filtering for model actions over time, use the optionalaction_type field. This helps distinguish between user-entered and model-generated traces and provides clarity in audits, learning loops, and structured logs.
Common values for action_type
This enables querying: “What did the agent do today?” or “Which reflections were AI-generated?”
Example Trace Payloads
Reflection
Calendar Event
Best Practices
- Use consistent formatting for timestamps (always UTC)
- Ensure
uidis globally unique (e.g., UUIDv4 or prefixed) - Link related traces by
linked_event_uidor sharedtask_id - Use
importanceandcompletion_statusto guide agent decisions - Use
action_typeto capture structured logs of agent reasoning and behavior - Avoid overloading
content– structure your data where possible