Skip to content

Idempotency

  • Render is a pure function: same inputs, same bytes. Ids and timestamps never enter the pixel path.
  • Server jobs are keyed by sha256(sourceHash + canonical log without ids + output + core version + plugin versions). A repeated POST /render with an S3 destination returns the stored object with cached: true and does not render again. Object keys are the job key, so retries overwrite identical bytes.
  • Client dispatch with an id already in the log is a no-op.
  • Scripts and infrastructure in the repository run twice without changes: builds skip when inputs match, goldens rewrite only on change, the SST stack shows no diff on a second deploy.