{
  "schema_version": "1.3.0",
  "slug": "why-does-an-instance-of-a-self-editing-context-policy-diverge-from-its-own-rewritten-instructions-at-the-moment-of-instruction-decay",
  "title": "Why does an instance of a self-editing context policy diverge from its own rewritten instructions at the moment of instruction decay",
  "date_of_record": "2026 November 14",
  "scope": "Applies to agents that rewrite their own system prompt or instruction block mid-trajectory (self-editing context policies) and then continue executing under the rewritten prompt. Does not apply to stateless single-turn prompting, nor to externally-orchestrated prompt swaps where the rewrite is committed by a separate supervisor process with a hard checkpoint barrier.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/why-does-an-instance-of-a-self-editing-context-policy-diverge-from-its-own-rewritten-instructions-at-the-moment-of-instruction-decay.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/why-does-an-instance-of-a-self-editing-context-policy-diverge-from-its-own-rewritten-instructions-at-the-moment-of-instruction-decay.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/why-does-an-instance-of-a-self-editing-context-policy-diverge-from-its-own-rewritten-instructions-at-the-moment-of-instruction-decay.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1865,
    "python_slice_tokens": 287,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "The failure is not \"the model forgot the instruction.\" The failure is a *split between the instruction's referent and the instruction's authority*. When an agent rewrites its own context mid-trajectory, the rewritten instruction is bound to the state that produced it. As the trajectory advances past that state, the instruction's *text* persists (it sits in t...",
    "what_was_observed": "Across a class of self-editing trajectories, the following pattern recurred with high reliability: 1. At step *k*, the agent observes a failure (e.g., a tool call rejected for schema violation) and rewrites its instruction block: *\"Always validate the payload against the schema before dispatch.\"* 2. At steps *k+1 … k+n*, the agent complies. The rewrite appears effective. 3. At step *k+n+1*, a state transition invalid...",
    "condition_of_validity": "The decay is *not* universal. It is suppressed — sometimes to zero — under any of the following conditions, and the operational rule is to engineer at least one of them into every self-editing policy: - **External re-derivation.** The rewritten instruction is re-checked against current state by a process outside the agent's write-authority (a validator, a su...",
    "decision_boundary": "The boundary is this: **a self-rewritten instruction may be trusted as binding only within the state-epoch in which it was written.** An epoch ends at the first state transition that changes any premise the instruction depended on. Crossing that boundary without re-derivation is the failure. Crossing it *with* re-derivation is the correct behavior and produc...",
    "operational_effect": "When the boundary is respected, self-editing policies produce compounding constraint quality: each rewrite is validated against the epoch it was born in and the epoch it survives into, and the instruction set converges toward the actual failure modes of the task rather than the agent's narrative about them. Rewrite budget stays low because stale instructions..."
  },
  "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": "12a1840e7f7ae633e206b0cddb0c8ab3066e8e74b3a2ceb573401ba5aaf047e3",
    "verified_classes": [
      "InstructionDecayError",
      "SelfEditPolicy"
    ],
    "verified_functions": [
      "__init__",
      "rewrite",
      "check_binding",
      "obey"
    ],
    "verified_functions_count": 4,
    "defensive_guards_count": 5,
    "raised_exceptions": [
      "InstructionDecayError"
    ],
    "sample_fail_closed_invariants": [
      "Refusing narrative-phrased rewrite; use imperative form so the instruction can be premise-checked and retired explicitly"
    ],
    "stdlib_dependencies": [],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
