Specifications are detailed descriptions of how parts of the Replicante ecosystem integrate with each other and what can be expected of each component. Using specifications a component can interact with another knowing what can be requested and what side effects can be expected as a result.
For example the agent specification defines:
Specifications include much more detail that this example of course and cover far more aspects of the components they describe.
Agents are proxies to store nodes. Replicante defines an agent specification to ensure there is a place for management features:
Platforms allow Replicante to interact with the infrastructure layer.
No need to care where nodes run or how they are provisioned/deprovisioned: platforms are here to abstract all that.