Fission-AI/OpenSpec · error · Error

Cannot archive unsupported filesystem entry: ${srcPath}

Error message

Cannot archive unsupported filesystem entry: ${srcPath}

What it means

Error "Cannot archive unsupported filesystem entry: ${srcPath}" thrown in Fission-AI/OpenSpec.

Source

Thrown at src/core/archive.ts:371

async function copyDirContents(src: string, dest: string): Promise<void> {
  const sourceStat = await fs.lstat(src);
  // Keep group/other access no broader than the source while ensuring this
  // process can populate even a read-only source directory.
  await fs.chmod(dest, (sourceStat.mode & 0o7777) | 0o700);
  const entries = await fs.readdir(src, { withFileTypes: true });
  for (const entry of entries) {
    const srcPath = path.join(src, entry.name);
    const destPath = path.join(dest, entry.name);
    if (entry.isDirectory()) {
      await fs.mkdir(destPath, { mode: 0o700 });
      await copyDirContents(srcPath, destPath);
    } else if (entry.isSymbolicLink()) {
      await copySymbolicLink(srcPath, destPath);
    } else if (entry.isFile()) {
      await fs.copyFile(srcPath, destPath, constants.COPYFILE_EXCL);
    } else {
      throw new Error(`Cannot archive unsupported filesystem entry: ${srcPath}`);
    }
  }
  await fs.chmod(dest, sourceStat.mode & 0o7777);
}

async function fingerprintDirectoryContents(root: string): Promise<string> {
  const hash = createHash('sha256');
  const updateHashField = (label: string, value: string | Buffer): void => {
    const labelBuffer = Buffer.from(label);
    const valueBuffer = typeof value === 'string' ? Buffer.from(value) : value;
    const lengths = Buffer.allocUnsafe(16);
    lengths.writeBigUInt64BE(BigInt(labelBuffer.length), 0);
    lengths.writeBigUInt64BE(BigInt(valueBuffer.length), 8);
    hash.update(lengths);
    hash.update(labelBuffer);
    hash.update(valueBuffer);
  };
  const fingerprintFile = async (filePath: string): Promise<Buffer> => {

View on GitHub (pinned to 6926ccb18a)

When it happens

Trigger: Thrown at src/core/archive.ts:371 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of Fission-AI/OpenSpec@6926ccb18a (2026-08-25). Data as JSON: /api/errors/4338dcd2a39c545b. Report an issue: GitHub.