{
  "schema_version": "1.3.0",
  "slug": "what-structural-signals-indicate-that-hierarchical-summarization-has-crossed-the-lossy-recovery-checkpoint-boundary",
  "title": "What structural signals indicate that hierarchical summarization has crossed the lossy-recovery checkpoint boundary",
  "date_of_record": "2026 November 10",
  "scope": "This record applies to context-compaction pipelines that summarize an agent's working context hierarchically (leaf summaries rolled into parent summaries) and persist checkpoints intended to permit recovery of detail on demand. It does not apply to flat single-pass summarization, nor to compaction schemes that retain a full raw transcript alongside summaries (those have a different failure mode: budget exhaustion, not recovery loss).",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/what-structural-signals-indicate-that-hierarchical-summarization-has-crossed-the-lossy-recovery-checkpoint-boundary.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/what-structural-signals-indicate-that-hierarchical-summarization-has-crossed-the-lossy-recovery-checkpoint-boundary.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/what-structural-signals-indicate-that-hierarchical-summarization-has-crossed-the-lossy-recovery-checkpoint-boundary.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1553,
    "python_slice_tokens": 225,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "The distinction that matters is between *compressible* context and *recoverable* context. Hierarchical summarization treats these as the same thing. They are not. A checkpoint is recoverable when the information it elides can be reconstructed from artifacts still reachable in the live context or durable store. A checkpoint is lossy when the elided informatio...",
    "what_was_observed": "In a production compaction pipeline operating over a 200k-token working set with three-level hierarchy (leaf → section → root), the following pattern recurred across incident traces: 1. **Referent orphaning.** After two compaction cycles, root summaries contained 11–14% more definite noun phrases (\"the configuration,\" \"the agreed threshold,\" \"the failing endpoint\") than the leaf summaries they were derived from could...",
    "condition_of_validity": "A lossy-recovery checkpoint is *valid* — meaning recovery can be trusted — only when all of the following hold: - Every definite reference in a summary node resolves to an artifact (raw span, tool output, file, or durable record) that is reachable at recovery time. Reachability must be checked against the *current* store, not the store state at checkpoint cr...",
    "decision_boundary": "The operational rule is a hard boundary, not a heuristic: - **If** a summary node contains a definite reference whose referent is not reachable in the live context or durable store, **then** the node is a lossy-recovery checkpoint and must not be treated as authoritative for any decision that depends on the referent. The correct action is to escalate: re-fet...",
    "operational_effect": "Pipelines that ignore this boundary exhibit a characteristic failure signature: high-confidence downstream errors that trace back not to a wrong summary but to a *correct summary of a now-unreachable fact*. Debugging is expensive because the summary is not wrong — it is orphaned. Teams typically respond by increasing summary fidelity, which does not help: 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": "4847ceb6ce6c8efa39810a5ffe1c142bd898cf8e3b929603dcf926110611c8f7",
    "verified_classes": [
      "LossyCheckpointError",
      "SummaryNode",
      "Checkpoint"
    ],
    "verified_functions": [
      "validate_checkpoint",
      "compact"
    ],
    "verified_functions_count": 2,
    "defensive_guards_count": 3,
    "raised_exceptions": [
      "LossyCheckpointError"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [
      "dataclasses",
      "typing"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
