runCli(argv: readonly string[],deps: CliDependencies): Promise<number>
Parses argv, runs the requested command, and returns its exit code.
Never terminates the process — src/main.ts owns the single Deno.exit, so
every path here is testable.
deps: CliDependencies
Filesystem, working directory, clock, and output sinks