Skip to content

Usage operands: narrow the [options] command guard to a closed vocabulary - #159

Open
sadigaxund wants to merge 2 commits into
mainfrom
r12/usage-operands
Open

sadigaxund wants to merge 2 commits into
mainfrom
r12/usage-operands

Conversation

@sadigaxund

Copy link
Copy Markdown
Collaborator

Narrows the round-6 [options] command ambiguity guard so a bare operand behind [options] is refused only when its earliest word is a closed-vocabulary command placeholder or carries a repetition marker, and records nfsidmap's || usage alternation as S-175 without fixing it. The guard was refusing 60 tools' real operands to protect the six apt tools whose operand genuinely is the word command.

Sweep numbers, full PATH, 2324 tools, against cf5912f:

  • 95 positionals gained across 60 tools. Zero flag losses, zero flag gains, zero subcommand movement, zero positional losses. All nine control tools byte-identical on their #fp2 records: git, gcc, aarch64-linux-gnu-g++-13, ar, pnpm, systemctl, tar, find, docker.
  • apt, apt-cache, apt-cdrom, apt-config, apt-ftparchive and apt-get appear nowhere in the diff, so none of the six gained a fabricated command positional. gcc keeps its own file... tail refused through the repetition-marker half of the test.
  • Gains read against each tool's own raw --help: jarsigner gains jar-file and alias, xkbcomp gains input-file and output-file, ntfscp gains device, src_file and dest_file, mariadb-dump gains database and tables, llvm-objcopy-18 gains input and output, mkswap gains device and size, pivot_root gains new_root and put_old, lcf gains dest_file and src_dir.
  • nfsidmap's || alternation reads 1 tool on a raw-shape grep over the frozen capture set, so nothing ships for it. S-152 was re-measured and declined: the proxy count names makedeltarpm and ntfscp as false positives on the exact three-plain-word test a fix would use.

The whole effect of this branch is invisible to the flag and subcommand columns, which both read zero. It is measurable only through the positional column that ships in the harness branch.

sadigaxund and others added 2 commits September 13, 2026 21:04
…bulary

A bare operand behind [options] now reaches the tree unless the word is
a command-table placeholder (command/subcommand/cmd/action/verb) or
carries a repetition marker. Recovers lcf, ntfscp, ffplay, split-file-18,
the ntfs/btrfs/xfs families and more; apt's six tools and gcc stay
refused.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Raw grep over audit/queue-captures finds 1 tool, below the five-tool
floor. Adds a measurement-only detector and notes the gap on nfsidmap's
two passing fixtures without demoting them to xfail.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant