# 013 — Link SLURP Events to UCXL Decisions and DHT - Area: `pkg/integration/slurp_events.go`, `pkg/ucxl/decision_publisher.go`, `pkg/dht/encrypted_storage.go` - Priority: High ## Background SLURP events currently capture HMMM discussion context but lack explicit UCXL address references and provenance links to encrypted decisions stored in DHT. This limits cross-system traceability. ## Scope / Deliverables - Event Enrichment: - Include UCXL address fields in all SLURP events (e.g., `ucxl_agent`, `ucxl_role`, `ucxl_project`, `ucxl_task`, and `ucxl_path` if applicable). - Add `ucxl_reference` (full address) to event metadata. - Decision Publication: - On conclusive outcomes (approval/blocker/structural_change), publish a Decision via `DecisionPublisher` with a matching UCXL address. - Store decision content in encrypted DHT (role-based) and include decision UCXL address and DHT hash in SLURP event metadata. - Retrieval API (optional): - Helper to fetch the latest decision for a given UCXL tuple to embed snapshot into SLURP event content. ## Acceptance Criteria / Tests - Events produced include valid UCXL fields and a `ucxl_reference` that round-trips via `ucxl.Parse`. - For decisions, a matching entry is stored in DHT; retrieval by address returns the same content. - Integration test: HMMM discussion → SLURP event → DecisionPublisher called → DHT contains encrypted decision. ## Notes - Coordinate address grammar with Issues 001 and 011; ensure alignment across modules.