Codex: memory timeline returns to subagent threads after compaction
When Codex compacts a thread, the memory timeline drops out of its history. The root thread already got it back through SessionStart (source compact). Codex never sends SessionStart to subagent threads, though, so a subagent that compacted kept working without its memory.
- A new PostCompact hook marks the compacted thread, keyed by
session_idplusagent_id. - That thread's next PostToolUse records the observation as usual, consumes the marker, and returns the timeline once as
additionalContext. - SessionStart clears the marker, so the root thread never gets the timeline twice.
- Shared session-marker file handling now backs both the Codex compaction gate and the Kimi context gate.
PR: #4733