C.3.A:4.3 - Guard_TypedJoin — compose typed producers and consumers
Intent. Compose producer A, which declares output kind k_A, with consumer B, which expects input kind k_B.
Guard_TypedJoin(A, k_A, edition_A; B, k_B, edition_B; TargetSlice) SHALL:
- pin both declaration episteme editions;
- establish output-to-input compatibility in the covariant flow direction:
- the kinds are identical or
SubkindOfObtains(k_A, k_B; effectiveReferenceScheme)holds; or - for a bridged flow, an obtaining KindBridge maps
k_Ato exact, independently identified distinct target-side kindk_A', its separate assertion carries the current mapping and loss basis, andk_A'is identical tok_BorSubkindOfObtains(k_A', k_B; targetReferenceScheme)holds;
- the kinds are identical or
- compute serial scope as the intersection of the two governed scopes and require coverage of
TargetSlice; - route bridge consequences to R and check freshness separately; and
- when an actual produced candidate enters B, evaluate
J(candidate, k_B, edition_B, TargetSlice)and continue only ontrue, preservingfalseandunknownseparately from refusal.
Declaration compatibility alone MUST NOT classify a future or actual output. Scope widening MUST NOT repair a type mismatch. The universal-claim variance rule in Guard_TypedClaim does not reverse this producer-to-consumer direction.