These docs are under active development and cover the v0.20 Kobicha security model.
§1.1 1 Introduction

Scope

This specification defines the conventions for writing, numbering, versioning, and citing Peios Specification Documents (PSDs). It is the governing document for the Peios spec corpus.

A PSD is a formal specification that defines the normative behavior of a Peios subsystem, data type, protocol, or convention. PSDs are the authoritative source of truth for implementation. Tests and existing code may reveal behavior, but they are not the semantic authority -- where a PSD and an implementation disagree, the PSD is correct and the implementation has a bug.

This specification covers:

  • PSD numbering -- assignment, format, and permanence of PSD identifiers
  • Directory layout -- filesystem conventions for specs, versions, chapters, and sections
  • Versioning -- SemVer synchronisation with Peios software releases, revision counting, lifecycle states, and version resolution
  • Document structure -- chapter, section, and file organisation; required sections; frontmatter; section numbering
  • Normative language -- RFC 2119 keywords, informative blocks, pseudocode conventions, clause numbering
  • Citations -- the § addressing scheme, cross-references within and between specs, version resolution
  • Changelogs -- format and rules for documenting changes between versions
  • Dictionary integration -- term definitions and auto-linking

This specification does not cover:

  • Trail (the static site generator) implementation details -- Trail renders PSDs but is specified separately
  • Conformance tracking -- coverage matrices and conformance reports are implementation artifacts, not spec management
  • Review workflow -- the process by which specs are reviewed and approved is a project convention, not a PSD concern
§1.2 1 Introduction

Terminology

  • PSD (Peios Specification Document): A formally numbered specification in the Peios spec corpus. Each PSD has a permanent numeric identifier and one or more versioned editions.

  • PSD number: A sequential positive integer permanently assigned to a specification. Format in prose: PSD-NNN (zero-padded to three digits). PSD numbers identify specifications, not versions.

  • Version: A specific edition of a PSD, identified by a SemVer string synchronised with the Peios software release it ships with. Versions are sparse -- a PSD may jump from v0.22 to v0.56.1.

  • Revision: The count of how many versions a PSD has had. Derived from the number of version directories. Not stored explicitly.

  • Chapter: A top-level section of a PSD, corresponding to a numbered directory within the version directory. Example: 3-security-descriptors/ is chapter 3.

  • Section: A file within a chapter directory. Example: 2-acls.md within chapter 3 is section 3.2.

  • Subsection: A markdown heading within a section file. ## headings are subsections; ### headings are sub-subsections. Depth is unlimited.

  • Clause: A specific normative statement within a section or subsection. Clause numbers are positional -- derived by counting normative statements sequentially within the most specific section. Cited in parentheses: (1), (2).

  • Normative: Text that defines required, prohibited, or permitted behavior. All text in a PSD is normative unless explicitly marked otherwise.

  • Informative: Text that provides explanation, context, or examples but does not define behavior. Marked with > [!INFORMATIVE] block quotes or introduced with "For example" or "Note:".

  • Version resolution: The rule by which a PSD reference without an explicit version is resolved: the highest version of the referenced PSD whose version number is less than or equal to the version of the referencing document.

  • Trail: The Peios static site generator that renders PSDs. Trail is the primary publication tool but PSDs are designed to be readable and navigable without it.

§1.3 1 Introduction

Conventions

§1.3.1 Normative keywords

The key words MUST, MUST NOT, SHALL, SHALL NOT, SHOULD, SHOULD NOT, and MAY in this specification are to be interpreted as described in RFC 2119.

ⓘ Informative
"MUST" and "SHALL" indicate absolute requirements. "MUST NOT" and "SHALL NOT" indicate absolute prohibitions. "SHOULD" indicates a recommendation that may be departed from in particular circumstances with full understanding of the implications. "MAY" indicates a truly optional feature.

§1.3.2 Section references

Section references within this specification use the § addressing scheme defined in chapter 6. References to other PSDs use the PSD-NNN §x.y.z(n) citation format defined in §6.2.

§1.3.3 Examples

Examples in this specification use the existing Peios spec corpus (KACS, LCS, loregd, peinit, KMES) and hypothetical future specs (GUID, SID) for illustration. The use of a spec name in an example does not imply that a PSD number has been assigned to it.

§1.4 1 Introduction

Prior Art

The PSD conventions draw on established practices from several specification ecosystems.

§1.4.1 IETF RFCs

The RFC series provides the model for permanent numeric identifiers (RFC 2119, RFC 7230) and the use of normative keywords. PSDs adopt RFC 2119 keywords directly.

PSD numbering differs from RFC numbering in that PSD numbers identify specifications across versions, while RFC numbers identify individual documents (a revision of an RFC receives a new number). This reflects the Peios versioning model where versions are refinements, not replacements.

§1.4.2 ISO and W3C standards

The hierarchical section addressing scheme (§chapter.section.subsection) and the separation of clause numbering from section numbering follow conventions used in ISO standards and W3C recommendations.

§1.4.3 Microsoft specifications

The Peios spec corpus is heavily influenced by Microsoft protocol and platform specifications (MS-DTYP, the Windows SDK documentation). The compatibility/parity sections in existing Peios specs follow the pattern of documenting intentional divergences from a reference implementation, which is standard practice in the Microsoft Open Specifications program.

§1.4.4 Existing Peios conventions

Many of the conventions formalised here were already in use across the KACS, LCS, loregd, peinit, and KMES specs before this specification was written. This specification codifies those conventions rather than inventing new ones, and extends them with PSD numbering, clause addressing, changelogs, and lifecycle states that were previously absent.