bouncer
Predicate-gated rule injection for long-running LLM sessions.
Caps per-prompt injection by trigger_keywords
regex + per-rule embedding prototype, so a 30+ rule library
stays usable without diluting attention. Rules with
deterministic action signatures get promoted out to
PreToolUse / Stop hooks — code that runs before any tool call
or after any response, no LLM interpretation. bouncer is the
residual layer for rules that need conversational judgment.
Two-layer enforcement, same shape as ESLint's autofix/warn
and OPA's deny/alert — borrowed, because it works.
A private companion tool reads agent transcripts and clusters
recurring corrections — that's the discovery loop that decides
which patterns become rules and which rules become hooks.