{"record":{"id":"03eae7a39579ea98","repo":"ruvnet/ruflo","slug":"no-log-file-yet-meta-proxy-has-never-been-starte","errorCode":null,"errorMessage":"no log file yet — meta-proxy has never been started in --service mode","messagePattern":"no log file yet — meta-proxy has never been started in --service mode","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/cli/src/proxy/lifecycle.ts","lineNumber":283,"sourceCode":"  const logPath = proxyLogFilePath();\n  if (!fs.existsSync(logPath)) return '';\n  const { size } = fs.statSync(logPath);\n  const start = Math.max(0, size - maxBytes);\n  const fd = fs.openSync(logPath, 'r');\n  try {\n    const buf = Buffer.alloc(size - start);\n    fs.readSync(fd, buf, 0, buf.length, start);\n    return buf.toString('utf-8');\n  } finally {\n    fs.closeSync(fd);\n  }\n}\n\n/** Streams new log lines as they're appended, starting from the current end of file. */\nexport function watchProxyLog(onLine: (line: string) => void): fs.FSWatcher {\n  const logPath = proxyLogFilePath();\n  if (!fs.existsSync(logPath)) {\n    throw new Error('no log file yet — meta-proxy has never been started in --service mode');\n  }\n  let offset = fs.statSync(logPath).size;\n  return fs.watch(logPath, () => {\n    const { size } = fs.statSync(logPath);\n    if (size <= offset) return;\n    const fd = fs.openSync(logPath, 'r');\n    try {\n      const buf = Buffer.alloc(size - offset);\n      fs.readSync(fd, buf, 0, buf.length, offset);\n      offset = size;\n      for (const line of buf.toString('utf-8').split('\\n')) {\n        if (line.length > 0) onLine(line);\n      }\n    } finally {\n      fs.closeSync(fd);\n    }\n  });\n}","sourceCodeStart":265,"sourceCodeEnd":301,"githubUrl":"https://github.com/ruvnet/ruflo/blob/6b01dc5a687b26b3e218f796de45ec51f8fa9e8c/v3/@claude-flow/cli/src/proxy/lifecycle.ts#L265-L301","documentation":"Error \"no log file yet — meta-proxy has never been started in --service mode\" thrown in ruvnet/ruflo.","triggerScenarios":"Thrown at v3/@claude-flow/cli/src/proxy/lifecycle.ts:283 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":"6b01dc5a687b26b3e218f796de45ec51f8fa9e8c","analyzedAt":"2026-08-12T13:20:50.148Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}