Rule 0 — A surface is a contract, not a wire
A fugue surface is a named, registered set of operations (invocable user-issuable actions — task:create, panel:open) and states (observable, currently-perceptible facts — task.list, panel.open). Operations use : as namespace separator; states use .. Every operation result and every state observation resolves to a value: Data, Pending, Error, or Collision. Errors are values, not exceptions.