Skip to main content
kane-cli evidence merge combines several packs into one. Use it when you want to hand over a set of related runs as a single file:
Each target is an execution id or a pack path. Order matters: when the policy has to choose between packs, the earlier target wins. You cannot use --rules and --on-collision together. Exit codes: 0 merged, 1 policy abort, 2 usage error.

The default policy

By default, merge is strict:
  • inputs must be sealed and valid,
  • duplicate run ids are skipped,
  • packs from different projects or organisations are refused,
  • two packs with the same test id cause an error, unless you choose another action with --on-collision.

Merge identity

Merge decides whether two runs are the same test by their identity. For ordinary runs, the default identity is made of:
  • the test and commit: external_id.test_id and external_id.commit_id,
  • the environment: environment.os, environment.os_version, environment.browser, and environment.browser_version.
Re-runs with the same identity are nested as attempts of one test. A run with a different environment becomes a separate sibling. An explicit collision policy can change this grouping, and a custom --rules file replaces the default rules instead of extending them. Check which identity rules apply before you treat two runs as retries of the same test.

A nightly roll-up

Without -o, the merged pack is written to .testmuai/evidence/<run-id>.evidence. The path stays unique as long as you use a unique run id. The result is one sealed pack with the tests from every pack that passed the policy. Skipped packs contribute nothing. The merge report (--json) lists what was skipped and why.

Next steps