The prompt shaping RichInput used to do now lives here, where it belongs, and
gets a graph while it moves. PromptShortcut grows a children[] adjacency list:
a shortcut listed as someone's child only appears — and only contributes its
line — while that parent is on, so 'Open PR' can hang off 'Commit & push' and
a smoke-test note off 'Deploy'. It is a DAG, not a tree: several parents may
reach the same child (drawn once, under the first that reveals it), and the
traversal carries a visited set so a hand-made cycle terminates.
lib/guidelineDag owns it: visibleGuidelines() derives the chips (with depth)
from the graph plus the live selection, guidelineLines() turns that selection
into prompt lines — including the guidelineOff branch for a visible-but-off
either/or — and defaultGuidelineIds() seeds the default-on cascade so the
composer's first paint shows what it would send. richComposer maps the result
onto the now-generic RichTag and rebuilds the prompt in richComposePrompt.
Settings gains the nesting: a child card is indented under its parent, a
collapsed card says what reveals it and what it reveals, and a 'Nested under'
chip row edits the edges (descendants excluded, so the graph stays acyclic).
Deleting a shortcut also cuts the edges pointing at it, and a v1 store
migration re-seeds the shipped links onto built-ins persisted before the DAG.
Needs @gabvdl/ui 0.31.0.