finalize-end ran the disk grace and the broker re-observation as a child of the wrapper; TERM to the wrapper left it running, and at the deadline it still closed the job and published the error (codex R1, reproduced with the real registry). The bash loops it replaced ended with the wrapper. The wrapper now passes its own pid (--watch-pid "$$", as for the stall watcher). finalize-end checks it every 0.2 s through both waits and before the close and the event, and leaves without either once it is gone. A comparison test sends TERM to the old and the new wrapper inside each grace: both exit at once, leave no process behind and make no call. Also: no blank line at the end of the old-decisions fixture, and the #42 inventory follows main() one line down. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
multi-agent-mux-delegate-job 스킬
작업(Job)을 자율 에이전트(claude-code/hermes/agy/grok-build/codex/opencode/human)에게 위임하고 MQTT
이벤트 채널로 비동기 관찰하는 범용 에이전트 협업 스킬. 시작점은 SKILL.md.
- 프로토콜/스키마:
job-protocol.md - 브로커 PoC→운영 전환:
mqtt-broker-setup.md - 레지스트리 포맷/동시성:
registry.md - 참조 구현:
multi-agent-mux-delegate-job(bash wrapper),scripts/publish_event.py,scripts/job_subscriber.py,scripts/registry.py,scripts/mqtt_common.py - v4.3.0 이후: 위
scripts/*.py는 호환 shim이며 실제 구현은.agents/skills/lib_py/delegation/에 있다 (issue #5 phase 1). 스크립트 경로와 CLI 계약은 그대로이며,lib.sh헬퍼는python -m lib_py.delegation.cli를 호출한다. - 영구 감사 로그:
.mam/delegate_job_logs/<job_id>/(meta.json·events.ndjson·status.json) —multi-agent-mux-delegate-job logs <id>또는multi-agent-mux-delegate-job logs --list로 조회 (SKILL.md "Audit Logs" 참조)