bytedance/deer-flow · error

Failed to delete feedback: ${res.status}

Error message

Failed to delete feedback: ${res.status}

What it means

Raised when default_peer_id starts with GENERATED_PEER_PREFIX, a reserved marker used to distinguish system-generated peer ids from operator-chosen ones. Allowing a configured id into the generated namespace would make it impossible to tell explicit config from auto-provisioned actors.

Source

Thrown at frontend/src/core/api/feedback.ts:40

      body: JSON.stringify({ rating, comment: comment ?? null }),
    },
  );
  if (!res.ok) {
    throw new Error(`Failed to submit feedback: ${res.status}`);
  }
  return res.json();
}

export async function deleteFeedback(
  threadId: string,
  runId: string,
): Promise<void> {
  const res = await fetch(
    `${getBackendBaseURL()}/api/threads/${encodeURIComponent(threadId)}/runs/${encodeURIComponent(runId)}/feedback`,
    { method: "DELETE" },
  );
  if (!res.ok && res.status !== 404) {
    throw new Error(`Failed to delete feedback: ${res.status}`);
  }
}

View on GitHub (pinned to 1dd6ba1acb)

Solutions

  1. Choose a default_peer_id that does not start with the reserved prefix shown in the error (e.g. agent-01 instead of gen-agent-01).
  2. If you just want a stable identity, any prefix-free lowercase name works.
  3. Leave the setting at its default (deerflow) unless you need multiple identities.

Example fix

# before
backend_config:
  default_peer_id: gen-agent-01  # 'gen' is the reserved prefix

# after
backend_config:
  default_peer_id: agent-01
Defensive patterns

Strategy: validation

Validate before calling

from deerflow.agents.memory.backends.openviking.config import GENERATED_PEER_PREFIX


def check_peer_prefix(peer_id: str) -> None:
    assert not peer_id.startswith(GENERATED_PEER_PREFIX), (
        f'peer id must not use reserved prefix {GENERATED_PEER_PREFIX!r}'
    )

Prevention

When it happens

Trigger: Setting default_peer_id to a value beginning with the reserved prefix (shown in the error message, e.g. 'gen-'). Validation runs during _validate at config load.

Common situations: Copying an auto-generated id seen in logs or state files into config as a stable default; a naming convention that happens to collide with the prefix; hand-crafting an id to match generated ones for grouping.

Related errors


AI-assisted analysis of bytedance/deer-flow@1dd6ba1acb (2026-08-14). Data as JSON: /api/errors/8fb63d94737ad5c0. Report an issue: GitHub.