The 2.x line taught the orchestrator to do more: ten trackers, a web UI, a cost economy, forty agents at once. The 3.x line did something quieter, and for anyone who has to answer for a run after the fact, more useful. It made each of those things carry its own proof. "Done" stopped being a status you trust and became an artefact you can recompute.
This is the single round-up for the whole arc, so the trajectory from 2.0 to 3.5.0 reads from one page. The 2.x story (lineage, the tracker family, A2A cards, the output-economy suite) already has its own recaps, linked at the bottom. This one picks up at 3.0 and follows the ten releases that carried the line to 3.5.0. The theme underneath all of them is the same sentence said nine ways: the record is not written next to the work, the record is the work, hashed and signed, and you can hand it to someone who does not trust the orchestrator and they can check it themselves.
one chained record, always on
Before 3.0, lineage was a set of optional per-subsystem logs. Useful, but you had to opt in, and the pieces did not join up into one thing you could verify start to finish.
3.0 collapsed them into a single Ed25519-signed spine. Every step that produces an artefact folds into one chain, and bernstein lineage verify walks the whole thing. The matching change is the one that pays off most often: deterministic replay is now on by default. The step journal is a Merkle chain where each entry hashes its predecessor, the inputs, the model, the prompt, the tool call, and the tool result. bernstein replay --from-step N rebuilds state by walking it.






