I don't think tools are the problem, but rather the process is.
I think it's a false idea the dev envinronment should cater to all stakeholders and parties of the process. Maintainting the theory of the system is one of the most important things but I'm really sceptical an IDE and a tool based process can do it for us.
Yes, there should be preferably only one place and way to do a particular thing but that does not mean they have to be all bound to the same tool.
I.e. the algorithm development you described in your example used completely unnecessary gaps in the communication. If the expert and you had reserved time with a whiteboard or a google hang out and ironed out the bugs right there without this nonsense going through the formal code review process it would have been much easier for all parties.
If your boss wants to participate in the process and does not trust you enough that so he needs to doublecheck on every trivial detail I would call that micromanagement. Or, he can join in the discussion when it is going on if he can have valid input into it. Otherwise he should trust you to do the right thing, and if he wants to check up on things the revision history in the spec document (or just v1 and v2 of the spec) should be sufficient combined with the code changes.
If the boss wants to doublecheck on everything or the process requires that all communication related to code changes (including that quick discussion you had with the chief architect at the urinals) is stored then the problem is in the process that is too heavy with non-value-adding baggage and no tool can fix it.
Storage of the spec should be formalized, code review should be formalized, but not all communications and work related to data that is input into these system should and can be formalized.
I think the idea that tools will fix the process is a faulty idea - the process needs constant vigilance from human participants and tools can only facilitate it. Expert work can be incredibly value adding but it needs to be first and foremost built on trust between individuals and clear ownership of responsibilities. Final products can and need to be bound to formal constraints - the process needs rigor on an individual level but not anal-retentive overseeing over every minutiae.