Flakyguard

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 3, 2026

不稳定测试证据跟踪器:按测试记录通过/失败历史、不稳定率以及隔离列表。

AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。

原文描述

Flaky-test evidence tracker: per-test pass/fail history, flakiness rates, and a quarantine list.

已验证STDIO仅桌面

概览

Flakyguard 的本地 MCP 服务;无需登录;STDIO。

暂无 AI 概览:以下信息来自注册中心条目和服务本身。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Flakyguard,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

flakyguard

"That test is flaky" is usually a feeling. flakyguard turns it into evidence. Feed it the per-test outcomes from a set of CI runs and it builds the record for every test:

  • Per-test history — how many runs contained the test, and how many times it passed, failed, or was skipped
  • Evidence runs — passes plus failures; a skip is recorded but never counts as evidence, because a test that did not run proves nothing either way
  • Classification — a test needs a minimum amount of evidence (two evidence runs by default) before it earns a verdict: stable_pass if it never failed, stable_fail if it never passed, flaky if it did both, and insufficient_data until then
  • Flakiness rate — the minority outcome's share of the evidence runs, so a test that splits its results evenly rates 0.5 and a mostly reliable one rates close to 0
  • Quarantine list — the flaky tests whose rate meets the quarantine threshold (0.5 by default), worst first, each entry carrying the pass/fail counts behind its rate
  • Verdict — quarantine_recommended when the list is non-empty, otherwise clean

Rates are rounded to four decimal places. Everything is computed locally from the runs you supply: no network, no configuration, no history kept between calls. Bad input — a run with no results, a status outside passed / failed / skipped, the same test twice in one run — is rejected with an error naming the offending path, and no partial analysis is produced.

CLI

bash
npx @reneturcios/flakyguard analyze --input args.jsonnpx @reneturcios/flakyguard --version

args.json contains the full arguments object:

json
{  "runs": [    {      "run_id": "run-101",      "results": [        { "test": "checkout totals", "status": "passed" },        { "test": "search ranking", "status": "failed" }      ]    },    {      "run_id": "run-102",      "results": [        { "test": "checkout totals", "status": "failed" },        { "test": "search ranking", "status": "failed" }      ]    }  ],  "min_runs": 2,  "quarantine_threshold": 0.5}

min_runs and quarantine_threshold are optional. The analysis is printed as JSON.

Exit codes: 0 on success, 1 on a runtime error (including an unreadable or invalid input file, or invalid input), 2 on a usage error.

MCP server

bash
npx -y @reneturcios/flakyguard mcp

MCP client config:

json
{  "mcpServers": {    "flakyguard": {      "command": "npx",      "args": ["-y", "@reneturcios/flakyguard", "mcp"]    }  }}

Tools

  • analyze_test_flakiness — Analyze test flakiness across CI runs.

    • runs (array, required, at least one) — runs as {run_id, results} objects, where each result is {test, status} and status is one of passed, failed, skipped; a test may not appear twice in one run
    • min_runs (integer, optional, >= 1, default 2) — minimum evidence runs before a test is classified as stable or flaky
    • quarantine_threshold (number, optional, 0 to 1, default 0.5) — flakiness-rate threshold for the quarantine list

    Returns {run_count, test_count, tests, quarantine, summary, verdict}.

Docker

bash
docker run -i ghcr.io/cloudcorprecords/flakyguarddocker run --rm -v "$PWD:/w" ghcr.io/cloudcorprecords/flakyguard analyze --input /w/args.json

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # tsx --test test/*.test.ts (pure local, no network)npm run dev     # run the CLI from source

License

MIT — Copyright (c) 2026 Rene Turcios

来源:README.md,提交 7e7389a

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Nov 3, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分