get_compression_lineage's forward walk accepted any non-branch child as the compression continuation. Delegate subagent rows (_delegate_from) and tool-tagged rows (source=tool) created before the real continuation were picked as the lineage successor, so the lineage — and session .md export built on it — followed a subagent's transcript instead of the actual conversation continuation. Rename _is_branch_child_row to _is_explicit_fork_child_row, treat _delegate_from and source=tool rows as explicit forks alongside _branched_from, and require _is_compression_child_row in the forward walk instead of merely excluding branches. Sliced from PR #79024 by @RyderFreeman4Logos (the cache-scope portion of that PR is tracked separately in #79017). |
||
|---|---|---|
| .. | ||
| test_append_messages_batch.py | ||
| test_aux_usage_accounting.py | ||
| test_conversation_root.py | ||
| test_get_anchored_view.py | ||
| test_get_messages_around.py | ||
| test_resolve_resume_session_id.py | ||
| test_restore_alternation_repair.py | ||
| test_session_archiving.py | ||
| test_session_md_export.py | ||
| test_session_read_state.py | ||