E.4.PFR:3.2 - Lane 2: optional relation-specific maintenance row
Choose the smallest stable form the named receiver consumes. Use PatternFrameworkRelationRecord when a cross-relation comparison or maintenance index needs common endpoint, relation-function, use, and blocked-reading fields. Use FrameworkEditionDependencyRecord when an edition-impact or refresh receiver needs the relied-on content, dependency reason, direction, and refresh fields. Choose one by default; either form faithfully represents an already identified assertion and creates no relation.
If one named receiver genuinely needs both views, both cite the same subjectAssertionRef, the dependency record cites the generic row through genericRelationRecordRef, and every overlapping value is derived from that assertion. Rebuild both views when the assertion changes; never maintain duplicate facts independently.
PatternFrameworkRelationRecord@Context:
relationId
sourceRef
targetRef
relationFunction
governedUse
subjectAssertionRef?
relationFunctionClaimRef?
dependencyOrEditionEffect?
preservationOrAdmissionRef?
blockedStrongerReading
sourceReturnCondition?
refreshOrSupersessionCondition?
relationFunctionClaimRef, when present, resolves the exact defining or constraining ClaimGraph used by the subject assertion. It is not an owner field, pattern-authority assertion, provenance claim, or actual-use predicate. subjectAssertionRef is present only when the receiver needs stable reference to the exact C.2.1 assertion. Source and target remain the exact endpoints for this relation function; row order creates no direction.
Dependency, specialization, publication, source reuse, quality, access, preservation, admission, and refresh retain their existing semantics. A PFR row translates none into derivation, evaluation, evidence, assurance, permission, authority, Work, or relation occurrence.
Use these companion forms only for their named maintenance receivers:
FrameworkEditionDependencyRecord@Context:
subjectAssertionRef
dependencyPredicateClaimRef
directionConstraintClaimRef
genericRelationRecordRef?
dependentEditionRef
reliedOnEditionRef
reliedOnContentRefs
namedUse
dependencyDirection
dependencyReason
refreshConditionRefs
compatibilityClaimRefs?
FrameworkPackageManifest@Context:
frameworkEditionRef
selectedPatternSetResultRef
relationRecordRefs
dependencyAndEditionRecordRefs
editionStatus
deprecationOrSupersessionRefs?
sourcePackRefs
qualityEvidenceRefs
refreshPlanOrCurrentnessRefs
firstEntryCarrierRefs
blockedRuntimeOrBuildReading
The dependency record mirrors exactly one already stated direct dependency and cites that assertion through subjectAssertionRef. It names one dependent edition, one relied-on edition, the exact content from that relied-on edition, the named use, direction, reason, and refresh conditions as one unit. If one edition has several direct dependencies, write one record per relied-on edition or use a keyed collection of those records; never pair parallel edition and content lists or read them as a cross-product. A useful aggregate is only a projection over those direct records, not a second maintained truth. The record contains no compatibility boundary. compatibilityClaimRefs, when present, points only to a separately stated pairwise compatibility claim because a named maintenance receiver needs that connection. The reference does not create or complete the compatibility claim. genericRelationRecordRef is present only when the same receiver also consumes the generic row; both views derive overlapping values from subjectAssertionRef and refresh together. Deprecation and supersession likewise remain separate assertions; a package manifest may index them when its named maintenance use needs those refs.
The manifest is a package-like index for a domain principle framework or local practice framework when authors actually need one. It indexes whichever generic relation rows or dependency-specific records its named operation consumes; either list may be empty, and one indexed form never requires its duplicate. When the operation genuinely needs both linked views, the manifest may index both without making either a second semantic source. The form of FPF itself uses E.4.FPF and its FPFEditionRebuildabilityRecord. A manifest entry, relation row, identifier, citation, or file path creates neither the referenced object nor any relation.