santifer/career-ops · error · Error

openai-eval.mjs exited ${res.status}: ${(res.stderr || '').s

Error message

openai-eval.mjs exited ${res.status}: ${(res.stderr || '').slice(0, 200)}

What it means

Error "openai-eval.mjs exited ${res.status}: ${(res.stderr || '').slice(0, 200)}" thrown in santifer/career-ops.

Source

Thrown at eval-golden.mjs:159

    // path separators, or the fixture lands in a phantom subdirectory. Sanitize
    // to a flat filename — record fixtures under the same sanitized name.
    const fixture = join(fixtureDir, `${testCase.id}__${fixtureModelId(model)}.txt`);
    if (!existsSync(fixture)) {
      throw new Error(`missing replay fixture: ${fixture} — record it or run --live`);
    }
    return readFileSync(fixture, 'utf8');
  }

  // live: write the JD to a temp file and run the existing evaluator.
  const dir = mkdtempSync(join(tmpdir(), 'eval-golden-'));
  try {
    const jdFile = join(dir, 'jd.txt');
    writeFileSync(jdFile, testCase.jd);
    const res = spawnSync(process.execPath,
      [join(ROOT, 'openai-eval.mjs'), '--file', jdFile, '--model', model, '--no-save'],
      { encoding: 'utf8', env: process.env, timeout: 360000 });
    if (res.status !== 0) {
      throw new Error(`openai-eval.mjs exited ${res.status}: ${(res.stderr || '').slice(0, 200)}`);
    }
    return res.stdout || '';
  } finally {
    rmSync(dir, { recursive: true, force: true });
  }
}

/**
 * Median of a numeric array (0 for an empty array).
 *
 * @param {number[]} xs - Values to summarize.
 * @returns {number} The median value.
 */
function median(xs) {
  if (xs.length === 0) return 0;
  const s = [...xs].sort((a, b) => a - b);
  const mid = Math.floor(s.length / 2);
  return s.length % 2 ? s[mid] : (s[mid - 1] + s[mid]) / 2;

View on GitHub (pinned to 9b17a8ac97)

Solutions

  1. Read the stderr excerpt in the message for the root cause (usually a missing API key or invalid case file).
  2. Fix the underlying openai-eval.mjs failure and re-run.

Example fix

node openai-eval.mjs --case fixtures/case1.json  # reproduce directly

When it happens

Trigger: Thrown at eval-golden.mjs:159 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of santifer/career-ops@9b17a8ac97 (2026-08-13). Data as JSON: /api/errors/2e03f0b47b2a0249. Report an issue: GitHub.