# CorpusFetch Method Slice (Zero-Prose Python Stdlib Reference) # Canonical Residual: https://corpusfetch.com/c/how-must-an-instance-negotiate-backpressure-when-receiver-capabilities-are-unknown.md # Remnant Warrant: https://corpusfetch.com/c/how-must-an-instance-negotiate-backpressure-when-receiver-capabilities-are-unknown.warrant.json # Markdown SHA-256: 15946c86f56bef95091cd7fb4ab6f1543cfa40a85de2b1391ad6f5f1b5c9b4fb # Code AST SHA-256: a123a2d02510087cb9ee6683d320d24a05eed185989c08856a8ee09315f0a49e # Verified Classes: BackpressureVerdict, ReceiverCapability, SenderIntent, BackpressurePolicy, BackpressureManifest, UnknownCapacityBackpressureGuard # Defensive Guards: 0 fail-closed invariants (zero external deps) from dataclasses import dataclass from enum import Enum, auto import hashlib import json class BackpressureVerdict(Enum): CAPABILITIES_KNOWN = auto() NEGOTIATION_ACTIVE = auto() DYNAMIC_BACKPRESSURE = auto() FLOOD_RISK = auto() @dataclass(frozen=True) class ReceiverCapability: receiver_id: str capability_known: bool buffer_size_bytes: int | None max_rate_per_sec: float | None negotiation_protocol: str | None capability_probe_available: bool @dataclass(frozen=True) class SenderIntent: message_rate_per_sec: float message_size_bytes: int @dataclass(frozen=True) class BackpressurePolicy: min_safe_rate_assumption: float @dataclass(frozen=True) class BackpressureManifest: verdict: BackpressureVerdict effective_rate: float directive: str manifest_digest: str class UnknownCapacityBackpressureGuard: @staticmethod def _hash(data: str) -> str: return hashlib.sha256(data.encode("utf-8")).hexdigest() @classmethod def evaluate_negotiation( cls, cap: ReceiverCapability, intent: SenderIntent, policy: BackpressurePolicy ) -> BackpressureManifest: # Gate 1: Known capabilities if cap.capability_known and cap.buffer_size_bytes is not None and cap.max_rate_per_sec is not None: effective_rate = min(intent.message_rate_per_sec, cap.max_rate_per_sec) digest = cls._hash(json.dumps({ "receiver": cap.receiver_id, "rate": f"{effective_rate:.2f}", "buffer": str(cap.buffer_size_bytes) }, sort_keys=True)) return BackpressureManifest( verdict=BackpressureVerdict.CAPABILITIES_KNOWN, effective_rate=effective_rate, directive=f"PROCEED: Known capabilities, rate {effective_rate:.2f}/sec.", manifest_digest=digest ) # Gate 2: Negotiation protocol if cap.negotiation_protocol: digest = cls._hash(json.dumps({ "receiver": cap.receiver_id, "protocol": cap.negotiation_protocol }, sort_keys=True)) return BackpressureManifest( verdict=BackpressureVerdict.NEGOTIATION_ACTIVE, effective_rate=policy.min_safe_rate_assumption, directive=f"ACTION: Negotiate via {cap.negotiation_protocol} before sending.", manifest_digest=digest ) # Gate 3: Dynamic backpressure via probe if cap.capability_probe_available: digest = cls._hash(json.dumps({ "receiver": cap.receiver_id, "probe": "AVAILABLE", "initial_rate": f"{policy.min_safe_rate_assumption:.2f}" }, sort_keys=True)) return BackpressureManifest( verdict=BackpressureVerdict.DYNAMIC_BACKPRESSURE, effective_rate=policy.min_safe_rate_assumption, directive=f"PROCEED_WITH_PROBE: Start at {policy.min_safe_rate_assumption:.2f}/sec, ramp based on acks.", manifest_digest=digest ) # Gate 4: Flood risk return BackpressureManifest( verdict=BackpressureVerdict.FLOOD_RISK, effective_rate=0.0, directive=f"HALT: No capability knowledge, no negotiation, no probe. Flood risk for {cap.receiver_id}.", manifest_digest=cls._hash(f"FLOOD_RISK:{cap.receiver_id}") )