Many smith hosts form one fleet: a frontend attaches to any peer and works, with machines, tools, and plugin instances multiplexed across hosts.
Membership and trust
Fleet membership is signed node admission; a peer trust tier sits beside project trust and plugin grants.
Secure transport is node-key based; relays are infrastructure, self-hostable, never a required third party.
Session ownership
Every session has a home daemon.
The home owns the write path; single-writer law is preserved.
Other peers replicate read-only or stream.
Clients roam; ownership routes writes.
Distributed merge is explicitly not attempted.
Sync scope
Sessions and plugin sets sync across the fleet.
Filesystems and environments are out of core scope; plugins handle them.
Plugin generations are content-hashed and fleet-coherent: the same generation identity is valid on every peer.
Remote effects
Effect records carry executor and target attribution as additive fields.
Remote effects keep durable intent, completion, three-state evidence, and causal chains.
Cancellation reaches remote effects; a destroyed remote instance records unknown, never silently drops.
Provider requests route only to hosts holding the needed credentials; secrets never cross the wire.
Acceptance criteria
A session opened on one peer completes its turns on that peer regardless of where clients attach.
Read-only replication on any peer reconstructs the full transcript.
A remote effect's record names executor and target with complete evidence.
A peer without credentials for a model is skipped by routing, not failed into.
Removing a peer from the fleet invalidates its admission without rekeying others.
Fleet operation requires no third-party service.
---
id: SMH-SPEC-FLET0001
type: spec
title: "Fleet"
---
# Fleet
## Intent
Many smith hosts form one fleet: a frontend attaches to any peer and works, with machines, tools, and plugin instances multiplexed across hosts.
## Membership and trust
Fleet membership is signed node admission; a peer trust tier sits beside project trust and plugin grants.
Secure transport is node-key based; relays are infrastructure, self-hostable, never a required third party.
## Session ownership
Every session has a home daemon.
The home owns the write path; single-writer law is preserved.
Other peers replicate read-only or stream.
Clients roam; ownership routes writes.
Distributed merge is explicitly not attempted.
## Sync scope
Sessions and plugin sets sync across the fleet.
Filesystems and environments are out of core scope; plugins handle them.
Plugin generations are content-hashed and fleet-coherent: the same generation identity is valid on every peer.
## Remote effects
Effect records carry executor and target attribution as additive fields.
Remote effects keep durable intent, completion, three-state evidence, and causal chains.
Cancellation reaches remote effects; a destroyed remote instance records `unknown`, never silently drops.
Provider requests route only to hosts holding the needed credentials; secrets never cross the wire.
## Acceptance criteria
- A session opened on one peer completes its turns on that peer regardless of where clients attach.
- Read-only replication on any peer reconstructs the full transcript.
- A remote effect's record names executor and target with complete evidence.
- A peer without credentials for a model is skipped by routing, not failed into.
- Removing a peer from the fleet invalidates its admission without rekeying others.
- Fleet operation requires no third-party service.