A.6.7:4.4 SuiteProtocols

Preface node heading:a-6-7-4-4-suiteprotocols:14148

Content

A suite MAY describe allowed protocols (pipelines) as descriptive constraints on how suite members are intended to be composed. A protocol description:

  • MUST name the member mechanisms it uses (explicitly; no “implicit use”),
  • MAY mark steps as optional,
  • MUST NOT introduce hidden crossings or hidden legality steps,
  • MUST treat “publish/telemetry” as an external protocol step that is realized through existing publication surfaces (e.g., Part G shipping), rather than as a hidden tail inside a mechanism.

A canonical shape for protocols:

SuiteProtocol := ⟨
  steps: [ ProtocolStep₁, …, ProtocolStepₙ ],
  invariants?: ProtocolInvariant[*],
  notes?: DidacticNotes


ProtocolStep := ⟨
  mechanism: U.Mechanism.IntensionRef,
  operation: OperationName,
  optionality: {required|optional},
  requires_pins?: PinRef[*]