ruvnet/ruflo · error

Detail expired or not found

Error message

Detail expired or not found

What it means

GET /autopilot/detail/:token found no entry in detailStore for the token. Lazy-loaded detail blobs are evicted on a TTL sweep (AUTOPILOT_DETAIL_TTL, default 5 minutes) or the token is wrong — the detail content is no longer (or never) available and the client should re-render without it or re-request the summary.

Source

Thrown at ruflo/src/mcp-bridge/index.js:1597

  res.write('data: [DONE]\n\n');
  res.end();

  // Clean up detail store after 5 minutes
  const detailTTL = parseInt(process.env.AUTOPILOT_DETAIL_TTL || '300000', 10);
  setTimeout(() => {
    for (const [key] of detailStore) {
      if (key.startsWith('dt_')) detailStore.delete(key);
    }
  }, detailTTL);
}

// Lazy detail loading endpoint
app.get('/autopilot/detail/:token', (req, res) => {
  const content = detailStore.get(req.params.token);
  if (content) {
    res.json({ content });
  } else {
    res.status(404).json({ error: 'Detail expired or not found' });
  }
});

// =============================================================================
// CHAT COMPLETIONS PROXY
// =============================================================================

app.post("/chat/completions", async (req, res) => {
  const model = req.body?.model;
  const providerName = resolveProvider(model);
  const provider = PROVIDER_ROUTES[providerName];
  const apiKey = provider.getKey();

  if (!apiKey) return res.status(401).json({ error: { message: `No API key for provider: ${providerName}` } });

  // Inject comprehensive system prompt as the first message
  const body = { ...req.body };
  if (body.messages && Array.isArray(body.messages)) {

View on GitHub (pinned to fa13ee4ad6)

Solutions

  1. Verify the referenced identifier exists before use (list available items and match against user input).
  2. Return a clear 404-style error listing valid identifiers, and have the caller retry with an existing id.
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at ruflo/src/mcp-bridge/index.js:1597 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18). Data as JSON: /api/errors/8c120066527d477d. Report an issue: GitHub.