{"record":{"id":"8fb63d94737ad5c0","repo":"bytedance/deer-flow","slug":"failed-to-delete-feedback-res-status","errorCode":null,"errorMessage":"Failed to delete feedback: ${res.status}","messagePattern":"Failed to delete feedback: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"frontend/src/core/api/feedback.ts","lineNumber":40,"sourceCode":"      body: JSON.stringify({ rating, comment: comment ?? null }),\n    },\n  );\n  if (!res.ok) {\n    throw new Error(`Failed to submit feedback: ${res.status}`);\n  }\n  return res.json();\n}\n\nexport async function deleteFeedback(\n  threadId: string,\n  runId: string,\n): Promise<void> {\n  const res = await fetch(\n    `${getBackendBaseURL()}/api/threads/${encodeURIComponent(threadId)}/runs/${encodeURIComponent(runId)}/feedback`,\n    { method: \"DELETE\" },\n  );\n  if (!res.ok && res.status !== 404) {\n    throw new Error(`Failed to delete feedback: ${res.status}`);\n  }\n}\n","sourceCodeStart":22,"sourceCodeEnd":43,"githubUrl":"https://github.com/bytedance/deer-flow/blob/1dd6ba1acb03700589994b0366c5d1c7d05e2eff/frontend/src/core/api/feedback.ts#L22-L43","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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."],"exampleFix":"# before\nbackend_config:\n  default_peer_id: gen-agent-01  # 'gen' is the reserved prefix\n\n# after\nbackend_config:\n  default_peer_id: agent-01","handlingStrategy":"validation","validationCode":"from deerflow.agents.memory.backends.openviking.config import GENERATED_PEER_PREFIX\n\n\ndef check_peer_prefix(peer_id: str) -> None:\n    assert not peer_id.startswith(GENERATED_PEER_PREFIX), (\n        f'peer id must not use reserved prefix {GENERATED_PEER_PREFIX!r}'\n    )","typeGuard":null,"tryCatchPattern":null,"preventionTips":["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."],"tags":["openviking","configuration","validation","identifiers","reserved-prefix"],"backgroundTag":null,"analyzedSha":"1dd6ba1acb03700589994b0366c5d1c7d05e2eff","analyzedAt":"2026-08-14T21:20:34.804Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}