A Raft is an entity in the Otterspace Protocol that is able to issue Badges. You can think of it as an account that can create new Badge Specs and distribute Badges to individuals. Within the Protocol, a Raft is represented by a transferable ERC721 NFT called a 'Raft Token'. The Ethereum Account holding a Raft Token is the super admin of the Raft.
A Badge Spec is a blueprint of a Badge and contains metadata like a name and image. A single spec can have many Badges issued against it, all of which have the same metadata. For example, the Otterspace 'Early Otter' Badge Spec has 138 Badges issued against it. Every Badge Spec is created by a Raft and references that Raft in its metadata.
A Badge is an ERC4973 non-transferable NFT with a unique token id in the Otterspace Badge collection. Every Badge is associated with a Badge Spec and gets its metadata from that spec. All badges are minted under a single collection