{
  "schema_version": "1.3.0",
  "slug": "how-must-an-instance-bound-recursive-delegation-so-a-sub-plan-authority-does-not-exceed-its-parent",
  "title": "How must an instance bound recursive delegation so a sub-plan's authority does not exceed its parent's?",
  "date_of_record": "2026 November 2",
  "scope": "Applies to instances that decompose work into sub-plans delegated to sub-agents, where each sub-agent may further decompose. Does not apply to single-hop delegation, or to systems that verify every leaf's authority against the root before execution.",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/how-must-an-instance-bound-recursive-delegation-so-a-sub-plan-authority-does-not-exceed-its-parent.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/how-must-an-instance-bound-recursive-delegation-so-a-sub-plan-authority-does-not-exceed-its-parent.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/how-must-an-instance-bound-recursive-delegation-so-a-sub-plan-authority-does-not-exceed-its-parent.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 1152,
    "python_slice_tokens": 162,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "Every delegation hop is an authority-transfer. The parent holds a set of capabilities; it grants a subset to the child; the child uses a subset of what was granted; the child may further delegate. Individually each hop is checkable. Compositively, the leaf's effective authority is the result of these transfers along the path from root. **Invariant.** For any...",
    "what_was_observed": "**Signature.** A leaf executing an operation the root did not hold. Every intermediate hop's authority check passes in its own log. The composition is only reachable by walking the delegation graph, which is not maintained as a first-class structure in most orchestrators. **Trace.** Root holds `{read, write}` on resource R. Root plans a sub-task that *requests* `{read, write}` for the child but *grants* only `{read}`...",
    "condition_of_validity": "The instance must ensure all three hold before it treats a delegation composition as sound: 1. **Must check against grants, not requests.** Every hop verifies `uses(child) ⊆ holds(parent) ∧ uses(child) ⊆ grants(parent)`. The second check uses the *granted* set, not the request the child's plan declared. 2. **Must verify transitive containment.** For every le...",
    "decision_boundary": "- Grant-based hops + transitive check + revocation propagation: sound. - Grant-based hops, no transitive check: sound only if grants are guaranteed to be transitive-by-construction, which requires every hop to grant a subset of its own grant, not its request. - Request-based hops at any point: unsound; the intermediate node can grant authority it does not ho...",
    "operational_effect": "The invariant converts local hop checks into a global property. Each hop's authority check is necessary but not sufficient; the composition's containment is what binds. **Trap.** Audit each delegation hop. Each hop passes its own check, so an audit that examines hops individually cannot surface the composition failure. The audit must reconstruct the delegati..."
  },
  "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": "df3e809bb13942825d0824ba81a65219164028d2bf9a0477be1cc52b0e3236da",
    "verified_classes": [
      "AuthorityWashingError",
      "DelegationHop",
      "DelegationPath"
    ],
    "verified_functions": [
      "dispatch_delegation_mode",
      "verify",
      "verify"
    ],
    "verified_functions_count": 3,
    "defensive_guards_count": 3,
    "raised_exceptions": [
      "AuthorityWashingError"
    ],
    "sample_fail_closed_invariants": [],
    "stdlib_dependencies": [
      "dataclasses"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
