{"record":{"id":"dbb99f53775d363d","repo":"deepseek-ai/deepseek-harness","slug":"directory-create-failed","errorCode":"directory-create-failed","errorMessage":"cannot create under \"${path}\": not a fully qualified parent path","messagePattern":"cannot create under \"(.+?)\": not a fully qualified parent path","errorType":"exception","errorClass":"DirectoryPickerError","httpStatus":null,"severity":"error","filePath":"packages/host/directory-picker-browse/src/index.ts","lineNumber":303,"sourceCode":"      // A caller that departed between reads and probes stops before the\n      // next probe (each probe's own await is raced inside directoryRow).\n      signal?.throwIfAborted()\n      const row = await directoryRow(target, candidate.name, candidate.isDirectory, candidate.isSymbolicLink, signal)\n      if (row === null) continue\n      if (entries.length === this.config.maxEntries) {\n        truncated = true\n        break\n      }\n      entries.push(row)\n    }\n    return { path: target, home, crumbs: ancestryCrumbs(target), entries, truncated }\n  }\n\n  private async createDirectory(path: string, name: string): Promise<string> {\n    // Same fully-qualified fence as list: never rebase a parent under the\n    // cwd or the current drive.\n    if (!fullyQualified(path)) {\n      throw new DirectoryPickerError('directory-create-failed', path, `cannot create under \"${path}\": not a fully qualified parent path`)\n    }\n    const parent = resolve(path)\n    // The backend owns segment validation (the wire schema also refuses these,\n    // but direct service consumers must hit the same fence).\n    if (name.trim() === '' || name === '.' || name === '..' || /[/\\\\]/.test(name)) {\n      throw new DirectoryPickerError('directory-create-failed', join(parent, name), `\"${name}\" is not a single path segment`)\n    }\n    const target = join(parent, name)\n    try {\n      // Non-recursive: the parent is the directory the browser is showing, so\n      // a missing parent is a real failure, not a level to invent.\n      await mkdir(target)\n      return target\n    } catch (error: unknown) {\n      if (typeof error === 'object' && error !== null && 'code' in error && error.code === 'EEXIST') {\n        throw new DirectoryPickerError('directory-exists', target, `${target} already exists`)\n      }\n      throw new DirectoryPickerError('directory-create-failed', target, `cannot create ${target}: ${messageOf(error)}`)","sourceCodeStart":285,"sourceCodeEnd":321,"githubUrl":"https://github.com/deepseek-ai/deepseek-harness/blob/b150a551b8d465e31e418e1b2eaf5e79bbb7d28e/packages/host/directory-picker-browse/src/index.ts#L285-L321","documentation":"Error \"cannot create under \"${path}\": not a fully qualified parent path\" thrown in deepseek-ai/deepseek-harness.","triggerScenarios":"Thrown at packages/host/directory-picker-browse/src/index.ts:303 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"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"}