///|
/// One line on a Loci engine's stdin JSONL stream: what a surface asks the
/// engine to do.
///
/// The reverse direction of `Event`, and deliberately much smaller. A surface
/// drives inhabitation and asks for reads; everything else it learns by
/// watching the event stream.
pub(all) enum Command {
  /// Enter `locus`, producing `Entered`.
  Enter(locus~ : String)
  /// Ask for one locus's residue chain, producing `TrailListed`.
  Trail(locus~ : String)
  /// Ask for every locus and its last visit, producing `Located`.
  Locate
  /// File `residue` and close the session, producing `ResidueFiled`.
  Sign(residue~ : Residue)
  /// Abandon the work in flight but keep the engine alive.
  Interrupt
  /// Finish the stream and exit, producing `Finished`.
  Shutdown
} derive(Eq, Debug)