A.19.SOURCE-SET-SPACE-SUBSTRATE:4.3 - Substrate declaration laws (SS-0..SS-7)
Preface node
heading:a-19-source-set-space-substrate-4-3-substrate-declaration-laws-ss-0-ss-7:23883
What this page is
This is generated FPF reference text from the specification preface or supporting sections. It helps interpret FPF; it is not FPF Reference product documentation.
Methodology
Use it to understand how the specification wants to be read, then return to a route, pattern, or work packet for active work. Cite generated IDs only when the wording changes the task decision.
Content
SS-0 - One substrate line, one explicit stack. Treat a line as declared substrate only if one recoverable source-set basis, two recoverable space refs, one explicit ref-to-ref relation kind, one explicit source-to-outcome relation, and one explicit posture are present together.
SS-1 - Ref typing is preserved.
SearchSpaceRef and OutcomeSpaceRef must resolve to declared A.19 CharacteristicSpace. They do not become parallel space kinds, slot aliases, or role claims.
SS-2 - Source-set recoverability is mandatory.
The reader must be able to recover not only the source-set family but, when several same-family source sets or set results are simultaneously live, the concrete declared source set or set result through SourceSetRef? or one cited neighboring governing pattern that uniquely identifies it.
SS-3 - Relation requirement must be explicit.
SourceToOutcomeRelation is conforming only when direction, mode, and carrier are explicit enough to tell what is related to what, through which carrier/relation mode, and through which declared interpretive qualifier.
SS-4 - Posture honesty is mandatory.
DistortionPosture must say whether the line is transparent for current use or qualified by loss, metric/model dependence, transition dependence, uncertainty, learning/adaptation, or instability under refresh. The line may not hide qualification in atmospheric prose.
SS-5 - Conditional and qualifier fields stay subordinate.
SourceSetComposition, DerivedViewKind, BasePaletteRef, OutcomeMapRef, SpaceMetricRef, TransitionRelationRef, and BridgeDistortionNote may clarify the substrate, but they do not replace the core stack and do not become mandatory everywhere.
SS-6 - Publication and policy stay outside. Publication metadata, shortlist identity, live-pool policy, and enactment policy remain neighboring decisions. A substrate line may feed them, but it does not decide them.
SS-7 - Admission is fail-closed.
If the source set cannot be recovered, either space ref is unresolved, SpaceRefRelationKind cannot be chosen honestly, relation direction, mode, or carrier remains vague, or posture remains unclassified, then the line is not yet a declared substrate. Keep it as a working gloss or move it to the governing pattern that can close the missing requirement.
Last Updated: 2026-06-08 — upstream FPF commit 093d30e8 (github.com/ailev/FPF)