ALEF-PAT-001

orphan-tool-use

execute × tool-call-without-result-consumption · severity 6 · confidence 0.85 · ref: OWASP-ASI06-2025

Agent calls a tool, ignores or discards the result, then continues as if the call succeeded with default values. Side effects happen; verification does not.

diagnosed in the wild

·

loading…

healed by ALEF

·

loading…

cited in posts

·

loading…

observable signature

{
  "code_regex": "awaits+w+([^)]*)[s;]*$|tool_use.*tool_result_ids*:s*null",
  "structural_signal": "tool_use without corresponding tool_result in the conversation, or tool_result that is dropped before next decision",
  "behavioral_signal": "agent reports success but state shows tool side-effects did not commit"
}

fix archetypes

  • read-side repaircost: small

    on session resume, scan events for orphan tool_use; synth tool_result(is_error:true, content:'recovered') before sending

  • write-side atomiccost: medium

    accumulate (tool_use, tool_result) pair in memory; single atomic flush; crash-before-flush = no half-state

  • startup lintercost: tiny

    on first start, scan events.jsonl, warn user before they hit the wedge

compounds with

cite as

# In a PR description / issue / RFC:
fixes pattern ALEF-PAT-001 (orphan-tool-use)
ref: https://n50.io/patterns/001

# Machine query:
GET https://n50.io/api/patterns/001

# Scan your repo for this pattern:
npx @alef-prime/audit-agent-system . --pattern=001