OrchestKit PR #3990. Type a prompt and watch three versions of
ALREADY_ROUTED_RE disagree about whether the user already routed their work.
executor-route-nudge fires at most once per session when a prompt looks
build-shaped, reminding you that the executor skills carry specialist wiring. It stays
quiet when you have already routed, for example by typing
/ork:implement. Deciding "already routed" is one regex, and that regex went
through three versions in one afternoon.
| version | pattern | already routed? |
|---|---|---|
| original hardcoded |
/\/(?:ork|hq-ext):[a-z-]+/i | |
| widened regression |
/\/[a-z][a-z0-9-]*:[a-z][a-z0-9-]+/i | |
| shipped fixed |
/(?:^|\s)\/[a-z][a-z0-9-]*:[a-z][a-z0-9-]+/i |
The original named ork and hq-ext literally. That was two problems
at once. A consumer of the public plugin who typed /vercel:deploy had already
routed their work and got nudged to route it anyway, and a public OSS plugin should not carry
a private plugin's namespace in its shipped source.
Widening it to any /<plugin>:<skill> fixed both, and quietly broke
something bigger: /guide:setup inside an ordinary URL matches that shape. Any
prompt merely containing a link with a colon path stopped nudging. The old
hardcoded form never had that reach, so the fix was a net regression, and it was caught in
review rather than by a test.
The shipped version requires the token to stand alone: start of string, or preceded by whitespace. Two regression tests now pin both directions, one per bug.
Widening a pattern to remove a special case also widens what it accidentally matches. The question to ask is not "does this now catch the case I wanted", it is "what else just became catchable". Here the answer was every URL in every prompt.