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
- 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).
- If you just want a stable identity, any prefix-free lowercase name works.
- 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
- Never copy auto-generated ids from logs or state into config as defaults.
- Keep operator-chosen ids in a namespace clearly separate from generated ones.
- If an id must encode 'generated', pick wording that does not collide with the reserved prefix.
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
- Failed to submit feedback: ${res.status}
- backend_unreachable
- request_failed
- Unable to recover SSE history after ${recoveryAttempts} atte
- Failed to load features: ${res.statusText}
AI-assisted analysis of bytedance/deer-flow@1dd6ba1acb (2026-08-14).
Data as JSON: /api/errors/8fb63d94737ad5c0.
Report an issue: GitHub.