Skip to main content

Behavior

<Sidecar> renders a <Parallel> with two <Task> children. The primary task uses the component id, writes to output, and is the node downstream workflow code should consume. The sidecar task uses ${id}-sidecar, receives the same prompt, gets continueOnFail: true, and writes to sidecarOutput when supplied or to output by default. Both tasks receive the same scorers prop. Smithers records live scorer results in _smithers_scorers once per task node id, so bunx smithers-orchestrator scores RUN_ID can show the primary row and the sidecar row separately. Use computeSidecarDelta(rows, { primaryNodeId, sidecarNodeId, scorerId }) after reading persisted scorer rows. It derives primaryScore, sidecarScore, delta, and cheaperWins from those rows only.

Notes

  • The sidecar can fail without failing the workflow.
  • The sidecar result does not replace the primary result.
  • delta is primaryScore - sidecarScore.
  • cheaperWins is true when the sidecar score is greater than or equal to the primary score.

Source

The <Sidecar> implementation and the files it imports, straight from the package source. This section is generated; edit the source, not this block.