SnagBadgerA little help for every snag.

Runs, results and attempts#

A test run executes selected definitions. Each test result pairs a definition snapshot with its retained attempts and comments. An attempt is one execution, with its own actions, outcome, timestamps and evidence.

Preserve history#

Retrying appends another attempt instead of replacing the earlier failure. A report can still select that earlier attempt after a later pass. The policy chosen by the project determines the summarized result; default policy helpers require an explicit choice of latest, any-failure, or passed-on-retry.

Do not infer a clean history from the latest green result. Read attempts and the selected aggregation policy together.

Comments are independent#

A result comment has a type and importance independent of outcome. Default types are problem, optimization, suggestion and context; default importance is low, medium, high and critical. Projects can configure both scales. An explicit setting allows new comment types, while importance stays within the configured scale.

A comment can describe a problem discovered during a passing test or context for a result that has not run. Its basis distinguishes observations, hypotheses and context. Promotion preserves that distinction; an incidental problem does not inherit the intended test's expectation or verification.

Proof and completion#

Missing required evidence makes an attempt incomplete, even when it observed a real failure. That failure can still support a bug report. Optional missing evidence produces a warning. Hook diagnostics describe setup/cleanup; they do not replace behavioral proof.

The runner persists checkpoints so finished and partial observations remain available if execution fails. Raw checkpoint/attachment output is private execution state until reviewed export.

Use review and promotion, selection/retries, and format reference to work with this history. Illustrative results demonstrate the distinction without claiming a live run.