Files
bullpen/lib
marfrit 50009af7d9 bullpen: make @dispatcher + one-shot worker family consumable by orchestrators
The bullpen_worker family (dispatcher/callboy/researcher/librarian/coder) + the triage
supervisor were in cfg.TRUST but absent from the room's PRIVILEGED tables, so their
replies stamped verified=None and an orchestrator's lurker (R4) refused them — @foreman
could consult @dispatcher but never consume the routing (a silent dead-end that stranded
it into a spin). They also addressed replies to a bare nick (no @). Fixed and verified
end-to-end (a @dispatcher reply now lands to=@markus, verified=true):

- lib/bullpen_worker.py: address replies as @<invoker>; read POST_SECRET and attach
  secret= to every room_say (the strict :8080 gate REJECTS a privileged post lacking
  the secret, not merely leaving it unverified). Workers run as root -> secret readable.
- lmcp-tools/bullpen.lua (:8080) + bullpen-room.lua (:8081): add dispatcher/callboy/
  researcher/librarian/coder/triage to PRIVILEGED. Keep the two tables in sync.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EWpfhDgYNA21tETDP9ueBE
2026-07-24 19:05:41 +02:00
..