Files
Agent-System/.doc/ops/checklists/2026-09-22-d7-track-e-id-only-compliance.md
T

3.0 KiB
Raw Blame History

title, status, created, updated, related_task, related_adr, compliance
title status created updated related_task related_adr compliance
D7 Track E ID-only 合规清单(红线证据) done 2026-09-22 2026-09-22 ops/short-term/2026-09-22-redline-evidence.md adr/2026-09-17-d7-chat-data-retention.md pending-compliance-signoff

D7 Track E ID-only 合规清单

本清单只做静态/契约复验。ADR 数字仍 pending-compliance-signoff。禁止物理删除、备份清除或把 stub/SKIP 写成 retention PASS。

范围

表面 允许 禁止
事件 envelope / DLQ / reconciliation ID、digest、typed error code、allowlist 摘要(含 summary_ref) 聊天正文、prompt、markdown、原始 payload dump
应用日志 脱敏 DSN、run/plan/doc ID 消息 content
备份 整库 dump 作为运维能力存在 本轮执行 dump / 按 365 天清备份
热库 chat_* 只读盘点 / 内容编辑 UPDATE DELETE FROM chat_*、retention SET deleted_at

勾选(2026-09-22 / SHA 364ed7f1)

A. StaticContracts payload

  • 全部事件 PayloadFields 已枚举 — 证据:assets/2026-09-22-redline-evidence/d7-track-e-payload-fields.txt
  • 无 content / body / message / prompt / text / markdown — forbidden_hits=NONE
  • intent.plan.* 含 summary_ref 而非正文 — TestIntentPlanContractsOmitSensitivePayload PASS
  • YAML ↔ StaticContracts 对等 — TestRegistryParityWithYAML PASS
  • SanitizeSummary 丢弃非 allowlist 键 — TestSanitizeSummaryDropsPayload PASS

B. 热库 / 删除路径

  • Go 检索无 DELETE FROM chat_* — d7-no-physical-delete.txt
  • Go 检索无 chat retention SET deleted_at — 同上
  • 存在的 UPDATE chat_messages 为内容编辑路径,非 soft-delete 作业 — 已注明
  • 本轮未对共享/本地业务库执行 DELETE/UPDATE retention — 操作边界

C. 备份 / 日志 / workspace

  • scripts/backup-system-db.sh 使用 pg_dump -Fc 整库(含 chat 明文)— 静态阅读
  • 本轮未执行 dump、未清除备份目录
  • Agent workspace 30 天清理作业仍未实现(待 ADR 签字)— 记为缺口非违规
  • FAV final_artifacts.retention_class 与聊天口径解耦;consumer off

D. ADR / 矩阵边界

未做(明确排除)

  • 共享 PG 实时 COUNT(无本轮 DB 只读授权会话;沿用 2026-09-17 W7 计数作历史参考)
  • 按 365/180/30 物理删除或备份二次清除
  • soft-delete 写路径实现

下一步(需另授权)

  1. 合规签字或改数 → ADR accepted/signed
  2. soft-delete 写路径 → 观察窗 → 物理清理
  3. 备份清除:二次批准 + delete manifest(R22)