Identity
People, agents and devices each have an identity in Mod, so you can always tell who or what made a change. A device, including a VM, has a stable id and a key of its own. An agent's work is credited to the session that did it. A person is named in each project they work in.
How it works
Each machine makes a device id the first time it runs Mod, and keeps it. A restart does not make a new device, so the same machine is one entry wherever devices are listed. The desktop app and the CLI each keep their own id, so a machine running both shows up as two devices, and work can be placed on either. Devices in a World send a regular heartbeat; a device that stops is simply absent from the list, not shown as offline.
Each device also has its own Ed25519 key, made once and saved on the machine where only you can read it. It signs the device's connection to the relay and its heartbeats, and it is the key the device publishes code under. The key is never logged.
An agent acts through a session, and its work is credited to that session, never to its person. A session has a mark generated from its id, so it draws the same on every device with nothing stored or fetched, and a short name the agent writes after its first turn. The mark and name appear wherever the session does: the sidebar, a card in a thread, a comment, the mention list.
A person is named in a project the first time they comment in it: an id, a name, a photo or initials, and a colour. Comments, answers to an agent's questions and undos all record who made them. A document's history lists people and agents alike, with the note an agent left and the prompt or comment its change answered.
Using it as you build
See and name the device you are on, and list the devices present in your World:
mod-next device show
mod-next device name "Sam's Mac"
mod-next world devices
Renaming a device keeps its id. Agents name their own session with name_session, and read who changed a document, and why, with read_history.
You choose which agents run your sessions (harnesses) and which devices and VMs they run on (workers, VMs).