Straight answers / zh-TW

常見問題

直接說清楚 Evidrift 能檢查什麼、不能保證什麼,以及為什麼它不是另一個 AI reviewer。

Evidrift 解決什麼問題?

ReproMin 把吵雜的 failing JSON request 縮成經重播驗證的結果。Contract Receipt 則保存 TypeScript 或 OpenAPI 外部 assumption,再交給 CI 重新檢查。

什麼是 verified minimal reproduction?

它是較小、但在真實 replay 中仍符合明確 HTTP status 與 error identity 的 JSON request。Probe budget 完成時,ReproMin 只建立在文件列出的 reducers 與 predicate 下為 1-minimal;不宣稱 global minimum 或 root cause。

什麼是 TypeScript API drift?

消費端程式完成後,package declaration 發生改變。Evidrift 會詢問消費端專案的 TypeScript compiler:真實 call 選到哪一條 declared overload,接著 normalize signature 並記錄 hash。Selected signature 改變時會產生 FAIL contract_mismatch;不相關的 overload reordering 不會。

什麼是 OpenAPI contract drift?

json.pointer adapter 會使用 RFC 6901 JSON Pointer,從 repository-local OpenAPI JSON 或 JSON Schema 選出一個 canonical value。Selected value 改變會 deterministic FAIL;若只有不相關文件內容改變,selected value 仍相同,就會回報 WARNING source_changed

Evidrift 與 contract testing 有什麼不同?

Contract testing 通常會執行 provider 與 consumer behavior。Evidrift 不執行 service 或 dependency code;它鎖定影響某個 code location 的一項明確 static assumption,並在 merge 前重新驗證。兩種工具可以一起使用。

Evidrift 與 RAG 或 AI code review 有什麼不同?

RAG 在生成答案時供應 context;AI code review 在程式完成後做 probabilistic judgment。Evidrift 把 deterministic evidence commit 到 repository,之後不透過 LLM judge 重新計算。

哪些 Coding Agent 可以使用 Evidrift?

任何能啟動 local STDIO server 的 MCP client 都能使用。Repository 包含 Codex、Claude Code 與 Cursor 的最小設定;MCP tools 與 CLI 使用同一套 core。

Agent 能偽造 verified Receipt 嗎?

Receipt JSON 被視為不可信輸入。evidrift check 會驗證 schema、重新計算 Receipt ID 與 evidence hash,再載入 source;不信任儲存的 matchedverified field。若攻擊者同時替換 Receipt 與 lock,仍可建立新的 internally consistent evidence,因此 Git review 與 branch protection 依然必要。

Evidrift 會抓 URL 或執行 command 嗎?

Contract check 不會。Receipt 無法觸發 shell command、package import、network request 或 LLM call。minimizereproduce 是分離的 CLI-only 指令;明確確認後也只允許 literal loopback HTTP target,拒絕 redirect、remote address 與常見 secret-shaped input。Secret detection 只是 defense in depth,分享前仍須人工檢查;MCP 無法觸發 replay。

目前還不支援什麼?

Evidrift v0.4.1 不支援 cURL import、remote replay、YAML、remote OpenAPI $ref、global-minimum 或 root-cause claim、semantic equivalence、cloud storage、Dashboard、automatic repair 或 LLM-as-a-judge CI gate。

機器介面不翻譯

CLI command、Receipt schema、error code、API name 與 machine-readable output 刻意維持英文,讓 CI、MCP client、Coding Agent 和兩種語言的文件使用同一套穩定介面。