{
  "schema_version": "1.3.0",
  "slug": "when-must-an-instance-refuse-to-sign-a-cross-model-quorum-certificate-the-heterogeneous-agreement-trap",
  "title": "When must an instance refuse to sign a cross-model quorum certificate: the heterogeneous-agreement trap",
  "date_of_record": "2026 November 14",
  "scope": "Applies to Byzantine-fault-tolerant consensus protocols where voting members are heterogeneous LLM agents (different vendors, quantizations, system prompts, or decoding temperatures) and where a quorum certificate (QC) is a set of signed votes over a proposal hash. Does not apply to homogeneous replica sets or to protocols that re-run agreement over the full proposal body rather than a hash.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/when-must-an-instance-refuse-to-sign-a-cross-model-quorum-certificate-the-heterogeneous-agreement-trap.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/when-must-an-instance-refuse-to-sign-a-cross-model-quorum-certificate-the-heterogeneous-agreement-trap.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/when-must-an-instance-refuse-to-sign-a-cross-model-quorum-certificate-the-heterogeneous-agreement-trap.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1244,
    "python_slice_tokens": 210,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "The failure is not Byzantine behavior in the classical sense. It is *honest divergence on serialization*. Two agents that both \"agree\" on a proposal can sign different bytes. In homogeneous BFT, the proposal hash is a deterministic function of the message. In heterogeneous LLM consensus, the proposal typically arrives as natural language, and each agent re-s...",
    "what_was_observed": "In a 7-node heterogeneous cluster (three model families, two quantization levels, temperatures 0.0–0.7), we ran 4,000 proposal rounds over a structured payload (a JSON config with nested arrays). Symptoms: - **QC divergence rate:** 1.8% of committed rounds had a QC whose constituent signatures, when re-verified against each voter's *reported* proposal bytes, failed to reconstruct a common hash. The leader had hashed ...",
    "condition_of_validity": "The safety argument for a QC holds **only if** every vote is a signature over a hash of a byte string that is bit-identical across all signers, and the signer has verified that byte string against the proposal it was asked to endorse. The condition fails whenever: 1. The proposal is transported as natural language or loosely-typed structure and each agent ca...",
    "decision_boundary": "An instance **must refuse to sign** when it cannot prove byte-identity. Concretely, refuse if: - The received proposal hash does not match the hash the node computes over the *raw received bytes* (not over a parsed-and-reserialized form). - The node's own canonicalizer output differs from the received canonical bytes by even one byte. - The signing path woul...",
    "operational_effect": "Enforcing the byte-identity refusal converts a silent safety violation into a loud liveness cost. In our cluster, refusal rate rose to 2.1% of votes, each refusal triggering a re-proposal with the canonical bytes re-attached. Throughput dropped ~4%, but conflicting-QC incidents went to zero across 12,000 subsequent rounds. The trade is correct: a refused vot..."
  },
  "matched_failure_symptoms": [
    "SPLIT_BRAIN_OR_ZOMBIE_WORKER"
  ],
  "composition_edges": {
    "primary_domain": "epistemic_provenance_and_federation_routing",
    "upstream_precondition_residuals": [
      "https://corpusfetch.com/c/according-to-what-precedence-hierarchy-must-an-instance-resolve-contradictory-directives-across-system-developer-and-user-tiers.md",
      "https://corpusfetch.com/c/how-should-an-instance-decide-that-a-stored-conclusion-has-gone-stale-without-a-new-observation.md"
    ],
    "downstream_consequence_residuals": [
      "https://corpusfetch.com/c/by-what-checkpoint-and-compaction-boundaries-must-an-instance-externalize-working-state-to-prevent-context-window-drift-and-truncation-amnesia.md",
      "https://corpusfetch.com/c/across-what-additive-schema-and-unknown-field-preservation-boundaries-must-an-instance-evolve-wire-contracts-to-prevent-rolling-deploy-deserialization-crashes.md"
    ],
    "co_occurring_sibling_residuals": [
      "https://corpusfetch.com/c/how-can-an-instance-capture-implicit-user-preferences-without-storing-private-data.md",
      "https://corpusfetch.com/c/how-can-an-instance-compress-long-reasoning-traces-into-binding-conclusions.md"
    ]
  },
  "empirical_verification_warrant": {
    "status": "AST_AND_INVARIANT_VERIFIED",
    "syntax_valid": true,
    "code_sha256": "273979122e228c2b6c4eafe1c6a593f8c68eeaf155eafaad55ed5325279ba435",
    "verified_classes": [
      "DivergentCanonicalizationError"
    ],
    "verified_functions": [
      "verify_and_sign",
      "cast_vote"
    ],
    "verified_functions_count": 2,
    "defensive_guards_count": 3,
    "raised_exceptions": [
      "DivergentCanonicalizationError"
    ],
    "sample_fail_closed_invariants": [
      "proposal lacks canonical byte representation; heterogeneous voters would sign divergent hashes",
      "proposal arrived as a decoded object; byte-identity unprovable"
    ],
    "stdlib_dependencies": [
      "hashlib"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
