Sweep coilyRoutes: every bare-command deny should inject a routing hint #23
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
coilyRoutesincmd/agent-guard/hook.goenumerates a fixed set of bare commands (aws, gh, kubectl, docker, tailscale, ssh, scp) that get a routing hint when an agent tries them. Every other bare invocation that has a coily wrapper falls through to a vanilla harness deny with no recovery text. Net effect: the agent seesPermission to use Bash with command X has been denied, no mention ofcoily ops Xorcoily exec X, no recovery path. Sister issue: coilysiren/agent-guard#22 (mcporter case).Ask
Sweep coily's full verb surface and make sure every bare command that has a coily wrapper has a
coilyRoutesentry with at least a one-sentence "usecoily <verb>instead" hint. Source of truth iscoily --treeandcoily ops <subcommand>. Examples likely missing today (non-exhaustive, agent should walk the tree):.coily/coily.yamlinstead of a global wrapper)Implementation sketch
Two-tier hint:
coilyRoutesnamingcoily ops <verb>and the wrapper's argv shape..coily/coily.yamland the "Add new verbs to that file before invoking them" rule fromagentic-os-kai/AGENTS.md.Why now
System-improvement bias: "opaque errors are design smells - recovery messages should name the command Kai can dictate next" (agentic-os-kai AGENTS.md). Every uncovered deny is one of those opaque errors. The hook fires anyway, so adding routing text is near-zero cost per entry and saves an agent round-trip per miss.
Out of scope
The harness-level allowlist (settings.json). This is purely about agent-guard's PreToolUse routing-hint coverage.