::
::::  /hook/core/radio/sur
  ::
!:
|%
++  audience  (map station delivery)                    ::  destination/state
++  atlas  (map ship status)                            ::  presence map
++  command                                             ::  effect on party
  $%  [%design (pair span (unit config))]               ::  configure/destroy
      [%publish (list thought)]                         ::  originate
      [%review (list thought)]                          ::  deliver
      [%ping (map station presence)]                    ::  declare status
  ==                                                    ::
++  config                                              ::  party configuration
  $:  sources=(set station)                             ::  pulls from
      cordon=(each (set ship) (set ship))               ::  white/blacklist
  ==                                                    ::
++  cousin  (pair ship span)                            ::  domestic flow
++  delivery  ?(%pending %received %rejected %released) ::  delivery state
++  human                                               ::  human identifier
  $:  true=(unit (trel ,@t (unit ,@t) ,@t))             ::  true name
      hand=(unit ,@t)                                   ::  handle
  ==                                                    ::
++  partner                                             ::  foreign flow
  $%  [%twitter p=@t]                                   ::  twitter
  ==                                                    ::
++  presence   ?(%hear %talk)                           ::  status type
++  report                                              ::  unified rush/rust
  $%  [%house (set span)]                               ::  meta-changes
      [%grams (pair ,@ud (list telegram))]              ::  thoughts
      [%group (pair atlas (map station atlas))]         ::  presence
      [%config config]                                  ::  reconfigure
  ==                                                    ::
++  serial     ,@uvH                                    ::  unique identity
++  station    (each cousin partner)                    ::  interlocutor
++  status     (pair presence human)                    ::  participant
++  speech                                              ::  party action
  $%  [%own p=@t]                                       ::  @ or /me
      [%exp p=@t q=(unit tank)]                         ::  program output
      [%say p=@t]                                       ::  normal line
      [%inv p=ship q=span]                              ::  invite to
  ==                                                    ::
++  statement  (pair ,@da speech)                       ::  when this
++  telegram   (pair ship thought)                      ::  who which whom what
++  thought    (trel serial audience statement)         ::  which whom what
--