///|
/// 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)