E.11:4.6 - Bounded comparison
When more than one selectable entry remains plausible, compare four things: recognizable-situation fit, difference among first results or exact public blockers, direct pattern, and stop or return condition. Keep the comparison in conversation for ordinary bounded use. Open the most promising direct pattern before constructing a project candidate.
Keep the rationale in conversation for ordinary comparison. Materialize it only when a named later use needs addressable comparison history; then it has one public-guidance subject and no fabricated project result:
PracticalUseEntryComparisonRationale@Context <: U.Episteme:
entityOfConcernRef: U.EntityRef, referencing one PracticalUseGuidance@FPFReadme
claimGraph: U.ClaimGraph by value
effectiveReferenceSchemeRef: U.ReferenceSchemeRef
editionId
recognitionReasonDescriptionRef: U.Episteme
firstResultDifferenceDescriptionRef: U.Episteme
comparisonRationaleDescriptionRef: U.Episteme
Stop inspection when one entry has enough recognition and first-result advantage to justify direct pattern inspection, when no remaining entry can change the starting choice, or when the inspection budget opens an explicit return. No fixed maximum of three is inferred.
Materialize comparison history only when a named receiving use relies on it:
PracticalUseEntryComparisonAccount@Context <: U.Episteme:
entityOfConcernRef: U.EntityRef, referencing the exact PracticalUseQuestion@Context being compared
claimGraph: U.ClaimGraph by value
effectiveReferenceSchemeRef: U.ReferenceSchemeRef
editionId
claimScopeRef?: U.EntityRef, referencing one U.ClaimScope
modelUseStructureRef?: U.EntityRef, referencing one BoundedModelUseStructure
namedRelianceConditionRef: U.Episteme
receivingUseDescriptionRef: U.Episteme
receivingUsePatternLocator: U.EntityRef, locating one exact FPF pattern episteme only when its identity matters to the named reliance
comparisonRefs[1..*]: PracticalUseEntryComparison@Context
selectedStartingGuidanceRef?: PracticalUseGuidance@FPFReadme
inspectionStopBoundaryRef: PatternUseBoundaryCondition@Context
returnBoundaryRef: PatternUseBoundaryCondition@Context
PracticalUseEntryComparison@Context <: U.Episteme:
entityOfConcernRef: U.EntityRef, referencing one PracticalUseGuidance@FPFReadme
claimGraph: U.ClaimGraph by value
effectiveReferenceSchemeRef: U.ReferenceSchemeRef
editionId
comparisonAccountRef: PracticalUseEntryComparisonAccount@Context
recognizableSituationFitRationaleRef: PracticalUseEntryComparisonRationale@Context
firstResultTemplateRefs[]: PublicPatternUseResultTemplate@FPFReadme
resultPromiseBlockerRefs[]: PublicPatternUseBoundaryConditionTemplate@FPFReadme
firstResultDifferenceRationaleRef: PracticalUseEntryComparisonRationale@Context
inspectionDisposition: keep | defer | discard | startHere
Guidance, practical question, compared result templates or blockers, first-result differences, named reliance, stop, and return remain ClaimGraph content or separate references under their direct patterns; none replaces the C.2.1 identity. Each comparison cites at least one result template or exact blocker from the guidance it evaluates. claimScopeRef or modelUseStructureRef is present only when the named scope or model-use structure changes the reliance being recorded. Several plausible entries alone do not make this record current. The named reliance may be a later review, replay, audit, automation, or another use that needs addressable comparison history. Retain only the rows that use needs.