(defcomp ()
  (~docs/page :title "ActivityPub"
    (~docs/note
      (p "Honest note: ActivityPub wire format is JSON-LD, not sx. This documents how AP integrates with the sx rendering layer."))
    (~docs/section :title "AP activities" :id "activities"
      (p (~tw :tokens "text-stone-600")
        "Rose Ash services communicate cross-domain writes via ActivityPub-shaped activities. Each service has a virtual actor. Activities are JSON-LD objects sent to /internal/inbox endpoints. RSA signatures authenticate the sender."))
    (~docs/section :title "Event bus" :id "bus"
      (p (~tw :tokens "text-stone-600")
        "The event bus dispatches activities to registered handlers. Handlers are async functions that process the activity and may trigger side effects. The bus runs as a background processor in each service."))))
