# 017 — HMMM Adapter Wiring and Tests in BZZZ - Area: `pkg/hmmm_adapter/`, `pubsub/`, coordinator - Priority: Medium ## Background We need a minimal adapter that lets HMMM publish raw JSON to per‑issue topics using BZZZ pub/sub, plus tests. This enables per‑issue rooms without imposing BZZZ envelopes. ## Scope / Deliverables - Adapter: - Implement a small bridge with hooks to `JoinDynamicTopic(topic)` and a `PublishRaw(topic, payload)` helper. - Path: `pkg/hmmm_adapter/adapter_stub.go` (scaffold added). - PubSub: - Add a `PublishRaw(topic, payload []byte) error` helper that publishes bytes without BZZZ `Message` envelope. - Ensure `JoinDynamicTopic` idempotently joins per‑issue topics. - Tests: - Adapter unit tests (scaffold added) verifying join and publish calls. - Optional pubsub integration test with a loopback topic. - Integration: - Initialize the adapter + HMMM Router in main and/or coordinator; start using `router.Publish` for HMMM messages. ## Acceptance Criteria / Tests - `go test ./...` passes, including adapter tests. - Per‑issue publish path works in a development run (seed message appears on `bzzz/meta/issue/`). ## Notes - Next issues: persistence/indexing (HMMM 004), SLURP wiring (HMMM 005).