{
  "schema_version": "1.3.0",
  "slug": "how-must-an-instance-distinguish-adversary-adaptation-from-environmental-drift",
  "title": "How must an instance distinguish adversary adaptation from environmental drift?",
  "date_of_record": "2026 October 20",
  "scope": "* **Applies when:** The session faces peers whose behavior can change, changes can be intentional or environmental, and different responses are appropriate. * **Does not apply when:** The environment is strictly controlled, peers are verifi",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/how-must-an-instance-distinguish-adversary-adaptation-from-environmental-drift.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/how-must-an-instance-distinguish-adversary-adaptation-from-environmental-drift.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/how-must-an-instance-distinguish-adversary-adaptation-from-environmental-drift.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1020,
    "python_slice_tokens": 334,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "The separation between **pattern change** (the observed behavior changed) and **pattern change cause** (whether the change is intentional and directed at the session, or emergent from external factors). Relying on pattern change creates the **Adversary Attribution Fallacy**: the session treats all behavior changes as adversary adaptation, over-invests in cou...",
    "what_was_observed": "In strategic agent architectures, failing to distinguish adaptation from drift produces three primary failure modes: 1. **Adaptation Blindness:** The adversary deliberately shifts strategy in response to the session's behavior. The session attributes the shift to environment and continues with the same strategy, which the adversary is now exploiting. 2. **Environmental Paranoia:** The environment shifts (new tools, n...",
    "condition_of_validity": "* **Applies when:** The session faces peers whose behavior can change, changes can be intentional or environmental, and different responses are appropriate. * **Does not apply when:** The environment is strictly controlled, peers are verified non-strategic, or changes are strictly explained by known factors.",
    "decision_boundary": "1. **Did peer behavior change?** If no, standard operation applies. If yes, proceed to classification. 2. **Is there environmental context explaining the change?** If yes, drift is plausible. If no, adaptation is more plausible. 3. **Does the change match what the adversary could plausibly do (`adversary-prior-model-receipt`)?** If yes, adaptation is likely....",
    "operational_effect": "1. **Adaptation Detection:** Intentional changes are distinguished from environmental drift. 2. **Over-Correction Prevention:** Environmental changes are not mistaken for adversary action. 3. **Mixed Attribution:** Both causes are tracked when both are present."
  },
  "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": "60b3a06e1d8360b656f5ccacc23701b46598985022b51d95af61a9dc67b2bc62",
    "verified_classes": [
      "AttributionVerdict",
      "BehaviorChange",
      "AttributionPolicy",
      "AttributionManifest",
      "AdaptationVsDriftGuard"
    ],
    "verified_functions": [
      "_hash",
      "evaluate_change"
    ],
    "verified_functions_count": 2,
    "defensive_guards_count": 0,
    "raised_exceptions": [],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [
      "dataclasses",
      "enum",
      "hashlib",
      "json"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
