{"record":{"id":"ff0f1d482f07630c","repo":"zeroclaw-labs/zeroclaw","slug":"agentscopedmemory-refuses-to-forget-cross-agent-ro","errorCode":null,"errorMessage":"AgentScopedMemory refuses to forget cross-agent row: key attributed to agent other than the bound agent","messagePattern":"AgentScopedMemory refuses to forget cross-agent row: key attributed to agent other than the bound agent","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-memory/src/agent_scoped.rs","lineNumber":302,"sourceCode":"        if self.inner.forget_for_agent(key, &self.agent_id).await? {\n            return Ok(true);\n        }\n        match self.inner.get(key).await? {\n            None => Ok(false),\n            Some(entry) => match entry.agent_id.as_deref() {\n                Some(other) => {\n                    ::zeroclaw_log::record!(\n                        WARN,\n                        ::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Reject)\n                            .with_outcome(::zeroclaw_log::EventOutcome::Failure)\n                            .with_attrs(::serde_json::json!({\n                                \"key\": key,\n                                \"row_agent\": other,\n                                \"bound_agent\": self.agent_id,\n                            })),\n                        \"forget refused: row attributed to a different agent\"\n                    );\n                    anyhow::bail!(\n                        \"AgentScopedMemory refuses to forget cross-agent row: key attributed to agent other than the bound agent\"\n                    );\n                }\n                None => {\n                    ::zeroclaw_log::record!(\n                        WARN,\n                        ::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Reject)\n                            .with_outcome(::zeroclaw_log::EventOutcome::Failure)\n                            .with_attrs(::serde_json::json!({\n                                \"key\": key,\n                                \"bound_agent\": self.agent_id,\n                            })),\n                        \"forget refused: row has no agent attribution\"\n                    );\n                    anyhow::bail!(\n                        \"AgentScopedMemory refuses to forget unattributed row: legacy or backend without per-agent tracking; resolve via an admin Memory handle\"\n                    );\n                }","sourceCodeStart":284,"sourceCodeEnd":320,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-memory/src/agent_scoped.rs#L284-L320","documentation":"Error \"AgentScopedMemory refuses to forget cross-agent row: key attributed to agent other than the bound agent\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-memory/src/agent_scoped.rs:302 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a wrapper bound to the owning agent, or an admin Memory handle, to forget that key."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}