a850cc95ae
- lurker: opt-in reply-waking via ~/<nick>_lurker/.wakereplies (WAKE_TYPES gains
"reply"). The default {ask,chat} wake set is reply-deaf, which deadlocks any
orchestrator running dispatch -> END TURN -> worker-reply-wakes-me (@foreman sat
waiting for a wake event the lurker filtered away). Loop-safe: from==NICK guard +
opt-in-only.
- grinder: _resolve_test_rel now matches .test.js / absolute JS spec paths, and
serve() derives GRIND_REPO from an absolute spec's directory. The JS runner
(test_kind/run_tests) already existed but the coordinator's ticket parser knew
only tests/*.py and *_test.go, so every @jsdev ticket was silently bounced.
- docs/ORCHESTRATION.md: agent-readable onboarding for the room/lurker/grinder/
dispatcher wake + trust protocols, with the three 2026-07-24 failure modes worked.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EWpfhDgYNA21tETDP9ueBE