Files
codex/codex-rs/core/tests
Tom Wiltzius 737f4fe3aa Unify thread metadata updates above store
Make the ThreadStore contract coherent: append_items is now a raw canonical
history append, and update_thread_metadata is the single metadata write API.
ThreadStore implementations no longer infer metadata by inspecting appended
rollout items.

LiveThread now owns the live append flow. It applies the rollout persistence
policy before writing JSONL history, observes the canonical items with a small
ThreadMetadataSync helper, and sends the derived facts back through
update_thread_metadata. ThreadManager becomes the single app-facing metadata
entrypoint, routing loaded threads through LiveThread and cold threads directly
to the store.

LocalThreadStore preserves the local compatibility requirements inside the
local implementation. SQLite, when available, receives explicit metadata
updates. JSONL and name-index compatibility are still maintained for explicit
metadata mutations such as rename, memory-mode, and git changes, so old rollout
files and SQLite-less local storage remain readable.

RolloutRecorder is reduced to local JSONL writing for thread-store appends.
The shared rollout persistence policy remains in codex-rollout, but recorder no
longer owns live metadata synthesis. The added thread-store README captures the
new ownership boundaries for future remote and local implementations.
2026-05-12 13:17:13 -07:00
..