Repository: harbor-framework/harbor
Issue: Trajectory viewer for non-linear history
Root cause: Unimplemented Feature Gap

ATIF allows the full history to be split and recorded in multiple trajectory files (useful for SFT purpose when there's summarization that breaks linear history).

E.g. if you run `uv run harbor run --agent terminus-2 --model openai/gpt-5 --dataset terminal-bench@2.0 --task-name write-compressor --env daytona --agent-kwarg 'trajectory_config={"raw_content":true,"linear_history":true}' --agent-kwarg 'model_info={"max_input_tokens": 6400}'`, you might get files like these:

Specifically, a `trajectory.json` or `trajectory.cont-{n}.json` might have a root-level `"continued_trajectory_ref"` that points to the next trajectory.

[trajectory.cont-1.json](https://github.com/user-attachments/files/24140793/trajectory.cont-1.json)
[trajectory.cont-2.json](https://github.com/user-attachments/files/24140794/trajectory.cont-2.json)
[trajectory.cont-3.json](https://github.com/user-attachments/files/24140795/trajectory.cont-3.json)
[trajectory.cont-4.json](https://github.com/user-attachments/files/24140796/trajectory.cont-4.json)
[trajectory.json](https://github.com/user-attachments/files/24140797/trajectory.json)
[trajectory.summarization-1-answers.json](https://github.com/user-attachments/files/24140798/trajectory.summarization-1-answers.json)
[trajectory.summarization-1-questions.json](https://github.com/user-attachments/files/24140799/trajectory.summarization-1-questions.json)
[trajectory.summarization-1-summary.json](https://github.com/user-attachments/files/24140800/trajectory.summarization-1-summary.json)
[trajectory.summarization-2-answers.json](https://github.com/user-attachments/files/24140801/trajectory.summarization-2-answers.json)
[trajectory.summarization-2-questions.json](https://github.com/user-attachments/files/24140802/trajectory.summarization-2-questions.json)
[trajectory.summarization-2-summary.json](https://github.com/user-attachments/files/24140803/trajectory.summarization-2-summary.json)
[trajectory.summarization-3-answers.json](https://github.com/user-attachments/files/24140804/trajectory.summarization-3-answers.json)
[trajectory.summarization-3-questions.json](https://github.com/user-attachments/files/24140805/trajectory.summarization-3-questions.json)
[trajectory.summarization-3-summary.json](https://github.com/user-attachments/files/24140806/trajectory.summarization-3-summary.json)
[trajectory.summarization-4-answers.json](https://github.com/user-attachments/files/24140807/trajectory.summarization-4-answers.json)
[trajectory.summarization-4-questions.json](https://github.com/user-attachments/files/24140808/trajectory.summarization-4-questions.json)
[trajectory.summarization-4-summary.json](https://github.com/user-attachments/files/24140809/trajectory.summarization-4-summary.json)
[trajectory.summarization-5-answers.json](https://github.com/user-attachments/files/24140815/trajectory.summarization-5-answers.json)
[trajectory.summarization-5-questions.json](https://github.com/user-attachments/files/24140816/trajectory.summarization-5-questions.json)
[trajectory.summarization-5-summary.json](https://github.com/user-attachments/files/24140817/trajectory.summarization-5-summary.json)

_Originally posted by @li-boxuan in https://github.com/laude-institute/harbor/issues/143#issuecomment-3649126507_
            

@digitsisyph FYI in case you are interested