Roots are now tickets with no dependents (nobody depends on them —
top-level goals), and the ASCII tree traverses dependency edges so
prerequisites appear indented beneath the goal that needs them.
JSON edges are now {from: dependent, to: dependency} rather than
{from: blocker, to: blocked}.
All graph-related unit and integration tests updated to match the
new semantics.
Closes#668150
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 668150: Fix graph orientation: show goals at root, prerequisites as leaves
- 06ca62: Fix nbd graph <id>: show ancestry path through ticket, not just subtree
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>