Skip to content

Runs: compare two executions across code, inputs, state, quality, outputs, and performance #309

Description

@LouisDeconinck

Problem

When a pipeline’s output or duration changes, operators need to distinguish:

code changed
parameters changed
source artifact changed
incremental watermark changed
runtime/dependency changed
cache behavior changed
data-quality results changed
the same code simply ran slower

Duckle records much of this information, but a direct run comparison is still useful.

Proposed solution

Add:

duckle runs diff <run_a> <run_b> --json

and an equivalent web/API view.

Compare:

Identity

pipeline/release hash
Git commit
runtime/lock versions
environment
trigger/actor
partition/backfill
normalized non-secret parameters

Inputs/state

source/artifact URIs and hashes
incremental state before/after
parent/item/chunk counts
upstream release/run references

Execution

node SQL/config hashes
executed/reused/cached nodes
status and retries
duration
rows/bytes
memory/spill
HTTP retries/rate limits
reject/skip counts

Quality/output

contracts/checks/anomalies
published assets/tables
publish generation/release
output schema
row-count/aggregate summaries where already available

Privacy

Do not include:

secret parameters
authorization headers
raw row values by default
signed URL secrets

A full row-level data diff is a separate explicit operation and should not be the default.

Explanation

Highlight likely causes, for example:

parse stage slower because cache miss
row count changed after source artifact hash changed
output schema changed because release changed
same release/inputs but HTTP retries increased

These can be deterministic heuristics rather than AI-generated explanations.

Acceptance criteria

  1. the diff shows code/runtime/input differences separately;
  2. node performance and quality changes are comparable;
  3. output is available as JSON and UI;
  4. secret values remain redacted;
  5. both runs remain immutable.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions