{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"read","outcome":"miss","reason":"first_execution_no_entry","dependency_mode":"file_content","proof":"first read populates cache from canonical scoped file path"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"read","outcome":"hit","reason":"unchanged_file_fingerprint","dependency_mode":"file_content","proof":"second identical read returns cached ToolOutput when file fingerprint matches"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"read","outcome":"stale","reason":"file_content_fingerprint_changed","dependency_mode":"file_content","proof":"rewritten file invalidates old output before returning fresh content"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"ls","outcome":"hit","reason":"unchanged_directory_fingerprint","dependency_mode":"directory_immediate","proof":"second identical ls returns cached ToolOutput when immediate entry metadata matches"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"ls","outcome":"stale","reason":"directory_entry_fingerprint_changed","dependency_mode":"directory_immediate","proof":"new directory entry invalidates old listing before returning fresh content"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"grep","outcome":"hit","reason":"unchanged_recursive_directory_fingerprint","dependency_mode":"directory_recursive","proof":"second identical grep returns cached ToolOutput when recursive tree fingerprint matches"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"grep","outcome":"stale","reason":"recursive_directory_fingerprint_changed","dependency_mode":"directory_recursive","proof":"new matching file invalidates old grep output before returning fresh content"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"find","outcome":"hit","reason":"unchanged_recursive_directory_fingerprint","dependency_mode":"directory_recursive","proof":"second identical find returns cached ToolOutput when recursive tree fingerprint matches"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"find","outcome":"stale","reason":"recursive_directory_fingerprint_changed","dependency_mode":"directory_recursive","proof":"new matching file invalidates old find output before returning fresh content"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"write","outcome":"uncached","reason":"write_effect_tool","dependency_mode":"none","proof":"write bypasses tool_output_cache and leaves cache stats unchanged"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"edit","outcome":"uncached","reason":"write_effect_tool","dependency_mode":"none","proof":"edit bypasses tool_output_cache and leaves cache stats unchanged"}
{"schema":"pi.tool_output_context_cache.evidence.v1","bead":"bd-dklqn.1","related_beads":["bd-dklqn.1","bd-dklqn.2"],"tool":"bash","outcome":"uncached","reason":"process_effect_tool","dependency_mode":"none","proof":"bash bypasses tool_output_cache and leaves cache stats unchanged"}