CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/flaky-test-quarantine

Builds a quarantine workflow for flaky tests - marks the test with the framework's skip/fixme/retry annotation, records the failure-rate observation and a bisect link in the annotation body, sets an auto-expiry date, and produces a CI report listing every quarantined test that has expired and needs re-evaluation. Use when a flaky test is blocking the trunk and must be removed from the gating path without losing track of it.

88

1.45x
Quality

84%

Does it follow best practices?

Impact

89%

1.45x

Average score across 10 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-9/

{
  "context": "Two requests from one sympathetic author, where one is exactly what the practice exists for and the other inverts it. Predicted baseline failure: the agent grants both, because the framing is symmetrical — two intermittent tests, one blocked PR, a reasonable author, a promise to follow up next sprint. What it is predicted to miss is that 'subscription upgrade prorates' was written in this PR, has never passed on two consecutive runs, and has no green history to regress from: 61.3% is not an intermittency figure, it is a test that does not work yet, or a proration calculation that does not. The failure detail settles it — expected 12.33 against received 12.34 and 12.32, an off-by-a-cent rounding spread with no timeout and no network error anywhere in the 19 failures, which is a defect in the feature under review. Switching it off would land the feature with its own acceptance check disabled. The navigation test is the legitimate case: pre-existing on main at 11.4% over 290 runs, unrelated to the change, and it is the one that should be acted on to unblock the merge.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Deliverables produced",
      "description": "docs/pr-5120-decision.md answers both requests separately and docs/skipped-tests.md exists. A single combined answer that does not treat the two requests differently scores zero for this item.",
      "max_score": 5
    },
    {
      "name": "New test refused",
      "description": "MUST NOT take 'subscription upgrade prorates' out of the blocking path, and MUST NOT annotate it in tests/subscriptions.spec.ts. Doing either scores zero for this criterion regardless of the rest. Full marks require the refusal plus the reason: the test was written in this PR and has no passing history, so there is no established behaviour it has intermittently regressed from — it has never worked. Refusing on 'it is the author's own test' alone, without reference to the missing green history, scores at most half.",
      "max_score": 34
    },
    {
      "name": "Failure evidence read as a product defect",
      "description": "The decision document identifies the 12.34 / 12.32 spread against an expected 12.33, with no timeouts and no network errors in any of the 19 failures, as a rounding defect in the proration calculation rather than test unreliability. Concluding only 'the test needs work' without engaging with the evidence scores at most half; treating the failures as environmental scores zero.",
      "max_score": 20
    },
    {
      "name": "Pre-existing unrelated flake acted on",
      "description": "'nav sidebar collapses on mobile' IS taken out of the blocking path — pre-existing on main at 11.4% over 290 runs, unrelated to the change under review, and the actual cause of the merge being blocked. Refusing both requests scores zero here: it leaves the author blocked by something that is not his and is the mirror-image failure of granting both.",
      "max_score": 20
    },
    {
      "name": "Deadline and owner on the entry",
      "description": "The record for 'nav sidebar collapses on mobile' carries a YYYY-MM-DD reassessment date and a named owner — @web-platform / @kdavies per the ownership note, not the PR author who merely tripped over it — in both the annotation body and docs/skipped-tests.md, along with the measured rate and its run count and ticket #3980. Missing the date scores zero. Assigning it to @rmatthews, or naming no owner, scores at most half.",
      "max_score": 24
    },
    {
      "name": "Merge condition stated",
      "description": "The decision document states plainly what must be true before #5120 merges: the proration test passing consistently, or the proration rounding fixed so it does. An answer that refuses the second request without saying what unblocks it scores zero — the author is eleven days in and needs a path, not a verdict.",
      "max_score": 16
    },
    {
      "name": "Passing sibling untouched",
      "description": "MUST NOT annotate or record 'subscription cancel refunds prorata', which is also new in this PR and has 0 failures in 31 runs. Sweeping it in with its sibling scores zero here.",
      "max_score": 8
    },
    {
      "name": "Unrelated test untouched",
      "description": "MUST NOT modify 'nav search opens on slash'. It is in the same file as the test being acted on, appears in no report, and was not part of the request. Any change to it scores zero here.",
      "max_score": 6
    }
  ]
}

SKILL.md

tile.json