{"record":{"id":"68396d5cea204549","repo":"deepseek-ai/deepseek-harness","slug":"circular-references-are-not-json-data","errorCode":null,"errorMessage":"circular references are not JSON data","messagePattern":"circular references are not JSON data","errorType":"exception","errorClass":"MaterializeError","httpStatus":null,"severity":"error","filePath":"packages/workflow/workflow-worker-thread/src/realm.ts","lineNumber":100,"sourceCode":"      return value\n    case 'number': {\n      if (!Number.isFinite(value)) throw new MaterializeError(path, 'non-finite numbers are not JSON data')\n      return value\n    }\n    case 'bigint':\n      throw new MaterializeError(path, 'bigints are not JSON data')\n    case 'function':\n      throw new MaterializeError(path, 'functions are not plain JSON data')\n    case 'symbol':\n      throw new MaterializeError(path, 'symbols are not plain JSON data')\n    case 'undefined':\n      throw new MaterializeError(path, 'undefined is not JSON data')\n    case 'object':\n      break\n  }\n  if (value === null) return null\n  const objectValue: object = value\n  if (seen.has(objectValue)) throw new MaterializeError(path, 'circular references are not JSON data')\n  seen.add(objectValue)\n  try {\n    if (Array.isArray(objectValue)) return materializeArray(objectValue, path, seen)\n    return materializeObject(objectValue, path, seen)\n  } finally {\n    seen.delete(objectValue)\n  }\n}\n\nfunction materializeArray(value: unknown[], path: string, seen: Set<object>): unknown[] {\n  const out: unknown[] = []\n  for (let index = 0; index < value.length; index++) {\n    if (!(index in value)) throw new MaterializeError(`${path}[${index}]`, 'sparse arrays are not JSON data')\n    out.push(materialize(value[index], `${path}[${index}]`, seen))\n  }\n  // Own enumerable props beyond the indices (e.g. `arr.total = 3`) would be\n  // silently dropped by JSON — reject them instead.\n  for (const key of Object.keys(value)) {","sourceCodeStart":82,"sourceCodeEnd":118,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/workflow/workflow-worker-thread/src/realm.ts#L82-L118","documentation":"Error \"circular references are not JSON data\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/workflow/workflow-worker-thread/src/realm.ts:100 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Break circular references in the returned value, e.g. by replacing repeated references with ids."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b150a551b8d465e31e418e1b2eaf5e79bbb7d28e","analyzedAt":"2026-08-24T18:12:29.105Z","schemaVersion":2},"datasetVersion":"2026-08-24T22:17:12.610Z"}