Keep the D7 matrix row deferred until compliance signoff; no gap-matrix blocker. Co-authored-by: Cursor <cursoragent@cursor.com>
3.6 KiB
3.6 KiB
title, status, created, updated, severity
| title | status | created | updated | severity |
|---|---|---|---|---|
| D7 对话数据分类盘点 | done | 2026-09-17 | 2026-09-17 | medium |
D7 对话数据分类盘点
现象
FEATURE-MATRIX「对话数据治理(D7)」为 deferred;ADR 数字 pending-compliance-signoff。W7 只盘点当前基线:会话正文、派生副本、共享 KB、日志、备份、事件敏感字段。本轮未按草案 365/180/30 天执行物理删除或备份清除。
根因分析
当前基线是「热库明文 + 软删除列预留 + 事件 ID 化」,不是已签字的留存作业。缺口是尚未实现的治理能力,不是已确认合规数字被违反。
严重度
medium(实现缺口;不升 gap-matrix blocker)
分类盘点
| 数据类 | 位置 | 形态 | 现状 |
|---|---|---|---|
| 会话正文 | chat_sessions / chat_messages.content |
热库明文 TEXT;deleted_at 列存在 |
dev 619 sessions / 3291 messages;deleted_at 全 NULL;Go 无 SET deleted_at、无 DELETE FROM chat_* |
| 派生摘要 | chat_daily_digests |
headline / key_points JSON | 0 行 |
| 向量记忆 | context_memory_chunks |
content TEXT + embedding |
102 行:project_doc 71、chat_history 24、approved_case 7。聊天派生副本会随正文留存 |
| 私密文档 | freeform_documents |
is_deleted / deleted_at + version markdown |
122 份,其中 113 已软删(聊天消息无对等写路径) |
| 共享 KB | shuimu-kb-shared / regulations |
法规 chunks,无 chat 表 | reg_documents 2907、reg_chunks 312919;与对话库隔离 |
| 事件 envelope | event_envelopes.payload BYTEA |
JSON 字段 | 4 条;keys 均为 ID/digest/summary_ref,has_content=false |
| 事件 DLQ / attempts | event_dead_letters / event_delivery_attempts |
ID + reason / error_code | DLQ 0;attempts 4;无正文列 |
| 日志 | Docker json-file 无 max-size |
应用 slog | 抽检 rebuild 日志:DSN 已 ***,无 chat content |
| 备份 | scripts/backup-system-db.sh pg_dump -Fc |
整库含 chat 明文 | 宿主机无 ./backups 目录;CI 有 backup-restore-drill |
| Agent workspace | data/dev/workspaces 150M |
非终态工作区 | 无 30 天清理作业(ADR 草案待签字) |
| FAV | final_artifacts |
1 行;consumer mode=off | 与聊天口径解耦;W6 shadow 不写 |
事件 payload 比 StaticContracts allowlist 多出 workspace_id / manifest_sha256 等 ID 字段,但仍无聊天正文。属契约收紧 follow-up,不是 Track E 正文泄漏。
违规判定
对照已签字约束(Track E ID-only 日志/DLQ、R13 出站最小化、ADR 明确「签字前禁止按数字删除」):
- 未发现已确认安全/合规基线被当前实现违反。
- 因此不写
gap-matrixblocker。 - 缺 365 天热库清理、缺聊天 soft-delete 写路径、缺字段级加密,均属 ADR 签字后的 W7 整改实现,不得在本轮当「已违规」执行删除。
关联整改
- ADR 草案: ../adr/2026-09-17-d7-chat-data-retention.md
- 签字后整改:soft-delete 写路径 → 观察窗 → 物理清理;同步清
context_memory_chunks的chat_history;备份二次批准 + delete manifest(R22)
证据
.doc/test-reports/assets/2026-09-17-w7-d7-inventory/(counts / columns / event keys / KB / logs / health)。查询只读,未 DELETE/UPDATE。
开放问题
- 合规何时签字或改数(365/180/30)?
- 聊天 UI 删除是否要与 freeform 回收站对齐?
taskrun.completedpayload 额外 ID 字段是否收紧 allowlist?