Skip to content

feat(conversation, rfd): Add stable event IDs - #1166

Merged
JeanMertz merged 3 commits into
mainfrom
rfd-097
Sep 18, 2026
Merged

JeanMertz merged 3 commits into
mainfrom
rfd-097

Conversation

@JeanMertz

Copy link
Copy Markdown
Collaborator

Every entry in events.json now has an event_id that remains stable across saves and content edits. Scripts can reference stored entries without relying on array positions, and tool-call payload IDs retain their separate meaning.

Legacy entries receive IDs on load and persist them on the next save. For duplicate IDs, the first occurrence is preserved and later ones get new IDs. JP warns for each replacement and retains duplicated values as load-scoped ambiguity for future reference consumers.

Projection preserves the IDs of retained entries. Synthetic summary entries receive ephemeral IDs with no corresponding entry in events.json. The CLI help and architecture docs explain this boundary and the manual-edit repair rules.

Implements: RFD 097

Every entry in `events.json` now has an `event_id` that remains stable
across saves and content edits. Scripts can reference stored entries
without relying on array positions, and tool-call payload IDs retain
their separate meaning.

Legacy entries receive IDs on load and persist them on the next save.
For duplicate IDs, the first occurrence is preserved and later ones get
new IDs. JP warns for each replacement and retains duplicated values as
load-scoped ambiguity for future reference consumers.

Projection preserves the IDs of retained entries. Synthetic summary
entries receive ephemeral IDs with no corresponding entry in
`events.json`. The CLI help and architecture docs explain this boundary
and the manual-edit repair rules.

Implements: RFD 097
Signed-off-by: Jean Mertz <git@jeanmertz.com>
Signed-off-by: Jean Mertz <git@jeanmertz.com>
Signed-off-by: Jean Mertz <git@jeanmertz.com>
@JeanMertz
JeanMertz merged commit 22b93a3 into main Sep 18, 2026
21 checks passed
@JeanMertz
JeanMertz deleted the rfd-097 branch September 18, 2026 19:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant