NousResearch/hermes-agent · error · Error

render-churn setup failed (${ok}) — needs a dev renderer wit

Error message

render-churn setup failed (${ok}) — needs a dev renderer with src/debug installed (the counters are aliased out of production builds unless VITE_PERF_PROBE=1).

What it means

Error "render-churn setup failed (${ok}) — needs a dev renderer with src/debug installed (the counters are aliased out of production builds unless VITE_PERF_PROBE=1)." thrown in NousResearch/hermes-agent.

Source

Thrown at apps/desktop/scripts/perf/scenarios/render-churn.mjs:201

export default {
  name: 'render-churn',
  tier: 'ci',
  description: 'N streaming tabs: per-component render attribution + store churn.',
  async run(cdp, opts = {}) {
    const tiles = Number(opts.tiles ?? 5)
    const seedTurns = Number(opts.turns ?? 20)
    const tokens = Number(opts.tokens ?? 240)
    // Matches STREAM_DELTA_FLUSH_MS — one publish per session per real flush.
    const intervalMs = Number(opts.intervalMs ?? 33)
    const chunk = opts.chunk ?? 'A streamed review sentence with **bold** and `code`.\n\n'

    await cdp.send('Runtime.enable')

    const ok = await cdp.eval(setup(tiles, seedTurns))

    if (ok !== 'ok') {
      throw new Error(
        `render-churn setup failed (${ok}) — needs a dev renderer with src/debug installed ` +
          '(the counters are aliased out of production builds unless VITE_PERF_PROBE=1).'
      )
    }

    // Mount every tab (keep-alive mounts on first activation), then settle.
    for (let n = 1; n <= tiles; n++) {
      await cdp.eval(reveal(`churn-tile-${n}`))
      await sleep(350)
    }

    // Let the app go quiet before recording, so boot/hydration commits that
    // happen to still be in flight don't land in the streaming window. This is
    // what makes runs comparable — a fixed sleep let 2-4x of hydration churn
    // leak in depending on machine load.
    const settle = await cdp.eval(quiesce(600, 15000))
    await cdp.eval(START)
    await cdp.eval(drive(chunk, intervalMs, tokens))

View on GitHub (pinned to c896c09c42)

Solutions

  1. Run against a dev renderer, or rebuild with VITE_PERF_PROBE=1 so the counters are present.
  2. Verify src/debug is installed in the renderer under test.

When it happens

Trigger: Thrown at apps/desktop/scripts/perf/scenarios/render-churn.mjs:201 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14). Data as JSON: /api/errors/83af3883881ff1fe. Report an issue: GitHub.