新功能 (2026-06-19) — 測試與工具三件套

三項提升生產力的工具,皆為純標準庫,並走完整五層(facade、AC_* 執行器指令、MCP 工具、Script Builder):有種子的合成測試資料、MCP registry server.json 產生器,以及風險導向的測試選擇。

合成測試資料

依一個極小的欄位 schema 產生**可重現**的假資料列——用來驅動資料驅動的 執行,而不必散布真實 PII。不需要 Faker;相同的 seed 永遠產生相同的 資料列:

from je_auto_control import generate_rows, write_dataset

rows = generate_rows({
    "name": "name",
    "email": {"type": "email", "domain": "acme.test"},
    "age": {"type": "int", "min": 18, "max": 65},
    "status": {"type": "choice", "choices": ["new", "vip"]},
}, count=100, seed=7)

write_dataset(rows, "people.csv")   # 或 .json

支援的欄位型別:first_namelast_namenameusernameemailphonecitycompanywordsentenceuuidbool``int``(min/max)、``float``(min/max/ndigits)、 ``choice``(choices)、``date``(start/end)。

AC_generate_data 指令會寫出檔案(再交給 AC_load_data)或直接 回傳資料列。

MCP registry 清單

產生描述此 AutoControl MCP 伺服器的 server.json,讓支援 MCP 的 agent 與 IDE 能發現並安裝它。清單由即時套件中繼資料建構,因此不會與 實際能力脫節:

from je_auto_control import write_server_manifest

write_server_manifest("server.json", include_tools=True)

include_tools 會把即時工具清單嵌入 _meta``(不更動 registry 規範 的核心欄位)。同時提供 ``AC_mcp_manifestac_mcp_manifest MCP 工具。

風險導向測試選擇

與其每次都跑整套測試,不如依據流程的**風險**排序——最近失敗、不穩定 (flaky)、太久沒跑、或從未跑過——用 run-history 紀錄計算,然後先跑最 高風險的(或只跑前 k 個):

from je_auto_control import select_flows, rank_flows

ranked = rank_flows(["login", "checkout", "report"])
risky = select_flows(["login", "checkout", "report"], k=2)

分數為 0.5*失敗率 + 0.2*上次失敗 + 0.2*不穩定度 + 0.1*陳舊度; 從未跑過的流程得 0.8``(未測試即高風險)。提供 ``AC_rank_tests / AC_select_tests 以及 ac_rank_tests / ac_select_tests MCP 工具。