AssertLedger
概述
針對同一個回歸候選版本,評估其在修正後的程式碼、宣告的錯誤以及中性對照組下的表現。保留觀察結果,並在報告具界限的判決前,重現產生的紀錄清單。操作員需提供錯誤及對照組的意義;此工具不建立整體程式正確性、生產者真實性,或永久免除不穩定的測試。
此在地維護的工作流程遵循已發佈的 AssertLedger 1.4.0 文件。
使用方式
使用 $assertledger <儲存庫與回歸> 或 /assertledger <要重播的紀錄清單>。
例如:檢查已提交的同位檢查回歸測試是否能偵測所提供的錯誤修訂版本。
一般實作使用 tdd,當驗證機制本身改變時使用 proof-integrity-review。AssertLedger 驗證是一個額外要求的工作流程,而非全面的測試閘門。
透過主機宣告的工具安裝取得相容的 CLI;此技能本身在執行時不需要 dotfiles 檢出。如果缺少 CLI,應回報該先決條件,而不應隱含安裝套件或修改專案設定。
步驟
-
執行
assertledger --version及assertledger doctor /path/to/repository --json。此診斷是靜態且唯讀的。在規劃執行前檢查衝突與框架支援;偵測到測試指令並不代表轉接器能執行它。 -
對於 Git 驗證,需建立錯誤、修正及中性的已提交修訂版本、中性原因、候選路徑、不變的基礎測試路徑,以及相對於儲存庫的新輸出目錄。盡可能沿用已提供的事實;切勿發明缺少的控制語意。請查閱 Git 指南 了解資格條件:無依賴的
.js、.mjs或.cjs檔案使用node:test,不變的基礎測試,以及除了候選版本外相同的檔案路徑集合。本機未提交的變更將被忽略。 -
根據操作員的授權建立執行後端。容器執行需要操作員選擇一個已固定摘要的映像,該映像須存在於 Linux 守護行程上且包含 Node.js。受信任的本機執行為
UNSANDBOXED,需要針對該範圍的授權。絕不混合兩種模式,也不應從安裝或專案設定推斷執行權限。 -
使用實際建立的輸入執行所選指令。對於經授權的容器執行:
assertledger check /path/to/repository --before BEFORE --after AFTER --neutral NEUTRAL --neutral-reason "已建立的對照組理由" --test tests/regression.test.js --base-test tests/base.test.js --out .assertledger/evidence-001 --container-image node@sha256:DIGEST --json對於經授權的受信任本機執行,將
--container-image node@sha256:DIGEST替換為--allow-unsafe-execution。在建立後端之前,請勿傳遞任一旗標。 -
保留指令的結束狀態、摘要、已執行的請求及紀錄清單。完整的輸出目錄應包含
manifest.json(最後發佈)。執行assertledger replay /path/to/repository/.assertledger/evidence-001/manifest.json --json。 正向證據需要decision.status: VERIFIED且重播valid: true;保留所有失敗的嘗試、對照組、原因代碼、執行限制及隔離事實。拒絕、無結論的觀察、操作錯誤或無效的重播均不能支援接受。 -
報告確切的錯誤、修訂版本、選定的候選版本、環境、產物位置及限制。對於拒絕,使用
assertledger explain CODE --json。重播檢查完整性與決策一致性,但不重新執行測試或驗證其生產者。當需要重現或獨立稽核時,請分別保留來源修訂版本、請求和原始日誌。 -
對於已提供版本的請求或受支援的 Bun 活動,請在使用
verify或重播前閱讀對應的 參考資料。Bun 轉接器固定 Bun 1.4.2 並將來自assertledger/bunassertSame的失敗計入目標偵測;原生的 Bunexpect失敗不計為目標偵測。此較低層級的路徑不會延伸 Gitcheck指令的資格條件。
注意事項
- 將 Git 驗證應用於 TypeScript/Bun 或 Rust — 靜態偵測可能看起來很有希望,但
check無法執行候選版本;請保留現有的原生測試並報告限制。 - 忽略儲存庫符號連結拒絕 — 移除連結或發明排除條件會改變已宣告的證據;請保留檢出狀態並報告
UNSUPPORTED_REPOSITORY_SYMLINK。只有操作員在檢查文件規則後才能宣告僅限本機的排除條件。 - 重複使用證據目錄 — 輸出保留會失敗,而非覆蓋先前的活動;請選擇新的相對路徑並保留先前的證據。
- 將當機計為偵測 — 逾時、編譯、探索與程序失敗均不能建立所聲稱的回歸;請檢查原因代碼並修正執行問題。
- 自動執行客戶端設定 —
connect --write會安裝專案技能與 MCP 設定,建立此使用者技能的另一個發現副本;僅在要求的客戶端設定時預覽,並在寫入前解決重複問題。
限制
- 絕不製造錯誤語意、中性理由、觀察結果或執行授權。
- 絕不隱含初始化專案、註冊 MCP 伺服器、拉取映像或變更排除條件。
- 絕不透過猜測的轉接器執行不支援的執行器,或削弱政策以獲得接受。
- 絕不將重播有效性視為實際執行、真實性或一般正確性的證明。
- 絕不丟棄失敗的觀察結果、隱藏不完整的輸出,或將示範視為儲存庫證據。
- 保留原生測試與 CI 需求;此技能既不取代它們,也不授權合併。