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 的步骤执行。不要添加额外的安全检查——钩子和此技能必须保持行为一致,否则会导致状态未定义。
此技能不做什么
- 不修改审计条目。条目一旦写入暂存区即为只追加。
- 不从远程追踪仓库中删除。如果推送了错误条目,修正方法是通过哈希引用该错误条目添加新条目——绝不能重写。
- 不重新配置远程仓库。
CCAUDIT_TRAIL_REPO从此技能的角度是只读的。