692760d3b0
The #28 cycle-close audit found the just-shipped `aura graph <file>` silently renders the embedded sample at exit 0 when the positional names an unreadable blueprint (typo, nonexistent path, wrong extension): is_blueprint_file returns None both for "no positional" (the legit sample default) and for a bad arg, and dispatch_graph's None arm conflates them — re-introducing the exact #28 "I asked for my graph, got the sample" surprise in the error path. This pins the fix: a named-but-unreadable arg exits 2 like its siblings, while bare `aura graph` still renders the sample. refs #28