Shared strict parser for the stable standalone argv contract.
It performs no filesystem or provider work. Each command obtains its strict
switch vocabulary from PtcRunner.Kernel.CommandDeclaration. Duplicate,
unknown, missing, conflicting, and misplaced arguments are rejected in phase
1 without retaining unknown caller input.
Summary
Types
@type frontend() :: PtcRunner.Kernel.CommandDeclaration.frontend()
Functions
@spec parse([binary()], frontend()) :: {:ok, PtcRunner.Kernel.CommandArguments.t()} | {:error, PtcRunner.Kernel.CommandRejection.t()}