This is not just branching.
Branching forks from a specific point in time.
Compacting preserves the current source of truth from the whole conversation while discarding obsolete context.
The problem is not that users need another chat.
The problem is that long-running chats accumulate stale context, and the model may keep paying attention to decisions that have already been reversed.
Additional use cases where this would be especially valuable:
- Hallucination correction / invalidated context cleanup
In long chats, the assistant may make an incorrect claim, the user corrects it, and the conversation continues. However, the original incorrect answer still remains in the thread and can continue to pollute context.
A compaction feature should not simply summarize everything that was discussed. It should distinguish between:
- active facts and decisions
- superseded decisions
- invalidated assistant claims / hallucinations
- user corrections that should become the new source of truth
Invalidated claims should not be carried forward as usable context. The compacted thread should preserve the corrected fact and explicitly exclude the hallucinated answer.
This is different from ordinary summarization. The goal is not to preserve the full conversation history. The goal is to preserve only what remains valid.
- Travel planning
Travel planning conversations often change direction many times:
- different cities are considered and rejected
- dates change
- budget changes
- hotels or flights become unavailable
- the user changes priorities
- earlier recommendations may no longer apply
A compacted new chat could carry forward only the final itinerary, confirmed constraints, remaining open decisions, and rejected options with reasons. This would be much cleaner than continuing a long thread full of outdated travel assumptions.
- Coding / debugging
In coding sessions, many hypotheses are explored and later disproven. The assistant may suggest a cause, the user tests it, and it turns out to be wrong. Later, the real cause is found.
A clean compacted thread should preserve:
- the confirmed root cause
- the current patch direction
- files already changed
- tests already run
- known failed approaches
- remaining tasks
It should not continue to treat disproven debugging hypotheses as relevant context.
- Research and analysis
In research-heavy chats, the user may compare many sources, reject weak evidence, correct factual mistakes, and refine the thesis over time. A normal branch does not solve this, because useful conclusions may appear near the end while invalid assumptions may exist in the middle.
Compaction would let the user create a clean research state:
- verified facts
- unresolved claims
- discarded sources or weak arguments
- current thesis
- open questions
- next research steps
- Writing / planning / product work
For long writing, strategy, or product planning conversations, decisions often evolve. Earlier outlines, names, requirements, or priorities may become obsolete. Continuing the same thread can cause the model to keep referencing old directions.
A compacted thread could preserve the current source of truth:
- final direction
- accepted structure
- active requirements
- discarded alternatives
- tone/style decisions
- next draft actions
The main issue is not conversation length alone. The issue is stale or invalid context surviving after the user has already moved on.
A useful mental model:
Branching preserves the timeline.
Compaction should preserve validated context.
Suggested behavior:
- create a new chat from the current conversation
- generate an editable handoff summary first
- separate active context, superseded context, and invalidated context
- carry over relevant files/artifacts where possible
- make the compacted summary the new thread’s source of truth
- keep a link back to the original conversation for provenance
This would help long-running ChatGPT workflows stay accurate after decisions change, assumptions are rejected, or hallucinations are corrected.