{"record":{"id":"a0e872ed9e545a65","repo":"deepseek-ai/deepseek-harness","slug":"client-modules-module-arrival-cycle-open-sl","errorCode":null,"errorMessage":"client-modules: module arrival cycle ${[...open.slice(cycleStart), row.id].join(' -> ')} (the host must reject this graph before serving it)","messagePattern":"client-modules: module arrival cycle (.+?) \\(the host must reject this graph before serving it\\)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/client/modules/src/client/system.ts","lineNumber":131,"sourceCode":"  private arrive(row: BootModuleRow): Promise<void> {\n    const { id, url } = row\n    const pending = this.pendingArrival.get(id)\n    if (pending !== undefined) return pending\n    if (this.loadCache.has(id) || this.factories.has(id)) return Promise.resolve()\n    const task = this.loadBundle(url).then(() => {\n      if (!this.factories.has(id)) {\n        throw new Error(`client-modules: bundle ${url} loaded without registering \"${id}\" via __ModuleLoader__.load`)\n      }\n    }).finally(() => { this.pendingArrival.delete(id) })\n    this.pendingArrival.set(id, task)\n    return task\n  }\n\n  /** Register each unresolved dynamic request before registering its consumer. */\n  private async arriveGraphRow(row: BootModuleRow, open: readonly string[] = []): Promise<void> {\n    const cycleStart = open.indexOf(row.id)\n    if (cycleStart !== -1) {\n      throw new Error(\n        `client-modules: module arrival cycle ${[...open.slice(cycleStart), row.id].join(' -> ')} `\n        + '(the host must reject this graph before serving it)',\n      )\n    }\n    const next = [...open, row.id]\n    for (const request of row.external) {\n      const id = stripClientSuffix(request)\n      if (this.seed.has(request) || this.loadCache.has(id)) continue\n      const dependency = this.graphRows.get(id)\n      if (dependency !== undefined) await this.arriveGraphRow(dependency, next)\n    }\n    await this.arrive(row)\n  }\n\n  /** Materialize a registered factory (synchronous; memoized in loadCache). */\n  private materialize(id: string): ClientModuleRecord {\n    const existing = this.loadCache.get(id)\n    if (existing !== undefined) return existing","sourceCodeStart":113,"sourceCodeEnd":149,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/client/modules/src/client/system.ts#L113-L149","documentation":"Error \"client-modules: module arrival cycle ${[...open.slice(cycleStart), row.id].join(' -> ')} (the host must reject this graph before serving it)\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/client/modules/src/client/system.ts:131 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the module arrival cycle in the host graph before serving it."],"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"}