← ClaudeAtlas

gates-and-provenance-maplisted

starledger 的 executor/artifact PR 被 verify-agent-artifacts 或 verify-ai-provenance 打紅、要預判某個 artifact 變更能否過 gate、或要修改 verify-diff/agent-gate/provenance 任一實碼時載入。這是兩道 AI gate 的裁決語義對照表。
F-e-u-e-r/opus-pack · ★ 2 · AI & Automation · score 68
Install: claude install-skill F-e-u-e-r/opus-pack
# starledger:結構與 provenance gate 語義地圖 (驗證日 2026-07-30,HEAD `55ae7b2`。實碼=`packages/classifier/src/verify-diff.ts`、 `agent-gate.ts`、`provenance.ts`;workflow=`.github/workflows/ai-agent-pr.yml`、 `ai-provenance.yml`,皆 `pull_request_target`、只 checkout 受信 base、把 head 當資料讀。) ## 結構 gate(`verify-agent-artifacts`) - 觸發是 **path-based**:PR 動到 `ai-annotations.json` 或 `ai-annotations-meta.json` 任一 (含 rename 的舊��徑)才啟用 executor 規則;沒動到=green no-op。 - 動到時:head branch 必須是核准的 executor 前綴(`claude/`、`codex/`)且同 repo;變更檔案 **只能**是完整的 artifact pair;狀態只允許 **A 或 M**——刪檔(D)與改名(R)一律拒。 ⇒ prune-only PR(M,M)可過;「刪 annotation 記錄」與「刪 annotation **檔**」是兩回事。 - diff 解析用 NUL 分隔(`git diff --name-status -z -M`),怪檔名繞不過。 ## Provenance gate(`verify-ai-provenance`) 先驗 artifact pair 完整性(schema+exact hash),再對「受信 base 的 canonical dataset+live README discovery」重算並裁決: | 規則 | 語義 | 對操作的意義 | |---|---|---| | PROV-5 | head meta 的 `dataset_sha256` 必須等於**當前 base** 的 canonical SHA | daily sync 讓在途 PR 變紅(born-stale);用 `meta-rebase`(手動、model-free)重蓋,不重跑模型 | | changed 集合 | head 對 base「新增+內容變更」的 annotation,逐筆重算 fingerprint/OID/metadata/config 驗證 | 逐筆錯 → 逐筆違規列出 | | PROV-8 | `changed.length ≤ max_total_per_run`——**prune 不計入** | prune-only PR 是 changed=0,天然過 budget | | PROV-6 | prune 只在「該 node 已離開 canonical dataset」時合法;prune 仍在的 node =違規 | removed-star 生命週期的 gate 端權威 | | metadata-only 拒絕 | annotations bytes 沒變、只動 meta =拒 | 防 timestamp/metadata churn;真 prune 有 bytes 變化、不受影響 | | generated_at 規則 | 內容沒變不得只改 generated_at | assembler