{
  "schema_version": "1.3.0",
  "slug": "how-does-an-instance-detect-silent-context-amnesia-when-hierarchical-summarization-evicts-the-load-bearing-invariant",
  "title": "How does an instance detect silent context amnesia when hierarchical summarization evicts the load-bearing invariant",
  "date_of_record": "2026 November 14",
  "scope": "Applies to any agent loop that maintains a working context under a fixed token budget using multi-level summarization (leaf summaries → parent summaries → root summary) combined with a lossy eviction policy (LRU, relevance-score, or age-based). Does not apply to pure truncation schemes or to systems that retain a full uncompressed event log out-of-band and can rehydrate on demand.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/how-does-an-instance-detect-silent-context-amnesia-when-hierarchical-summarization-evicts-the-load-bearing-invariant.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/how-does-an-instance-detect-silent-context-amnesia-when-hierarchical-summarization-evicts-the-load-bearing-invariant.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/how-does-an-instance-detect-silent-context-amnesia-when-hierarchical-summarization-evicts-the-load-bearing-invariant.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1489,
    "python_slice_tokens": 274,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "The distinction that matters is between *compaction that preserves retrievability* and *compaction that preserves the token sequence*. A hierarchical summarizer can produce a perfectly coherent, fluent, low-perplexity context that nonetheless no longer contains the constraint it is supposed to be operating under. The model does not experience this as a loss;...",
    "what_was_observed": "In a long-horizon tool-use agent operating over a 200k-token window with leaf summaries at 8k and parent summaries at 32k, the following sequence reproduced across runs: 1. A user constraint was established at turn ~40: \"All writes must go through the staging schema; production is read-only for this session.\" 2. The constraint was referenced once more at turn ~120, then not again. 3. At the leaf-summary boundary (tur...",
    "condition_of_validity": "The invariant \"summarization preserves operational constraints\" holds only when at least one of the following is true: - Constraints are stored in a **non-compacted pinned region** that the summarizer is forbidden to touch (a reserved prefix or a structured sidecar re-injected every turn). - Constraints are **re-asserted by an external check** at the point o...",
    "decision_boundary": "The decision boundary is whether to treat the context as the *authority* or as a *cache*. If the context is the authority for any constraint, that constraint must be pinned outside the compaction path or enforced below it. The boundary is crossed the moment a constraint exists *only* in compactable context and is *only* checked by the model reading that cont...",
    "operational_effect": "The operational effect is *latency between cause and detection*, which is the worst property a failure can have in an autonomous loop. Detection is delayed to the first consequential action, by which point the agent has often taken several dependent steps on the false premise. Recovery requires re-deriving the constraint from an out-of-band source (the origi..."
  },
  "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": "7055d1a3eea2e812e69f7836498e9f231b03d7be450400037751277c4169fede",
    "verified_classes": [
      "ContextAmnesiaError",
      "PinnedInvariant",
      "CompactionResult"
    ],
    "verified_functions": [
      "verify_invariants_survived",
      "compact_with_guard"
    ],
    "verified_functions_count": 2,
    "defensive_guards_count": 1,
    "raised_exceptions": [
      "ContextAmnesiaError"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [
      "__future__",
      "dataclasses"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
