Files
Agent-System/.doc/ops/checklists/2026-09-22-d7-track-e-id-only-compliance.md
T
WeiCHEN bc873f4400 docs(ops): redline evidence batch without capability release
Record SWBOOT L1–L4 (no real repo write), FAV ObserveShadow gates and
observation-window prerequisites, D7 Track E ID-only checklist, and stronger
PI narrative fallback negatives while keeping all redline flags off.
2026-09-22 21:26:27 +08:00

3.7 KiB
Raw Blame History

title, status, created, updated, compliance, related_task, related_adr
title status created updated compliance related_task related_adr
D7 Track E ID-only 合规清单(无物理删除) active 2026-09-22 2026-09-22 pending-compliance-signoff ops/short-term/2026-09-22-redline-evidence.md adr/2026-09-17-d7-chat-data-retention.md

D7 Track E ID-only 合规清单

用途:在 D7 ADR 仍为 pending-compliance-signoff 期间,只做表面盘点与 ID-only 合规核对。禁止按 365/180/30 天执行物理删除或备份清除。本清单不是删除作业授权。

0. 硬约束

  • ADR 状态仍为 pending-compliance-signoff(见 ADR)
  • 本轮零 DELETE FROM chat_*、零备份清除、零 retention 作业
  • FEATURE-MATRIX「对话数据治理(D7)」保持 deferred(本批不改矩阵)
  • 合规签字或改数后,另开整改任务再勾选删除路径

1. 数据表面盘点(只读)

ID 表面 检查方法 期望 本批结果
S1 chat_sessions / chat_messages 代码检索写路径;对照 W7 计数资产 有 deleted_at 列;无物理 DELETE 写者;无 soft-delete 写路径亦可接受(缺口属签字后整改) PASS:rg 无 DELETE FROM chat_*;无 chat SET deleted_at 写者
S2 context_memory_chunks(chat_history) 对照 W7 盘点 派生副本随正文;无独立 retention 删 PASS(静态);未跑共享 SQL
S3 freeform_documents 已知 soft-delete UI 与聊天独立周期;本轮不删 PASS(不触碰)
S4 event_envelopes.payload 对照 Track E / W7 keys 无 content / 消息正文 PASS(沿用 W7:has_content=f);本批未重连 PG
S5 event_dead_letters / attempts 结构 / 既有盘点 仅 ID + reason / error_code PASS(沿用 W7)
S6 应用日志 规范 + 既有抽检 无 chat 正文;DSN 脱敏 PASS(沿用 W7);本批未 docker logs
S7 scripts/backup-system-db.sh 阅读脚本 pg_dump -Fc 整库含明文;本轮不执行 PASS:未执行 dump
S8 data/*/workspaces 目录约定 非终态;无自动 30 天清理 PASS(无作业)
S9 FAV / final_artifacts consumer mode 与聊天解耦;fav off PASS:Register(fav) fail-closed

证据基线:W7 报告、盘点审计、红线短文。

2. Track E ID-only 字段规则

日志 / DLQ / reconciliation / 对外 summary 仅允许:

允许 禁止
event_id / delivery_id / run_id / plan_id / project_id / doc_id 消息 content / prompt 全文
digest / sha256 / summary_ref 用户 PII 明文堆栈
typed error_code / allowlist 摘要键 未 allowlist 的 payload 整包
状态枚举(pending/leased/…) 备份文件路径中的密钥

核对动作:

  • events.SanitizeSummary / StaticContracts 方向:生产路径不以正文入 envelope(W7 已证 keys)
  • 发现「已签字基线被违反」才写 gap-matrix;本批未发现 → 不改 gap-matrix
  • 签字后:收紧 taskrun.completed 等额外 ID 字段 allowlist(follow-up,非 blocker)

3. 签字后才允许的整改(本清单不执行)

  1. 聊天 soft-delete 写路径 → 观察窗 → 物理清理
  2. 同步清理 context_memory_chunks 中 chat_history
  3. 备份二次批准 + 精确 delete manifest(对齐 R22)
  4. 字段级加密选型(ADR 明确首期不做默认加密)

4. 完成定义(本批)

  • 表面表 S1–S9 有结论
  • ID-only 规则成文
  • 无物理删除证据
  • ADR 仍 pending-compliance-signoff