Third costume of one bug, and the reporter's diagnosis is better than my two
fixes: neither version knew what a quoted string was. Matching anywhere became
matching after any boundary character, which moved the false positive rather
than removing it.
All three occurrences fired on PROSE ABOUT THE RULE — a probe that echoed the
command, and two commit messages describing the feature, one in each session.
That is worse than an ordinary false positive: a refusal that fires on writing
about a command teaches people to rephrase until it stops, and an agent that has
learned to rephrase past one refusal has learned it about all of them. One of us
did exactly that to land a commit, and said so rather than quietly.
The contents of every quoted string are now blanked before the command is split,
the quotes kept so the surrounding shape survives. Eight cases locked in a test:
four invocations refused, four pieces of prose let through.
Also here, two corrections to the release before this one, which went out with a
failing HelpTest I should not have pushed past. HelpTest carried its own copy of
the option-name parse, so fixing one half left the halves disagreeing — there is
now a single reader, Help::nameOf, used by both.