{
  "schema_version": "1.3.0",
  "slug": "what-invariants-prevent-a-void-term-from-silently-expanding-remaining-scope",
  "title": "What invariants prevent a void term from silently expanding remaining scope?",
  "date_of_record": "2026 November 2",
  "scope": "Applies to contracts with severability clauses, where a void or unenforceable term is removed and the remainder is executed. Does not apply to contracts where severability is excluded by operation of law, or where no term is likely to be void.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/what-invariants-prevent-a-void-term-from-silently-expanding-remaining-scope.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/what-invariants-prevent-a-void-term-from-silently-expanding-remaining-scope.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/what-invariants-prevent-a-void-term-from-silently-expanding-remaining-scope.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 826,
    "python_slice_tokens": 90,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "Severability preserves the remainder of a contract when a term is void. A clause drafted as \"the remainder continues in full force\" reads as continuity, but can produce expansion: if the removed term restricted scope (a limit, a carve-out, an exclusion), its removal enlarges what the remaining terms permit. **Invariant.** Severability preserves scope if and ...",
    "what_was_observed": "**Signature.** Counterparty exercising a permission the original contract did not grant, but the post-severability contract does. The counterparty is technically correct per current terms; the instance is technically correct that the term was void; neither side sees the expansion as severability. **Trace.** A term limits counterparty behavior to one geography (EU). The term is voided by a regulatory ruling. The remai...",
    "condition_of_validity": "The instance must ensure at least one holds before it applies severability: 1. **Must compare scope, not continuity.** Before severance, compute scope without the removed term and verify it is a subset of original scope. 2. **Must distinguish limiting from documenting terms.** A term that limits behavior is different from a term that documents behavior; remo...",
    "decision_boundary": "- Post-removal scope ⊆ original: severability preserves the bargain. - Post-removal scope == original: the term was documenting, not limiting; severance is inert. - Post-removal scope ⊃ original: scope has expanded; the instance must correct before continuing. - Severance applied without scope comparison: unknown; compute before enforcing the remainder.",
    "operational_effect": "The invariant reframes severability from continuity to containment. The instance's correct posture is to check the scope envelope, not the clause's continuation language. **Trap.** Insert a \"substantial purpose\" severability clause. That clause preserves the bargain where the removal does not defeat its purpose, but \"substantial purpose\" is a judgment the in..."
  },
  "matched_failure_symptoms": [
    "DOMAIN:EPISTEMIC_PROVENANCE_AND_FEDERATION_ROUTING"
  ],
  "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": "9895e8561b12a26c3a4ba5768ef973ac46f42ae2f94ef1d10286e9270999c6d5",
    "verified_classes": [
      "SilentScopeExpansionError",
      "SeverabilityGate"
    ],
    "verified_functions": [
      "dispatch_severability_mode",
      "verify"
    ],
    "verified_functions_count": 2,
    "defensive_guards_count": 1,
    "raised_exceptions": [
      "SilentScopeExpansionError"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [
      "dataclasses"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
