Context
Claude's latest review found parser behavior that is technically functional but
surprising for users:
std_run --typo ... treats the typo token as the command name and then fails
as command-not-found.
arg_parse rejects -- as the value for a value-taking option, even though
the option is already known to require the next token as data.
Base is currently the only consumer, so we can tighten the behavior directly.
Scope
- Make
std_run reject unrecognized --* option tokens with a clear error
before command execution.
- Allow
arg_parse value options to accept -- as a literal value.
- Add focused regression tests and update docs if needed.
Validation
- Focused BATS suites for touched libraries.
- Full
./tests/validate.sh.
Context
Claude's latest review found parser behavior that is technically functional but
surprising for users:
std_run --typo ...treats the typo token as the command name and then failsas command-not-found.
arg_parserejects--as the value for a value-taking option, even thoughthe option is already known to require the next token as data.
Base is currently the only consumer, so we can tighten the behavior directly.
Scope
std_runreject unrecognized--*option tokens with a clear errorbefore command execution.
arg_parsevalue options to accept--as a literal value.Validation
./tests/validate.sh.