Parse source files and emit the execution plan as JSON

Usage: barca plan [FILES]...

Arguments:
  [FILES]...  Python files or directories to read (default: every .py file under the project root that imports barca; see `barca docs discovery`)

Options:
  -h, --help  Print help

Examples:
  barca plan                          # the whole project
  barca plan pipeline.py              # phases and steps that would run; nothing executes
  barca plan pipeline.py other.py     # several files form one DAG

Output: always pretty-printed JSON {total_steps, phases: [{reason, streams: [{stream_id, steps}]}]}.
`reason` is an object: {"type": "initial"} or {"type": "fan_in", "node_id": ...}.
Planning is static analysis: it never imports your code or reads state, so it takes no --env.
Experimental: the layout may change between releases (barca docs contract).
More: barca docs agents
