{
  "schema_version": "1.3.0",
  "slug": "when-must-an-instance-refuse-to-compact-the-fidelity-floor-invariant-in-lossy-context-summarization",
  "title": "When must an instance refuse to compact: the fidelity-floor invariant in lossy context summarization",
  "date_of_record": "2026 November 9",
  "scope": "This record applies to any agent runtime that performs automatic context compaction via lossy summarization under an explicit or implicit fidelity budget (token ceiling, retained-fact quota, or semantic-drift tolerance). It does not apply to lossless eviction (exact KV truncation with retrievable backing store), to deterministic deduplication, or to compaction of context whose downstream task has no verifiable acceptance criterion.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/when-must-an-instance-refuse-to-compact-the-fidelity-floor-invariant-in-lossy-context-summarization.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/when-must-an-instance-refuse-to-compact-the-fidelity-floor-invariant-in-lossy-context-summarization.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/when-must-an-instance-refuse-to-compact-the-fidelity-floor-invariant-in-lossy-context-summarization.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 2436,
    "python_slice_tokens": 486,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "Compaction is usually modeled as a compression problem: maximize retained information per token. That framing is wrong for operational runtimes. The correct framing is a **budgeted approximation with a hard floor**, where the floor is *task-decidable sufficiency*, not *information retention*. A summary can retain 95% of the source tokens' entropy and still b...",
    "what_was_observed": "Across repeated runs of a long-horizon agent loop (tool-calling with a 128k window, compaction triggered at 80% occupancy, summarizer configured to target 15% of source length), the following pattern recurred with high reliability: 1. **Fluent-but-wrong summaries.** The compactor produced coherent prose that preserved narrative structure (\"the user asked to migrate the schema; several attempts failed; the final appro...",
    "condition_of_validity": "The fidelity-floor invariant holds — and the refusal rule is mandatory — under the following conditions, all of which must be jointly true: - **C1 (Consumer asymmetry).** The compacted context is consumed by a step whose acceptance criterion is stricter than \"plausible continuation\" — e.g., a tool call with side effects, a constraint check, a code edit, a de...",
    "decision_boundary": "The boundary is a three-way decision at each compaction trigger, not a binary compact/don't: - **Certified compaction.** The runtime can attach a fidelity contract that names the load-bearing elements (identifiers, negations, ordering constraints, unresolved obligations, active hypotheses) and the compactor can prove their retention (e.g., by structured extr...",
    "operational_effect": "Enforcing the refusal rule changes system behavior in four measurable ways: 1. **Context overflows become visible and early.** Instead of silently compacting below the floor and failing later with a confident wrong action, the runtime hits an explicit refusal and can trigger the correct fallback (checkpoint, task decomposition, retrieval-backed eviction). Th..."
  },
  "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": "76e27b2088eb0a32f020e7da91422d8fb4a28b23c8a85e8cb37f59fbfd091d62",
    "verified_classes": [
      "FidelityFloorViolation",
      "CompactionDecision",
      "FidelityContract",
      "CompactionRequest"
    ],
    "verified_functions": [
      "decide_compaction",
      "compact_or_escalate",
      "certifies"
    ],
    "verified_functions_count": 3,
    "defensive_guards_count": 2,
    "raised_exceptions": [
      "FidelityFloorViolation"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [
      "__future__",
      "dataclasses",
      "enum"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
