audit-flush
手動對應的 Stop 掛鉤。相同邏輯,按需呼叫。
使用時機
- 使用者要求檢視暫存的稽核條目,在自動刷新前進行檢查。
- 使用者想要重試因先前失敗(秘密洩露或推送錯誤)而移至
$CCAUDIT_PENDING_DIR的條目。 - 自動刷新已停用(
CCAUDIT_MANUAL=1),必須明確刷新條目。 - 使用者需要一份書面記錄,證明「<使用者>已於時間 X 檢查並核准此次刷新」——執行
/audit-flush會留下追蹤紀錄(提交作者與時間戳),這是無人值守的 Stop 掛鉤無法做到的。
旗標
| 旗標 | 行為 |
|---|---|
| (無) | 與 hooks/auto-flush.sh 相同的流程:掃描、檢查秘密、推送、清除暫存區。 |
--dry-run | 列出將被刷新的內容,退出而不修改任何東西。 |
--force | 除了暫存區外,也包含 $CCAUDIT_PENDING_DIR 的內容;重試所有項目。 |
程序
請依照 skills/audit-flush/procedure.md 的步驟逐步執行。請勿自行添加額外的安全檢查——掛鉤與此技能必須保持行為一致,否則差異會導致未定義狀態。
此技能不執行的操作
- 不修改稽核條目。條目一旦寫入暫存區,即為附加(append-only)。
- 不從遠端軌跡儲存庫中刪除。若推入了錯誤條目,修正方式是以其雜湊值參照錯誤條目來新增一條新紀錄——絕不重寫。
- 不重新設定遠端儲存庫。從此技能的視角來看,
CCAUDIT_TRAIL_REPO為唯讀。