Reading the commit graph
The right-hand rail is a faithful git log --all DAG for the selected change's repository — not a simplified summary of it.
Lanes and topology
Each commit sits in a lane, and lanes track branches as they diverge and rejoin. Branch points and merge commits are drawn as they actually happened, so a merge reads as two lanes converging rather than as a flat list with a label.
Because the graph is built from git log --all, it shows every ref in the repository — not only the branch you happen to have checked out.
Ref decorations
Commits carrying refs — branch heads, tags — are decorated with them, so you can locate a branch tip in the graph without reading hashes.
Day bands
Commits are grouped into day bands, labelled Today, Yesterday, then weekday names for the rest of the week, then absolute dates further back.
The bands make cadence visible at a glance: a wide band is a day with a lot of commits, and a gap is a day without any.
Opening a commit
Click a commit to see the files it changed and their diffs, in the same window — no need to switch to a git client to answer “what was in that one?”
It updates itself
The graph is driven by the same filesystem watcher as the rest of the app. Commit something in your editor and the rail reflects it — there is no refresh button anywhere in SpecForge.