zeroclaw-labs/zeroclaw · error

AgentScopedMemory refuses to forget cross-agent row: key att

Error message

AgentScopedMemory refuses to forget cross-agent row: key attributed to agent other than the bound agent

What it means

Error "AgentScopedMemory refuses to forget cross-agent row: key attributed to agent other than the bound agent" thrown in zeroclaw-labs/zeroclaw.

Source

Thrown at crates/zeroclaw-memory/src/agent_scoped.rs:302

        if self.inner.forget_for_agent(key, &self.agent_id).await? {
            return Ok(true);
        }
        match self.inner.get(key).await? {
            None => Ok(false),
            Some(entry) => match entry.agent_id.as_deref() {
                Some(other) => {
                    ::zeroclaw_log::record!(
                        WARN,
                        ::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Reject)
                            .with_outcome(::zeroclaw_log::EventOutcome::Failure)
                            .with_attrs(::serde_json::json!({
                                "key": key,
                                "row_agent": other,
                                "bound_agent": self.agent_id,
                            })),
                        "forget refused: row attributed to a different agent"
                    );
                    anyhow::bail!(
                        "AgentScopedMemory refuses to forget cross-agent row: key attributed to agent other than the bound agent"
                    );
                }
                None => {
                    ::zeroclaw_log::record!(
                        WARN,
                        ::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Reject)
                            .with_outcome(::zeroclaw_log::EventOutcome::Failure)
                            .with_attrs(::serde_json::json!({
                                "key": key,
                                "bound_agent": self.agent_id,
                            })),
                        "forget refused: row has no agent attribution"
                    );
                    anyhow::bail!(
                        "AgentScopedMemory refuses to forget unattributed row: legacy or backend without per-agent tracking; resolve via an admin Memory handle"
                    );
                }

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Use a wrapper bound to the owning agent, or an admin Memory handle, to forget that key.

When it happens

Trigger: Thrown at crates/zeroclaw-memory/src/agent_scoped.rs:302 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23). Data as JSON: /api/errors/ff0f1d482f07630c. Report an issue: GitHub.