1.1 Scope

This document defines the Peios Generic System Standards (PGSS): the cross-platform protocols and standards a system MUST implement in order to be Peios.

A standard belongs in this document when three things are true of it.

It is a conformance requirement. A system that does not offer the protocol, at the specified path, with the specified semantics, is not Peios. Each standard here is a bar to clear, not a recommendation to weigh.

It belongs to no implementation. A PGSS standard describes a contract between two roles, not the behaviour of a particular program. Mainline ships an implementation of each role; nothing in this document depends on that implementation, or describes it.

Either role may be replaced. A third party MAY ship its own implementation of one role — or of both — and interoperate with the other unchanged. A standard that cannot survive that substitution is a description of one system rather than a contract between two, and does not belong here.

For each standard, this document covers:

  • the channel it is offered on, and the access control governing it
  • message framing, encoding, and the rules under which the format may be extended
  • the messages exchanged, their fields, and the order in which they are exchanged
  • the obligations binding on each role, including what a role MUST establish for itself rather than believe from a message
  • the conformance requirements for each role

This document does not cover:

  • How an implementation reaches the answers it gives — that is precisely what different systems exist to do differently
  • The binary structures these protocols carry — defined in PCDS
  • Protocols spoken across the kernel boundary — defined in PSPK
  • Protocols between foundational userspace components — defined in PSPU
  • Interfaces particular to one Mainline component — defined in the specification of the component that offers them

1.1.1 Distinguishing a standard from a protocol #

The anthology's three protocol documents are told apart by what happens when you disagree with one.

Disagreeing with a standard in this document means shipping something that is not Peios.

Disagreeing with PSPK or PSPU means shipping a system built from different parts — a different kernel subsystem, or a different set of userspace components. That is a design choice, not a conformance failure.

Edit this page