---
id: ka-guidance-操作安全纪律
kind: guidance
title: 操作安全纪律
sync_policy: engine_only
status: active
triggers:
  - 删除
  - 清理
  - 清空
  - 删表
  - 迁移
  - 重建
  - 改表
  - 回滚
  - 审计
  - 破坏性
  - truncate
  - drop
extra:
  name: operation-safety-discipline
  scope:
    - '*'
  products:
    - '*'
  category: constraint
  version: 1.0.0
  last_reviewed: '2026-09-15'
  verification_layer: L2
  stage: _global
  owner_mechanism: ka-guidance
---

# 操作安全纪律（破坏性操作防御）

> 破坏性操作的「以为会影响 A」是事故的最大来源——动手前用只读命令核对全集，动手时给自己留退路。每条含纪律、实证与可机械执行的动作。

## 破坏性操作前现场复核

- 纪律：删码/删记录/改 schema/清目录前，必须先用只读命令核对将影响的全集。
- 实证：同会话三次踩坑（正则删码吞掉类声明/删字段正则静默未匹配险些提交空改动/177 库误删 4 条活迁移记录），第三次后此纪律升级为硬性——「我记得内容」不是核对。
- 动作：执行破坏性命令前，先跑一次只读清点并把它贴出来——删码前 `ls`+`grep` 目标全集、删记录前 `SELECT COUNT(*)`+抽样、改 schema 前 `SHOW CREATE TABLE`；清点结果与预期不一致即停。

## 静态审计结论声明时效

- 纪律：快照式审计结论（覆盖率/存量统计/合规状态）必须带「截至日期 + 基于状态」，不带时效的结论按过期处理。
- 实证：静态审计在并行会话活跃期出具后迅速失真，「审计通过」被当成持续状态引用导致误判。
- 动作：输出审计结论时首行固定写「截至 YYYY-MM-DD，基于 <状态/commit>」；引用超过一天的旧结论前先重跑一次清点。

## 留档与环境矩阵

- 纪律：删除性重构前先 `cp` 留档 /tmp；不可逆 DDL 交付必须列环境矩阵。
- 实证：未入 git 的批次无基线可回退，凭上下文记忆重写=抄错风险——用户推翻决策时拷回+局部融合是唯一救径。
- 动作：删除/重构前 `cp -r <目标> /tmp/<名称>-$(date +%s)/`；DDL 交付附三列表格（已执行环境/待执行环境/每环境回滚方式），缺任何一格不交付。
